{"kind": "language", "major": "18", "item": {"slug": "c", "name": "c", "name_zh": "", "category": "\u539f\u751f\u51fd\u6570\u8bed\u8a00", "summary": "\u8fc7\u7a0b\u8bed\u8a00 c\u3002", "aliases": [], "content_hash": "33d42776c10b2478aab81d29169b853aa1e21e39d0865ce6b4d45a06fb43459c", "versions": {"10": {"facts": [{"label": "\u79cd\u7c7b", "value": "\u539f\u751f\u51fd\u6570\u8bed\u8a00"}, {"label": "\u53ef\u4fe1", "value": "f"}, {"label": "\u6821\u9a8c\u51fd\u6570", "value": "fmgr_c_validator"}], "tables": [], "aliases": [], "catalog": {"oid": "13", "descr": "dynamically-loaded C functions", "lanacl": "_null_", "lanispl": "f", "lanname": "c", "lanowner": "PGUID", "laninline": "0", "lanpltrusted": "f", "lanvalidator": "2247", "lanplcallfoid": "0"}, "related": [], "release": {"ref": "https://ftp.postgresql.org/pub/source/v10.23/postgresql-10.23.tar.bz2", "label": "10.23", "major": "10", "channel": "historical", "revision": "94a4b2528372458e5662c18d406629266667c437198160a18cdfd2c4a4d6eee9", "source_sha256": "94a4b2528372458e5662c18d406629266667c437198160a18cdfd2c4a4d6eee9", "catalog_fingerprint": "691be281b476dde4374d7f805b2bacc2e75bdef40f1e9d3d42e91f97fe95cfd0"}, "sources": [{"url": "https://ftp.postgresql.org/pub/source/v10.23/postgresql-10.23.tar.bz2", "label": "Matching PostgreSQL source archive", "sha256": "94a4b2528372458e5662c18d406629266667c437198160a18cdfd2c4a4d6eee9"}, {"url": "/docs/10/xfunc-c.html", "path": "xfunc-c.html", "label": "PostgreSQL 10 English manual", "sha256": "038a55caa67446d85698e7834d7f6bc9499f45b994f586e77faa8d5f607cb813"}], "zh_from": {"kind": "same-version-chinese-manual-with-source-derived-structured-summary", "manual": {"url": "/zh/docs/10/xfunc-c.html", "anchor": "", "locale": "zh-Hans", "version": "10", "build_id": 63, "page_key": "xfunc-c.html", "extraction": "concept-introduction", "source_hash": "f7e05869502a4ed19aa2a22c98e0516cb99a61d307bcd13673cb31f29d487769", "fragment_sha256": "768230781484754db103a450d931aa4e79ee2a248976866e23d042276add34b1", "source_revision": "unknown:rendered-translation-baseline", "translation_revision": "snapshot:sha256:62997ea80516ad012fbf6359de33f3b016b54c47e2df76e75606116b4baaf8e5", "translated_from_revision": null}, "body_sha256": "06a232001b3b400b5d3df05aa1004b4e5a1c32deb34a37f6ea577e754f4da1ea", "runtime_rerun": false, "authored_translation": "source-derived-structured-summary", "source_facts_revision": "94a4b2528372458e5662c18d406629266667c437198160a18cdfd2c4a4d6eee9"}, "facts_zh": [{"label": "\u79cd\u7c7b", "value": "\u539f\u751f\u51fd\u6570\u8bed\u8a00"}, {"label": "\u53ef\u4fe1", "value": "f"}, {"label": "\u6821\u9a8c\u51fd\u6570", "value": "fmgr_c_validator"}], "sections": [], "center_zh": {"title": "c", "locale": "zh-Hans", "source": {"key": "c", "locale": "zh-Hans", "version": "10", "text_hash": "6cb8b8d489aab613ec04ba3e6734bc2bb759e4870b3fa10d33c28d3d58645eb8", "collection": "language", "dataset_hash": "7c31b524dfe136022d39a6ae8dcfac6b3bbd5f8fdaf422536599981252aff0c9", "source_database": "center", "source_revision": "94a4b2528372458e5662c18d406629266667c437198160a18cdfd2c4a4d6eee9"}, "payload": {"facts": [{"label": "\u79cd\u7c7b", "value": "\u539f\u751f\u51fd\u6570\u8bed\u8a00"}, {"label": "\u53ef\u4fe1", "value": "f"}, {"label": "\u6821\u9a8c\u51fd\u6570", "value": "fmgr_c_validator"}], "tables": [], "zh_from": {"kind": "same-version-chinese-manual-with-source-derived-structured-summary", "manual": {"url": "/zh/docs/10/xfunc-c.html", "anchor": "", "locale": "zh-Hans", "version": "10", "build_id": 63, "page_key": "xfunc-c.html", "extraction": "concept-introduction", "source_hash": "f7e05869502a4ed19aa2a22c98e0516cb99a61d307bcd13673cb31f29d487769", "fragment_sha256": "768230781484754db103a450d931aa4e79ee2a248976866e23d042276add34b1", "source_revision": "unknown:rendered-translation-baseline", "translation_revision": "snapshot:sha256:62997ea80516ad012fbf6359de33f3b016b54c47e2df76e75606116b4baaf8e5", "translated_from_revision": null}, "body_sha256": "06a232001b3b400b5d3df05aa1004b4e5a1c32deb34a37f6ea577e754f4da1ea", "runtime_rerun": false, "authored_translation": "source-derived-structured-summary", "source_facts_revision": "94a4b2528372458e5662c18d406629266667c437198160a18cdfd2c4a4d6eee9"}, "sections": [], "description_zh": "\u8fc7\u7a0b\u8bed\u8a00 c\u3002", "description_zh_html": "<p>\u8fc7\u7a0b\u8bed\u8a00 c\u3002</p><dl><dt>\u53d7\u4fe1\u4efb</dt><dd><code>\u5426</code></dd><dt>\u9a8c\u8bc1\u51fd\u6570</dt><dd><code>fmgr_c_validator</code></dd></dl><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u8282\u9009</h3><p>    \u7528\u6237\u5b9a\u4e49\u7684\u51fd\u6570\u53ef\u4ee5\u7528 C \u7f16\u5199\uff08\u6216\u8005\u53ef\u4ee5\u4e0e C \u517c\u5bb9\u7684\u8bed\u8a00\uff0c\u4f8b\u5982 C++\uff09\u3002\u8fd9\u7c7b\u51fd\u6570\u88ab\u7f16\u8bd1\u6210\u52a8\u6001\u8f7d\u5165\u5bf9\u8c61\uff08\u4e5f\u88ab\u79f0\u4e3a\u5171\u4eab\u5e93\uff09\u5e76\u4e14\u7531\u670d\u52a1\u5668\u5728\u9700\u8981\u65f6\u8f7d\u5165\u3002\u52a8\u6001\u8f7d\u5165\u662f\u628a<span class=\"quote\">\u201c<span class=\"quote\">C \u8bed\u8a00</span>\u201d</span>\u51fd\u6570\u548c<span class=\"quote\">\u201c<span class=\"quote\">\u5185\u90e8</span>\u201d</span>\u51fd\u6570\u533a\u5206\u5f00\u7684\u7279\u6027 \u2014 \u4e24\u8005\u771f\u6b63\u7684\u7f16\u7801\u4e60\u60ef\u5b9e\u9645\u4e0a\u662f\u4e00\u6837\u7684\uff08\u56e0\u6b64\uff0c\u6807\u51c6\u5185\u90e8\u51fd\u6570\u5e93\u4e3a\u7528\u6237\u5b9a\u4e49\u7684 C \u51fd\u6570\u63d0\u4f9b\u4e86\u4e30\u5bcc\u7684\u7f16\u7801\u793a\u4f8b\uff09\u3002\n   </p><p>    \u5f53\u524d\u4ec5\u6709\u4e00\u79cd\u8c03\u7528\u7ea6\u5b9a\u88ab\u7528\u4e8e C \u51fd\u6570\uff08<span class=\"quote\">\u201c<span class=\"quote\">\u7248\u672c 1</span>\u201d</span>\uff09\u3002\u5982\u4e0b\u6587\u6240\u793a\uff0c\u4e3a\u51fd\u6570\u7f16\u5199\u4e00\u4e2a <code class=\"literal\">PG_FUNCTION_INFO_V1()</code> \u5b8f\u5c31\u80fd\u6307\u793a\u5bf9\u8be5\u8c03\u7528\u7ea6\u5b9a\u7684\u652f\u6301\u3002\n   </p><p><a href=\"/zh/docs/10/xfunc-c.html\">\u67e5\u770b\u5b8c\u6574\u4e2d\u6587\u624b\u518c\u4e0e\u4e0a\u4e0b\u6587</a>\u3002</p>"}, "summary": "\u8fc7\u7a0b\u8bed\u8a00 c\u3002", "version": "10", "link_map": {"/zh/docs/10/xfunc-c.html": "/docs/10/xfunc-c.html"}, "body_html": "<p>\u8fc7\u7a0b\u8bed\u8a00 c\u3002</p><dl><dt>\u53d7\u4fe1\u4efb</dt><dd><code>\u5426</code></dd><dt>\u9a8c\u8bc1\u51fd\u6570</dt><dd><code>fmgr_c_validator</code></dd></dl><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u8282\u9009</h3><p>    \u7528\u6237\u5b9a\u4e49\u7684\u51fd\u6570\u53ef\u4ee5\u7528 C \u7f16\u5199\uff08\u6216\u8005\u53ef\u4ee5\u4e0e C \u517c\u5bb9\u7684\u8bed\u8a00\uff0c\u4f8b\u5982 C++\uff09\u3002\u8fd9\u7c7b\u51fd\u6570\u88ab\u7f16\u8bd1\u6210\u52a8\u6001\u8f7d\u5165\u5bf9\u8c61\uff08\u4e5f\u88ab\u79f0\u4e3a\u5171\u4eab\u5e93\uff09\u5e76\u4e14\u7531\u670d\u52a1\u5668\u5728\u9700\u8981\u65f6\u8f7d\u5165\u3002\u52a8\u6001\u8f7d\u5165\u662f\u628a<span>\u201c<span>C \u8bed\u8a00</span>\u201d</span>\u51fd\u6570\u548c<span>\u201c<span>\u5185\u90e8</span>\u201d</span>\u51fd\u6570\u533a\u5206\u5f00\u7684\u7279\u6027 \u2014 \u4e24\u8005\u771f\u6b63\u7684\u7f16\u7801\u4e60\u60ef\u5b9e\u9645\u4e0a\u662f\u4e00\u6837\u7684\uff08\u56e0\u6b64\uff0c\u6807\u51c6\u5185\u90e8\u51fd\u6570\u5e93\u4e3a\u7528\u6237\u5b9a\u4e49\u7684 C \u51fd\u6570\u63d0\u4f9b\u4e86\u4e30\u5bcc\u7684\u7f16\u7801\u793a\u4f8b\uff09\u3002\n   </p><p>    \u5f53\u524d\u4ec5\u6709\u4e00\u79cd\u8c03\u7528\u7ea6\u5b9a\u88ab\u7528\u4e8e C \u51fd\u6570\uff08<span>\u201c<span>\u7248\u672c 1</span>\u201d</span>\uff09\u3002\u5982\u4e0b\u6587\u6240\u793a\uff0c\u4e3a\u51fd\u6570\u7f16\u5199\u4e00\u4e2a <code>PG_FUNCTION_INFO_V1()</code> \u5b8f\u5c31\u80fd\u6307\u793a\u5bf9\u8be5\u8c03\u7528\u7ea6\u5b9a\u7684\u652f\u6301\u3002\n   </p><p><a href=\"/zh/docs/10/xfunc-c.html\" rel=\"nofollow\">\u67e5\u770b\u5b8c\u6574\u4e2d\u6587\u624b\u518c\u4e0e\u4e0a\u4e0b\u6587</a>\u3002</p>", "body_sha256": "842c0e88fafa3c54ffc60891c8221be02ca813151c16715a4e94368321903104", "content_hash": "6cb8b8d489aab613ec04ba3e6734bc2bb759e4870b3fa10d33c28d3d58645eb8", "source_database": "center", "source_revision": "94a4b2528372458e5662c18d406629266667c437198160a18cdfd2c4a4d6eee9"}, "signature": "", "tables_zh": [], "attributes": {"kind": "Native function language", "handler": "", "trusted": "f", "validator": "fmgr_c_validator"}, "description": ["\u8fc7\u7a0b\u8bed\u8a00 c\u3002"], "manual_html": "", "manual_path": "/docs/10/xfunc-c.html", "sections_zh": [], "localization": {"status": "complete", "sources": [{"url": "/docs/10/xfunc-c.html", "method": "same-major semantic node", "sha256": "0df98937379292051379860f0a86609d1855b9c9df04dfb53c02ec0380079453", "language": "zh", "matched_nodes": ["#XFUNC-C/div[0]", "#XFUNC-C/div[10]/p[10]", "#XFUNC-C/div[10]/p[1]", "#XFUNC-C/div[10]/p[2]", "#XFUNC-C/div[10]/p[6]", "#XFUNC-C/div[10]/p[7]", "#XFUNC-C/div[10]/p[8]", "#XFUNC-C/div[11]/div[7]/p[1]", "#XFUNC-C/div[11]/div[8]/p[1]", "#XFUNC-C/div[11]/p[11]", "#XFUNC-C/div[11]/p[13]", "#XFUNC-C/div[11]/p[14]", "#XFUNC-C/div[11]/p[16]", "#XFUNC-C/div[11]/p[18]", "#XFUNC-C/div[11]/p[19]", "#XFUNC-C/div[11]/p[1]", "#XFUNC-C/div[11]/p[21]", "#XFUNC-C/div[11]/p[22]", "#XFUNC-C/div[11]/p[24]", "#XFUNC-C/div[11]/p[25]", "#XFUNC-C/div[11]/p[27]", "#XFUNC-C/div[11]/p[28]", "#XFUNC-C/div[11]/p[3]", "#XFUNC-C/div[11]/p[4]", "#XFUNC-C/div[11]/p[6]", "#XFUNC-C/div[11]/p[9]", "#XFUNC-C/div[12]/div[19]/p[1]", "#XFUNC-C/div[12]/p[10]", "#XFUNC-C/div[12]/p[12]", "#XFUNC-C/div[12]/p[13]", "#XFUNC-C/div[12]/p[15]", "#XFUNC-C/div[12]/p[20]", "#XFUNC-C/div[12]/p[22]", "#XFUNC-C/div[12]/p[24]", "#XFUNC-C/div[12]/p[26]", "#XFUNC-C/div[12]/p[28]", "#XFUNC-C/div[12]/p[2]", "#XFUNC-C/div[12]/p[3]", "#XFUNC-C/div[12]/p[4]", "#XFUNC-C/div[12]/p[6]", "#XFUNC-C/div[12]/p[8]", "#XFUNC-C/div[13]/p[1]", "#XFUNC-C/div[13]/p[2]", "#XFUNC-C/div[13]/p[4]", "#XFUNC-C/div[13]/p[6]", "#XFUNC-C/div[14]/p[1]", "#XFUNC-C/div[14]/p[2]", "#XFUNC-C/div[14]/p[3]", "#XFUNC-C/div[15]/p[1]", "#XFUNC-C/div[15]/p[3]", "#XFUNC-C/div[15]/p[6]", "#XFUNC-C/div[16]/div[3]/ul[0]/li[0]", "#XFUNC-C/div[16]/div[3]/ul[0]/li[1]", "#XFUNC-C/div[16]/div[3]/ul[0]/li[2]", "#XFUNC-C/div[16]/p[2]", "#XFUNC-C/div[16]/p[4]", "#XFUNC-C/div[1]/dl[0]/dt[0]", "#XFUNC-C/div[1]/dl[0]/dt[10]", "#XFUNC-C/div[1]/dl[0]/dt[11]", "#XFUNC-C/div[1]/dl[0]/dt[1]", "#XFUNC-C/div[1]/dl[0]/dt[2]", "#XFUNC-C/div[1]/dl[0]/dt[3]", "#XFUNC-C/div[1]/dl[0]/dt[4]", "#XFUNC-C/div[1]/dl[0]/dt[5]", "#XFUNC-C/div[1]/dl[0]/dt[6]", "#XFUNC-C/div[1]/dl[0]/dt[7]", "#XFUNC-C/div[1]/dl[0]/dt[8]", "#XFUNC-C/div[1]/dl[0]/dt[9]", "#XFUNC-C/div[5]/div[4]/ol[0]/li[0]", "#XFUNC-C/div[5]/div[4]/ol[0]/li[1]", "#XFUNC-C/div[5]/div[4]/ol[0]/li[2]", "#XFUNC-C/div[5]/div[4]/ol[0]/li[3]", "#XFUNC-C/div[5]/div[9]/h3[0]", "#XFUNC-C/div[5]/div[9]/p[1]", "#XFUNC-C/div[5]/p[13]", "#XFUNC-C/div[5]/p[14]", "#XFUNC-C/div[5]/p[19]", "#XFUNC-C/div[5]/p[2]", "#XFUNC-C/div[5]/p[3]", "#XFUNC-C/div[5]/p[5]", "#XFUNC-C/div[5]/p[6]", "#XFUNC-C/div[5]/p[7]", "#XFUNC-C/div[5]/p[8]", "#XFUNC-C/div[6]/div[13]/h3[0]", "#XFUNC-C/div[6]/div[13]/p[1]", "#XFUNC-C/div[6]/div[21]/div[1]/table[0]/tbody[2]/tr[1]/td[2]", "#XFUNC-C/div[6]/div[21]/div[1]/table[0]/tbody[2]/tr[4]/td[2]", "#XFUNC-C/div[6]/div[21]/div[1]/table[0]/thead[1]/tr[0]/th[0]", "#XFUNC-C/div[6]/div[21]/div[1]/table[0]/thead[1]/tr[0]/th[1]", "#XFUNC-C/div[6]/div[21]/p[0]", "#XFUNC-C/div[6]/div[4]/ul[0]/li[0]", "#XFUNC-C/div[6]/div[4]/ul[0]/li[1]", "#XFUNC-C/div[6]/div[4]/ul[0]/li[2]", "#XFUNC-C/div[6]/p[10]", "#XFUNC-C/div[6]/p[11]", "#XFUNC-C/div[6]/p[12]", "#XFUNC-C/div[6]/p[14]", "#XFUNC-C/div[6]/p[16]", "#XFUNC-C/div[6]/p[17]", "#XFUNC-C/div[6]/p[19]", "#XFUNC-C/div[6]/p[20]", "#XFUNC-C/div[6]/p[20]/span[2]/span[0]", "#XFUNC-C/div[6]/p[23]", "#XFUNC-C/div[6]/p[2]", "#XFUNC-C/div[6]/p[3]", "#XFUNC-C/div[6]/p[5]", "#XFUNC-C/div[6]/p[7]", "#XFUNC-C/div[6]/p[8]", "#XFUNC-C/div[7]/p[12]", "#XFUNC-C/div[7]/p[13]", "#XFUNC-C/div[7]/p[14]", "#XFUNC-C/div[7]/p[16]", "#XFUNC-C/div[7]/p[1]", "#XFUNC-C/div[7]/p[3]", "#XFUNC-C/div[7]/p[5]", "#XFUNC-C/div[7]/p[6]", "#XFUNC-C/div[7]/p[9]", "#XFUNC-C/div[8]/div[3]/ul[0]/li[0]", "#XFUNC-C/div[8]/div[3]/ul[0]/li[1]", "#XFUNC-C/div[8]/div[3]/ul[0]/li[2]", "#XFUNC-C/div[8]/div[3]/ul[0]/li[3]", "#XFUNC-C/div[8]/div[3]/ul[0]/li[4]", "#XFUNC-C/div[8]/div[3]/ul[0]/li[5]", "#XFUNC-C/div[8]/div[3]/ul[0]/li[6]", "#XFUNC-C/div[8]/p[1]", "#XFUNC-C/div[8]/p[2]", "#XFUNC-C/div[9]/div[5]/dl[0]/dd[11]/p[0]", "#XFUNC-C/div[9]/div[5]/dl[0]/dd[13]/p[0]", "#XFUNC-C/div[9]/div[5]/dl[0]/dd[13]/p[2]", "#XFUNC-C/div[9]/div[5]/dl[0]/dd[1]/p[0]", "#XFUNC-C/div[9]/div[5]/dl[0]/dd[1]/p[2]", "#XFUNC-C/div[9]/div[5]/dl[0]/dd[3]/p[0]", "#XFUNC-C/div[9]/div[5]/dl[0]/dd[3]/p[2]", "#XFUNC-C/div[9]/div[5]/dl[0]/dd[3]/p[4]", "#XFUNC-C/div[9]/div[5]/dl[0]/dd[3]/p[6]", "#XFUNC-C/div[9]/div[5]/dl[0]/dd[5]/p[0]", "#XFUNC-C/div[9]/div[5]/dl[0]/dd[7]/p[0]", "#XFUNC-C/div[9]/div[5]/dl[0]/dd[9]/p[0]", "#XFUNC-C/div[9]/div[6]/h3[0]", "#XFUNC-C/div[9]/div[6]/p[1]", "#XFUNC-C/div[9]/p[1]", "#XFUNC-C/div[9]/p[2]", "#XFUNC-C/div[9]/p[4]", "#XFUNC-C/div[9]/p[7]", "#XFUNC-C/div[9]/p[8]", "#XFUNC-C/p[3]"]}], "language": "zh", "original_text": {"/versions/10/description/0": "dynamically-loaded C functions", "/versions/10/facts/0/label": "Kind", "/versions/10/facts/0/value": "Native function language", "/versions/10/facts/1/label": "Trusted", "/versions/10/facts/2/label": "Validator"}, "fallback_fields": [], "source_language": "en", "original_snapshot_sha256": "6dcdb7120d588afff61e7662868e9cd925a1b2b3ec91d8b5a69bd0775c53ede3", "canonical_center_text_hash": "6cb8b8d489aab613ec04ba3e6734bc2bb759e4870b3fa10d33c28d3d58645eb8"}, "description_zh": "\u8fc7\u7a0b\u8bed\u8a00 c\u3002", "comparison_data": {"kind": "Native function language", "handler": "", "trusted": "f", "validator": "fmgr_c_validator"}, "comparison_hash": "e8a219c1a26602affef41a21da26d099cf721ba42739cb7b056898c9e2d6fbe6", "manual_language": "zh", "description_zh_html": "<p>\u8fc7\u7a0b\u8bed\u8a00 c\u3002</p><dl><dt>\u53d7\u4fe1\u4efb</dt><dd><code>\u5426</code></dd><dt>\u9a8c\u8bc1\u51fd\u6570</dt><dd><code>fmgr_c_validator</code></dd></dl><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u8282\u9009</h3><p>    \u7528\u6237\u5b9a\u4e49\u7684\u51fd\u6570\u53ef\u4ee5\u7528 C \u7f16\u5199\uff08\u6216\u8005\u53ef\u4ee5\u4e0e C \u517c\u5bb9\u7684\u8bed\u8a00\uff0c\u4f8b\u5982 C++\uff09\u3002\u8fd9\u7c7b\u51fd\u6570\u88ab\u7f16\u8bd1\u6210\u52a8\u6001\u8f7d\u5165\u5bf9\u8c61\uff08\u4e5f\u88ab\u79f0\u4e3a\u5171\u4eab\u5e93\uff09\u5e76\u4e14\u7531\u670d\u52a1\u5668\u5728\u9700\u8981\u65f6\u8f7d\u5165\u3002\u52a8\u6001\u8f7d\u5165\u662f\u628a<span>\u201c<span>C \u8bed\u8a00</span>\u201d</span>\u51fd\u6570\u548c<span>\u201c<span>\u5185\u90e8</span>\u201d</span>\u51fd\u6570\u533a\u5206\u5f00\u7684\u7279\u6027 \u2014 \u4e24\u8005\u771f\u6b63\u7684\u7f16\u7801\u4e60\u60ef\u5b9e\u9645\u4e0a\u662f\u4e00\u6837\u7684\uff08\u56e0\u6b64\uff0c\u6807\u51c6\u5185\u90e8\u51fd\u6570\u5e93\u4e3a\u7528\u6237\u5b9a\u4e49\u7684 C \u51fd\u6570\u63d0\u4f9b\u4e86\u4e30\u5bcc\u7684\u7f16\u7801\u793a\u4f8b\uff09\u3002\n   </p><p>    \u5f53\u524d\u4ec5\u6709\u4e00\u79cd\u8c03\u7528\u7ea6\u5b9a\u88ab\u7528\u4e8e C \u51fd\u6570\uff08<span>\u201c<span>\u7248\u672c 1</span>\u201d</span>\uff09\u3002\u5982\u4e0b\u6587\u6240\u793a\uff0c\u4e3a\u51fd\u6570\u7f16\u5199\u4e00\u4e2a <code>PG_FUNCTION_INFO_V1()</code> \u5b8f\u5c31\u80fd\u6307\u793a\u5bf9\u8be5\u8c03\u7528\u7ea6\u5b9a\u7684\u652f\u6301\u3002\n   </p><p><a href=\"/zh/docs/10/xfunc-c.html\" rel=\"nofollow\">\u67e5\u770b\u5b8c\u6574\u4e2d\u6587\u624b\u518c\u4e0e\u4e0a\u4e0b\u6587</a>\u3002</p>"}, "11": {"facts": [{"label": "\u79cd\u7c7b", "value": "\u539f\u751f\u51fd\u6570\u8bed\u8a00"}, {"label": "\u53ef\u4fe1", "value": "f"}, {"label": "\u6821\u9a8c\u51fd\u6570", "value": "fmgr_c_validator"}], "tables": [], "aliases": [], "catalog": {"oid": "13", "descr": "dynamically-loaded C functions", "lanacl": "_null_", "lanispl": "f", "lanname": "c", "lanowner": "PGUID", "laninline": "0", "oid_symbol": "ClanguageId", "lanpltrusted": "f", "lanvalidator": "fmgr_c_validator", "lanplcallfoid": "0"}, "related": [], "release": {"ref": "https://ftp.postgresql.org/pub/source/v11.22/postgresql-11.22.tar.bz2", "label": "11.22", "major": "11", "channel": "historical", "revision": "2cb7c97d7a0d7278851bbc9c61f467b69c094c72b81740b751108e7892ebe1f0", "source_sha256": "2cb7c97d7a0d7278851bbc9c61f467b69c094c72b81740b751108e7892ebe1f0", "catalog_fingerprint": "8f21f4444b7f68923f4762af0eb7937fa2907026e91249483e79050de012c901"}, "sources": [{"url": "https://ftp.postgresql.org/pub/source/v11.22/postgresql-11.22.tar.bz2", "label": "Matching PostgreSQL source archive", "sha256": "2cb7c97d7a0d7278851bbc9c61f467b69c094c72b81740b751108e7892ebe1f0"}, {"url": "/docs/11/xfunc-c.html", "path": "xfunc-c.html", "label": "PostgreSQL 11 English manual", "sha256": "9e1cd39e5b6e7b390fd9b89de261253773c874a029e0a7369932ac5c75211b2c"}], "zh_from": {"kind": "same-version-chinese-manual-with-source-derived-structured-summary", "manual": {"url": "/zh/docs/11/xfunc-c.html", "anchor": "", "locale": "zh-Hans", "version": "11", "build_id": 64, "page_key": "xfunc-c.html", "extraction": "concept-introduction", "source_hash": "ff76053950ec0f7f49eccdc9818882d026b3357b09ececc6ea83a37dee4537d0", "fragment_sha256": "5c62a4cdf3760f946fb5dacce6f317d43425c53eeb0bcd7a7e8f6b17ea70f850", "source_revision": "unknown:rendered-translation-baseline", "translation_revision": "snapshot:sha256:ef5c7bc074acae9795db16e6b7482aea3b222bd4bcce0f76831332b97a21e8a1", "translated_from_revision": null}, "body_sha256": "a67814e9b53704490c6504a7ab237f7ca05768a4c11399fc2d811970cff430b7", "runtime_rerun": false, "authored_translation": "source-derived-structured-summary", "source_facts_revision": "2cb7c97d7a0d7278851bbc9c61f467b69c094c72b81740b751108e7892ebe1f0"}, "facts_zh": [{"label": "\u79cd\u7c7b", "value": "\u539f\u751f\u51fd\u6570\u8bed\u8a00"}, {"label": "\u53ef\u4fe1", "value": "f"}, {"label": "\u6821\u9a8c\u51fd\u6570", "value": "fmgr_c_validator"}], "sections": [], "center_zh": {"title": "c", "locale": "zh-Hans", "source": {"key": "c", "locale": "zh-Hans", "version": "11", "text_hash": "9fe9675ef8140bbbd0543ac8be98f9c922c123518f68a0b38366ab7972e48200", "collection": "language", "dataset_hash": "7c31b524dfe136022d39a6ae8dcfac6b3bbd5f8fdaf422536599981252aff0c9", "source_database": "center", "source_revision": "2cb7c97d7a0d7278851bbc9c61f467b69c094c72b81740b751108e7892ebe1f0"}, "payload": {"facts": [{"label": "\u79cd\u7c7b", "value": "\u539f\u751f\u51fd\u6570\u8bed\u8a00"}, {"label": "\u53ef\u4fe1", "value": "f"}, {"label": "\u6821\u9a8c\u51fd\u6570", "value": "fmgr_c_validator"}], "tables": [], "zh_from": {"kind": "same-version-chinese-manual-with-source-derived-structured-summary", "manual": {"url": "/zh/docs/11/xfunc-c.html", "anchor": "", "locale": "zh-Hans", "version": "11", "build_id": 64, "page_key": "xfunc-c.html", "extraction": "concept-introduction", "source_hash": "ff76053950ec0f7f49eccdc9818882d026b3357b09ececc6ea83a37dee4537d0", "fragment_sha256": "5c62a4cdf3760f946fb5dacce6f317d43425c53eeb0bcd7a7e8f6b17ea70f850", "source_revision": "unknown:rendered-translation-baseline", "translation_revision": "snapshot:sha256:ef5c7bc074acae9795db16e6b7482aea3b222bd4bcce0f76831332b97a21e8a1", "translated_from_revision": null}, "body_sha256": "a67814e9b53704490c6504a7ab237f7ca05768a4c11399fc2d811970cff430b7", "runtime_rerun": false, "authored_translation": "source-derived-structured-summary", "source_facts_revision": "2cb7c97d7a0d7278851bbc9c61f467b69c094c72b81740b751108e7892ebe1f0"}, "sections": [], "description_zh": "\u8fc7\u7a0b\u8bed\u8a00 c\u3002", "description_zh_html": "<p>\u8fc7\u7a0b\u8bed\u8a00 c\u3002</p><dl><dt>\u53d7\u4fe1\u4efb</dt><dd><code>\u5426</code></dd><dt>\u9a8c\u8bc1\u51fd\u6570</dt><dd><code>fmgr_c_validator</code></dd></dl><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u8282\u9009</h3><p>\n    \u7528\u6237\u5b9a\u4e49\u7684\u51fd\u6570\u53ef\u4ee5\u7528 C \u7f16\u5199\uff08\u6216\u8005\u53ef\u4ee5\u4e0e C \u517c\u5bb9\u7684\u8bed\u8a00\uff0c\u4f8b\u5982 C++\uff09\u3002\u8fd9\u7c7b\u51fd\u6570\u88ab\u7f16\u8bd1\u6210\u52a8\u6001\u8f7d\u5165\u5bf9\u8c61\uff08\u4e5f\u88ab\u79f0\u4e3a\u5171\u4eab\u5e93\uff09\u5e76\u4e14\u7531\u670d\u52a1\u5668\u5728\u9700\u8981\u65f6\u8f7d\u5165\u3002\u52a8\u6001\u8f7d\u5165\u662f\u628a<span class=\"quote\">\u201c<span class=\"quote\">C \u8bed\u8a00</span>\u201d</span>\u51fd\u6570\u548c<span class=\"quote\">\u201c<span class=\"quote\">\u5185\u90e8</span>\u201d</span>\u51fd\u6570\u533a\u5206\u5f00\u7684\u7279\u6027 \u2014 \u4e24\u8005\u771f\u6b63\u7684\u7f16\u7801\u4e60\u60ef\u5b9e\u9645\u4e0a\u662f\u4e00\u6837\u7684\uff08\u56e0\u6b64\uff0c\u6807\u51c6\u5185\u90e8\u51fd\u6570\u5e93\u4e3a\u7528\u6237\u5b9a\u4e49\u7684 C \u51fd\u6570\u63d0\u4f9b\u4e86\u4e30\u5bcc\u7684\u7f16\u7801\u793a\u4f8b\uff09\u3002\n   </p><p>\n    \u5f53\u524d\u4ec5\u6709\u4e00\u79cd\u8c03\u7528\u7ea6\u5b9a\u88ab\u7528\u4e8e C \u51fd\u6570\uff08<span class=\"quote\">\u201c<span class=\"quote\">\u7248\u672c 1</span>\u201d</span>\uff09\u3002\u5982\u4e0b\u6587\u6240\u793a\uff0c\u4e3a\u51fd\u6570\u7f16\u5199\u4e00\u4e2a <code class=\"literal\">PG_FUNCTION_INFO_V1()</code> \u5b8f\u5c31\u80fd\u6307\u793a\u5bf9\u8be5\u8c03\u7528\u7ea6\u5b9a\u7684\u652f\u6301\u3002\n   </p><p><a href=\"/zh/docs/11/xfunc-c.html\">\u67e5\u770b\u5b8c\u6574\u4e2d\u6587\u624b\u518c\u4e0e\u4e0a\u4e0b\u6587</a>\u3002</p>"}, "summary": "\u8fc7\u7a0b\u8bed\u8a00 c\u3002", "version": "11", "link_map": {"/zh/docs/11/xfunc-c.html": "/docs/11/xfunc-c.html"}, "body_html": "<p>\u8fc7\u7a0b\u8bed\u8a00 c\u3002</p><dl><dt>\u53d7\u4fe1\u4efb</dt><dd><code>\u5426</code></dd><dt>\u9a8c\u8bc1\u51fd\u6570</dt><dd><code>fmgr_c_validator</code></dd></dl><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u8282\u9009</h3><p>\n    \u7528\u6237\u5b9a\u4e49\u7684\u51fd\u6570\u53ef\u4ee5\u7528 C \u7f16\u5199\uff08\u6216\u8005\u53ef\u4ee5\u4e0e C \u517c\u5bb9\u7684\u8bed\u8a00\uff0c\u4f8b\u5982 C++\uff09\u3002\u8fd9\u7c7b\u51fd\u6570\u88ab\u7f16\u8bd1\u6210\u52a8\u6001\u8f7d\u5165\u5bf9\u8c61\uff08\u4e5f\u88ab\u79f0\u4e3a\u5171\u4eab\u5e93\uff09\u5e76\u4e14\u7531\u670d\u52a1\u5668\u5728\u9700\u8981\u65f6\u8f7d\u5165\u3002\u52a8\u6001\u8f7d\u5165\u662f\u628a<span>\u201c<span>C \u8bed\u8a00</span>\u201d</span>\u51fd\u6570\u548c<span>\u201c<span>\u5185\u90e8</span>\u201d</span>\u51fd\u6570\u533a\u5206\u5f00\u7684\u7279\u6027 \u2014 \u4e24\u8005\u771f\u6b63\u7684\u7f16\u7801\u4e60\u60ef\u5b9e\u9645\u4e0a\u662f\u4e00\u6837\u7684\uff08\u56e0\u6b64\uff0c\u6807\u51c6\u5185\u90e8\u51fd\u6570\u5e93\u4e3a\u7528\u6237\u5b9a\u4e49\u7684 C \u51fd\u6570\u63d0\u4f9b\u4e86\u4e30\u5bcc\u7684\u7f16\u7801\u793a\u4f8b\uff09\u3002\n   </p><p>\n    \u5f53\u524d\u4ec5\u6709\u4e00\u79cd\u8c03\u7528\u7ea6\u5b9a\u88ab\u7528\u4e8e C \u51fd\u6570\uff08<span>\u201c<span>\u7248\u672c 1</span>\u201d</span>\uff09\u3002\u5982\u4e0b\u6587\u6240\u793a\uff0c\u4e3a\u51fd\u6570\u7f16\u5199\u4e00\u4e2a <code>PG_FUNCTION_INFO_V1()</code> \u5b8f\u5c31\u80fd\u6307\u793a\u5bf9\u8be5\u8c03\u7528\u7ea6\u5b9a\u7684\u652f\u6301\u3002\n   </p><p><a href=\"/zh/docs/11/xfunc-c.html\" rel=\"nofollow\">\u67e5\u770b\u5b8c\u6574\u4e2d\u6587\u624b\u518c\u4e0e\u4e0a\u4e0b\u6587</a>\u3002</p>", "body_sha256": "e0ae3636d7d8ddc23a111ff19613330ae2cfcfd60a6e0c42c024b478724feb8a", "content_hash": "9fe9675ef8140bbbd0543ac8be98f9c922c123518f68a0b38366ab7972e48200", "source_database": "center", "source_revision": "2cb7c97d7a0d7278851bbc9c61f467b69c094c72b81740b751108e7892ebe1f0"}, "signature": "", "tables_zh": [], "attributes": {"kind": "Native function language", "handler": "", "trusted": "f", "validator": "fmgr_c_validator"}, "description": ["\u8fc7\u7a0b\u8bed\u8a00 c\u3002"], "manual_html": "", "manual_path": "/docs/11/xfunc-c.html", "sections_zh": [], "localization": {"status": "complete", "sources": [{"url": "/docs/11/xfunc-c.html", "method": "same-major semantic node", "sha256": "338b6447b1144585971c12bdf32b24efc4b9b5a4778aff31b878afd575c1c68c", "language": "zh", "matched_nodes": ["#XFUNC-C/div[0]", "#XFUNC-C/div[10]/p[10]", "#XFUNC-C/div[10]/p[1]", "#XFUNC-C/div[10]/p[2]", "#XFUNC-C/div[10]/p[6]", "#XFUNC-C/div[10]/p[7]", "#XFUNC-C/div[10]/p[8]", "#XFUNC-C/div[11]/div[7]/p[1]", "#XFUNC-C/div[11]/div[8]/p[1]", "#XFUNC-C/div[11]/p[11]", "#XFUNC-C/div[11]/p[13]", "#XFUNC-C/div[11]/p[14]", "#XFUNC-C/div[11]/p[16]", "#XFUNC-C/div[11]/p[18]", "#XFUNC-C/div[11]/p[19]", "#XFUNC-C/div[11]/p[1]", "#XFUNC-C/div[11]/p[21]", "#XFUNC-C/div[11]/p[22]", "#XFUNC-C/div[11]/p[24]", "#XFUNC-C/div[11]/p[25]", "#XFUNC-C/div[11]/p[27]", "#XFUNC-C/div[11]/p[28]", "#XFUNC-C/div[11]/p[3]", "#XFUNC-C/div[11]/p[4]", "#XFUNC-C/div[11]/p[6]", "#XFUNC-C/div[11]/p[9]", "#XFUNC-C/div[12]/div[19]/p[1]", "#XFUNC-C/div[12]/p[10]", "#XFUNC-C/div[12]/p[12]", "#XFUNC-C/div[12]/p[13]", "#XFUNC-C/div[12]/p[15]", "#XFUNC-C/div[12]/p[20]", "#XFUNC-C/div[12]/p[22]", "#XFUNC-C/div[12]/p[24]", "#XFUNC-C/div[12]/p[26]", "#XFUNC-C/div[12]/p[28]", "#XFUNC-C/div[12]/p[2]", "#XFUNC-C/div[12]/p[3]", "#XFUNC-C/div[12]/p[4]", "#XFUNC-C/div[12]/p[6]", "#XFUNC-C/div[12]/p[8]", "#XFUNC-C/div[13]/p[1]", "#XFUNC-C/div[13]/p[2]", "#XFUNC-C/div[13]/p[4]", "#XFUNC-C/div[13]/p[6]", "#XFUNC-C/div[14]/p[1]", "#XFUNC-C/div[14]/p[2]", "#XFUNC-C/div[14]/p[3]", "#XFUNC-C/div[15]/p[1]", "#XFUNC-C/div[15]/p[3]", "#XFUNC-C/div[15]/p[6]", "#XFUNC-C/div[16]/div[3]/ul[0]/li[0]", "#XFUNC-C/div[16]/div[3]/ul[0]/li[1]", "#XFUNC-C/div[16]/div[3]/ul[0]/li[2]", "#XFUNC-C/div[16]/p[2]", "#XFUNC-C/div[16]/p[4]", "#XFUNC-C/div[1]/dl[0]/dt[0]", "#XFUNC-C/div[1]/dl[0]/dt[10]", "#XFUNC-C/div[1]/dl[0]/dt[11]", "#XFUNC-C/div[1]/dl[0]/dt[1]", "#XFUNC-C/div[1]/dl[0]/dt[2]", "#XFUNC-C/div[1]/dl[0]/dt[3]", "#XFUNC-C/div[1]/dl[0]/dt[4]", "#XFUNC-C/div[1]/dl[0]/dt[5]", "#XFUNC-C/div[1]/dl[0]/dt[6]", "#XFUNC-C/div[1]/dl[0]/dt[7]", "#XFUNC-C/div[1]/dl[0]/dt[8]", "#XFUNC-C/div[1]/dl[0]/dt[9]", "#XFUNC-C/div[5]/div[4]/ol[0]/li[0]", "#XFUNC-C/div[5]/div[4]/ol[0]/li[1]", "#XFUNC-C/div[5]/div[4]/ol[0]/li[2]", "#XFUNC-C/div[5]/div[4]/ol[0]/li[3]", "#XFUNC-C/div[5]/div[9]/h3[0]", "#XFUNC-C/div[5]/div[9]/p[1]", "#XFUNC-C/div[5]/p[11]", "#XFUNC-C/div[5]/p[13]", "#XFUNC-C/div[5]/p[18]", "#XFUNC-C/div[5]/p[2]", "#XFUNC-C/div[5]/p[3]", "#XFUNC-C/div[5]/p[5]", "#XFUNC-C/div[5]/p[6]", "#XFUNC-C/div[5]/p[7]", "#XFUNC-C/div[5]/p[8]", "#XFUNC-C/div[6]/div[13]/h3[0]", "#XFUNC-C/div[6]/div[13]/p[1]", "#XFUNC-C/div[6]/div[21]/div[1]/table[0]/tbody[2]/tr[1]/td[2]", "#XFUNC-C/div[6]/div[21]/div[1]/table[0]/tbody[2]/tr[4]/td[2]", "#XFUNC-C/div[6]/div[21]/div[1]/table[0]/thead[1]/tr[0]/th[0]", "#XFUNC-C/div[6]/div[21]/div[1]/table[0]/thead[1]/tr[0]/th[1]", "#XFUNC-C/div[6]/div[21]/p[0]", "#XFUNC-C/div[6]/div[4]/ul[0]/li[0]", "#XFUNC-C/div[6]/div[4]/ul[0]/li[1]", "#XFUNC-C/div[6]/div[4]/ul[0]/li[2]", "#XFUNC-C/div[6]/p[10]", "#XFUNC-C/div[6]/p[11]", "#XFUNC-C/div[6]/p[12]", "#XFUNC-C/div[6]/p[14]", "#XFUNC-C/div[6]/p[16]", "#XFUNC-C/div[6]/p[17]", "#XFUNC-C/div[6]/p[19]", "#XFUNC-C/div[6]/p[20]", "#XFUNC-C/div[6]/p[20]/span[2]/span[0]", "#XFUNC-C/div[6]/p[23]", "#XFUNC-C/div[6]/p[2]", "#XFUNC-C/div[6]/p[3]", "#XFUNC-C/div[6]/p[5]", "#XFUNC-C/div[6]/p[7]", "#XFUNC-C/div[6]/p[8]", "#XFUNC-C/div[7]/p[12]", "#XFUNC-C/div[7]/p[13]", "#XFUNC-C/div[7]/p[14]", "#XFUNC-C/div[7]/p[16]", "#XFUNC-C/div[7]/p[1]", "#XFUNC-C/div[7]/p[3]", "#XFUNC-C/div[7]/p[5]", "#XFUNC-C/div[7]/p[6]", "#XFUNC-C/div[7]/p[9]", "#XFUNC-C/div[8]/div[3]/ul[0]/li[0]", "#XFUNC-C/div[8]/div[3]/ul[0]/li[1]", "#XFUNC-C/div[8]/div[3]/ul[0]/li[2]", "#XFUNC-C/div[8]/div[3]/ul[0]/li[3]", "#XFUNC-C/div[8]/div[3]/ul[0]/li[4]", "#XFUNC-C/div[8]/div[3]/ul[0]/li[5]", "#XFUNC-C/div[8]/div[3]/ul[0]/li[6]", "#XFUNC-C/div[8]/p[1]", "#XFUNC-C/div[8]/p[2]", "#XFUNC-C/div[9]/div[5]/dl[0]/dd[11]/p[0]", "#XFUNC-C/div[9]/div[5]/dl[0]/dd[13]/p[0]", "#XFUNC-C/div[9]/div[5]/dl[0]/dd[13]/p[2]", "#XFUNC-C/div[9]/div[5]/dl[0]/dd[1]/p[0]", "#XFUNC-C/div[9]/div[5]/dl[0]/dd[1]/p[2]", "#XFUNC-C/div[9]/div[5]/dl[0]/dd[3]/p[0]", "#XFUNC-C/div[9]/div[5]/dl[0]/dd[3]/p[2]", "#XFUNC-C/div[9]/div[5]/dl[0]/dd[3]/p[4]", "#XFUNC-C/div[9]/div[5]/dl[0]/dd[3]/p[6]", "#XFUNC-C/div[9]/div[5]/dl[0]/dd[5]/p[0]", "#XFUNC-C/div[9]/div[5]/dl[0]/dd[7]/p[0]", "#XFUNC-C/div[9]/div[5]/dl[0]/dd[9]/p[0]", "#XFUNC-C/div[9]/div[6]/h3[0]", "#XFUNC-C/div[9]/div[6]/p[1]", "#XFUNC-C/div[9]/p[1]", "#XFUNC-C/div[9]/p[2]", "#XFUNC-C/div[9]/p[4]", "#XFUNC-C/div[9]/p[7]", "#XFUNC-C/div[9]/p[8]", "#XFUNC-C/p[3]"]}], "language": "zh", "original_text": {"/versions/11/description/0": "dynamically-loaded C functions", "/versions/11/facts/0/label": "Kind", "/versions/11/facts/0/value": "Native function language", "/versions/11/facts/1/label": "Trusted", "/versions/11/facts/2/label": "Validator"}, "fallback_fields": [], "source_language": "en", "original_snapshot_sha256": "7c069d48416c8b612a4af6777f09cba98a2c80a07e225226e3c84076da017102", "canonical_center_text_hash": "9fe9675ef8140bbbd0543ac8be98f9c922c123518f68a0b38366ab7972e48200"}, "description_zh": "\u8fc7\u7a0b\u8bed\u8a00 c\u3002", "comparison_data": {"kind": "Native function language", "handler": "", "trusted": "f", "validator": "fmgr_c_validator"}, "comparison_hash": "e8a219c1a26602affef41a21da26d099cf721ba42739cb7b056898c9e2d6fbe6", "manual_language": "zh", "description_zh_html": "<p>\u8fc7\u7a0b\u8bed\u8a00 c\u3002</p><dl><dt>\u53d7\u4fe1\u4efb</dt><dd><code>\u5426</code></dd><dt>\u9a8c\u8bc1\u51fd\u6570</dt><dd><code>fmgr_c_validator</code></dd></dl><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u8282\u9009</h3><p>\n    \u7528\u6237\u5b9a\u4e49\u7684\u51fd\u6570\u53ef\u4ee5\u7528 C \u7f16\u5199\uff08\u6216\u8005\u53ef\u4ee5\u4e0e C \u517c\u5bb9\u7684\u8bed\u8a00\uff0c\u4f8b\u5982 C++\uff09\u3002\u8fd9\u7c7b\u51fd\u6570\u88ab\u7f16\u8bd1\u6210\u52a8\u6001\u8f7d\u5165\u5bf9\u8c61\uff08\u4e5f\u88ab\u79f0\u4e3a\u5171\u4eab\u5e93\uff09\u5e76\u4e14\u7531\u670d\u52a1\u5668\u5728\u9700\u8981\u65f6\u8f7d\u5165\u3002\u52a8\u6001\u8f7d\u5165\u662f\u628a<span>\u201c<span>C \u8bed\u8a00</span>\u201d</span>\u51fd\u6570\u548c<span>\u201c<span>\u5185\u90e8</span>\u201d</span>\u51fd\u6570\u533a\u5206\u5f00\u7684\u7279\u6027 \u2014 \u4e24\u8005\u771f\u6b63\u7684\u7f16\u7801\u4e60\u60ef\u5b9e\u9645\u4e0a\u662f\u4e00\u6837\u7684\uff08\u56e0\u6b64\uff0c\u6807\u51c6\u5185\u90e8\u51fd\u6570\u5e93\u4e3a\u7528\u6237\u5b9a\u4e49\u7684 C \u51fd\u6570\u63d0\u4f9b\u4e86\u4e30\u5bcc\u7684\u7f16\u7801\u793a\u4f8b\uff09\u3002\n   </p><p>\n    \u5f53\u524d\u4ec5\u6709\u4e00\u79cd\u8c03\u7528\u7ea6\u5b9a\u88ab\u7528\u4e8e C \u51fd\u6570\uff08<span>\u201c<span>\u7248\u672c 1</span>\u201d</span>\uff09\u3002\u5982\u4e0b\u6587\u6240\u793a\uff0c\u4e3a\u51fd\u6570\u7f16\u5199\u4e00\u4e2a <code>PG_FUNCTION_INFO_V1()</code> \u5b8f\u5c31\u80fd\u6307\u793a\u5bf9\u8be5\u8c03\u7528\u7ea6\u5b9a\u7684\u652f\u6301\u3002\n   </p><p><a href=\"/zh/docs/11/xfunc-c.html\" rel=\"nofollow\">\u67e5\u770b\u5b8c\u6574\u4e2d\u6587\u624b\u518c\u4e0e\u4e0a\u4e0b\u6587</a>\u3002</p>"}, "12": {"facts": [{"label": "\u79cd\u7c7b", "value": "\u539f\u751f\u51fd\u6570\u8bed\u8a00"}, {"label": "\u53ef\u4fe1", "value": "f"}, {"label": "\u6821\u9a8c\u51fd\u6570", "value": "fmgr_c_validator"}], "tables": [], "aliases": [], "catalog": {"oid": "13", "descr": "dynamically-loaded C functions", "lanacl": "_null_", "lanispl": "f", "lanname": "c", "lanowner": "PGUID", "laninline": "0", "oid_symbol": "ClanguageId", "lanpltrusted": "f", "lanvalidator": "fmgr_c_validator", "lanplcallfoid": "0"}, "related": [], "release": {"ref": "https://ftp.postgresql.org/pub/source/v12.22/postgresql-12.22.tar.bz2", "label": "12.22", "major": "12", "channel": "historical", "revision": "8df3c0474782589d3c6f374b5133b1bd14d168086edbc13c6e72e67dd4527a3b", "source_sha256": "8df3c0474782589d3c6f374b5133b1bd14d168086edbc13c6e72e67dd4527a3b", "catalog_fingerprint": "9f857f4ee4875f9c7de6bfc9df4b757dec8b3a0bb88eadb519c7bd267bd56149"}, "sources": [{"url": "https://ftp.postgresql.org/pub/source/v12.22/postgresql-12.22.tar.bz2", "label": "Matching PostgreSQL source archive", "sha256": "8df3c0474782589d3c6f374b5133b1bd14d168086edbc13c6e72e67dd4527a3b"}, {"url": "/docs/12/xfunc-c.html", "path": "xfunc-c.html", "label": "PostgreSQL 12 English manual", "sha256": "b20205ba0b24459d1c84ae8bc91fd01394034f06e30832b53cd2257115e779a1"}], "zh_from": {"kind": "same-version-chinese-manual-with-source-derived-structured-summary", "manual": {"url": "/zh/docs/12/xfunc-c.html", "anchor": "", "locale": "zh-Hans", "version": "12", "build_id": 65, "page_key": "xfunc-c.html", "extraction": "concept-introduction", "source_hash": "8e0ab2487ce87f568a66df8669648a1a6ccd5700972fee8145665aa8c39f53d8", "fragment_sha256": "5c62a4cdf3760f946fb5dacce6f317d43425c53eeb0bcd7a7e8f6b17ea70f850", "source_revision": "unknown:rendered-translation-baseline", "translation_revision": "snapshot:sha256:86d2ff781f93e1de17122ebc514d5e64fcb63fed15941f496d7e146c6dcc7a49", "translated_from_revision": null}, "body_sha256": "106210b95ac2a74cd084db13d5ef0c967d0856f34159af8ec60c9b32336ce589", "runtime_rerun": false, "authored_translation": "source-derived-structured-summary", "source_facts_revision": "8df3c0474782589d3c6f374b5133b1bd14d168086edbc13c6e72e67dd4527a3b"}, "facts_zh": [{"label": "\u79cd\u7c7b", "value": "\u539f\u751f\u51fd\u6570\u8bed\u8a00"}, {"label": "\u53ef\u4fe1", "value": "f"}, {"label": "\u6821\u9a8c\u51fd\u6570", "value": "fmgr_c_validator"}], "sections": [], "center_zh": {"title": "c", "locale": "zh-Hans", "source": {"key": "c", "locale": "zh-Hans", "version": "12", "text_hash": "0b31731cf1b92bba9d07b2511eb7819e1474621c38275dbbc806c0f6653ae34a", "collection": "language", "dataset_hash": "7c31b524dfe136022d39a6ae8dcfac6b3bbd5f8fdaf422536599981252aff0c9", "source_database": "center", "source_revision": "8df3c0474782589d3c6f374b5133b1bd14d168086edbc13c6e72e67dd4527a3b"}, "payload": {"facts": [{"label": "\u79cd\u7c7b", "value": "\u539f\u751f\u51fd\u6570\u8bed\u8a00"}, {"label": "\u53ef\u4fe1", "value": "f"}, {"label": "\u6821\u9a8c\u51fd\u6570", "value": "fmgr_c_validator"}], "tables": [], "zh_from": {"kind": "same-version-chinese-manual-with-source-derived-structured-summary", "manual": {"url": "/zh/docs/12/xfunc-c.html", "anchor": "", "locale": "zh-Hans", "version": "12", "build_id": 65, "page_key": "xfunc-c.html", "extraction": "concept-introduction", "source_hash": "8e0ab2487ce87f568a66df8669648a1a6ccd5700972fee8145665aa8c39f53d8", "fragment_sha256": "5c62a4cdf3760f946fb5dacce6f317d43425c53eeb0bcd7a7e8f6b17ea70f850", "source_revision": "unknown:rendered-translation-baseline", "translation_revision": "snapshot:sha256:86d2ff781f93e1de17122ebc514d5e64fcb63fed15941f496d7e146c6dcc7a49", "translated_from_revision": null}, "body_sha256": "106210b95ac2a74cd084db13d5ef0c967d0856f34159af8ec60c9b32336ce589", "runtime_rerun": false, "authored_translation": "source-derived-structured-summary", "source_facts_revision": "8df3c0474782589d3c6f374b5133b1bd14d168086edbc13c6e72e67dd4527a3b"}, "sections": [], "description_zh": "\u8fc7\u7a0b\u8bed\u8a00 c\u3002", "description_zh_html": "<p>\u8fc7\u7a0b\u8bed\u8a00 c\u3002</p><dl><dt>\u53d7\u4fe1\u4efb</dt><dd><code>\u5426</code></dd><dt>\u9a8c\u8bc1\u51fd\u6570</dt><dd><code>fmgr_c_validator</code></dd></dl><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u8282\u9009</h3><p>\n    \u7528\u6237\u5b9a\u4e49\u7684\u51fd\u6570\u53ef\u4ee5\u7528 C \u7f16\u5199\uff08\u6216\u8005\u53ef\u4ee5\u4e0e C \u517c\u5bb9\u7684\u8bed\u8a00\uff0c\u4f8b\u5982 C++\uff09\u3002\u8fd9\u7c7b\u51fd\u6570\u88ab\u7f16\u8bd1\u6210\u52a8\u6001\u8f7d\u5165\u5bf9\u8c61\uff08\u4e5f\u88ab\u79f0\u4e3a\u5171\u4eab\u5e93\uff09\u5e76\u4e14\u7531\u670d\u52a1\u5668\u5728\u9700\u8981\u65f6\u8f7d\u5165\u3002\u52a8\u6001\u8f7d\u5165\u662f\u628a<span class=\"quote\">\u201c<span class=\"quote\">C \u8bed\u8a00</span>\u201d</span>\u51fd\u6570\u548c<span class=\"quote\">\u201c<span class=\"quote\">\u5185\u90e8</span>\u201d</span>\u51fd\u6570\u533a\u5206\u5f00\u7684\u7279\u6027 \u2014 \u4e24\u8005\u771f\u6b63\u7684\u7f16\u7801\u4e60\u60ef\u5b9e\u9645\u4e0a\u662f\u4e00\u6837\u7684\uff08\u56e0\u6b64\uff0c\u6807\u51c6\u5185\u90e8\u51fd\u6570\u5e93\u4e3a\u7528\u6237\u5b9a\u4e49\u7684 C \u51fd\u6570\u63d0\u4f9b\u4e86\u4e30\u5bcc\u7684\u7f16\u7801\u793a\u4f8b\uff09\u3002\n   </p><p>\n    \u5f53\u524d\u4ec5\u6709\u4e00\u79cd\u8c03\u7528\u7ea6\u5b9a\u88ab\u7528\u4e8e C \u51fd\u6570\uff08<span class=\"quote\">\u201c<span class=\"quote\">\u7248\u672c 1</span>\u201d</span>\uff09\u3002\u5982\u4e0b\u6587\u6240\u793a\uff0c\u4e3a\u51fd\u6570\u7f16\u5199\u4e00\u4e2a <code class=\"literal\">PG_FUNCTION_INFO_V1()</code> \u5b8f\u5c31\u80fd\u6307\u793a\u5bf9\u8be5\u8c03\u7528\u7ea6\u5b9a\u7684\u652f\u6301\u3002\n   </p><p><a href=\"/zh/docs/12/xfunc-c.html\">\u67e5\u770b\u5b8c\u6574\u4e2d\u6587\u624b\u518c\u4e0e\u4e0a\u4e0b\u6587</a>\u3002</p>"}, "summary": "\u8fc7\u7a0b\u8bed\u8a00 c\u3002", "version": "12", "link_map": {"/zh/docs/12/xfunc-c.html": "/docs/12/xfunc-c.html"}, "body_html": "<p>\u8fc7\u7a0b\u8bed\u8a00 c\u3002</p><dl><dt>\u53d7\u4fe1\u4efb</dt><dd><code>\u5426</code></dd><dt>\u9a8c\u8bc1\u51fd\u6570</dt><dd><code>fmgr_c_validator</code></dd></dl><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u8282\u9009</h3><p>\n    \u7528\u6237\u5b9a\u4e49\u7684\u51fd\u6570\u53ef\u4ee5\u7528 C \u7f16\u5199\uff08\u6216\u8005\u53ef\u4ee5\u4e0e C \u517c\u5bb9\u7684\u8bed\u8a00\uff0c\u4f8b\u5982 C++\uff09\u3002\u8fd9\u7c7b\u51fd\u6570\u88ab\u7f16\u8bd1\u6210\u52a8\u6001\u8f7d\u5165\u5bf9\u8c61\uff08\u4e5f\u88ab\u79f0\u4e3a\u5171\u4eab\u5e93\uff09\u5e76\u4e14\u7531\u670d\u52a1\u5668\u5728\u9700\u8981\u65f6\u8f7d\u5165\u3002\u52a8\u6001\u8f7d\u5165\u662f\u628a<span>\u201c<span>C \u8bed\u8a00</span>\u201d</span>\u51fd\u6570\u548c<span>\u201c<span>\u5185\u90e8</span>\u201d</span>\u51fd\u6570\u533a\u5206\u5f00\u7684\u7279\u6027 \u2014 \u4e24\u8005\u771f\u6b63\u7684\u7f16\u7801\u4e60\u60ef\u5b9e\u9645\u4e0a\u662f\u4e00\u6837\u7684\uff08\u56e0\u6b64\uff0c\u6807\u51c6\u5185\u90e8\u51fd\u6570\u5e93\u4e3a\u7528\u6237\u5b9a\u4e49\u7684 C \u51fd\u6570\u63d0\u4f9b\u4e86\u4e30\u5bcc\u7684\u7f16\u7801\u793a\u4f8b\uff09\u3002\n   </p><p>\n    \u5f53\u524d\u4ec5\u6709\u4e00\u79cd\u8c03\u7528\u7ea6\u5b9a\u88ab\u7528\u4e8e C \u51fd\u6570\uff08<span>\u201c<span>\u7248\u672c 1</span>\u201d</span>\uff09\u3002\u5982\u4e0b\u6587\u6240\u793a\uff0c\u4e3a\u51fd\u6570\u7f16\u5199\u4e00\u4e2a <code>PG_FUNCTION_INFO_V1()</code> \u5b8f\u5c31\u80fd\u6307\u793a\u5bf9\u8be5\u8c03\u7528\u7ea6\u5b9a\u7684\u652f\u6301\u3002\n   </p><p><a href=\"/zh/docs/12/xfunc-c.html\" rel=\"nofollow\">\u67e5\u770b\u5b8c\u6574\u4e2d\u6587\u624b\u518c\u4e0e\u4e0a\u4e0b\u6587</a>\u3002</p>", "body_sha256": "996f5474421107ca05771108d90a75c13624c943f852f88c30ba05b132350bd0", "content_hash": "0b31731cf1b92bba9d07b2511eb7819e1474621c38275dbbc806c0f6653ae34a", "source_database": "center", "source_revision": "8df3c0474782589d3c6f374b5133b1bd14d168086edbc13c6e72e67dd4527a3b"}, "signature": "", "tables_zh": [], "attributes": {"kind": "Native function language", "handler": "", "trusted": "f", "validator": "fmgr_c_validator"}, "description": ["\u8fc7\u7a0b\u8bed\u8a00 c\u3002"], "manual_html": "", "manual_path": "/docs/12/xfunc-c.html", "sections_zh": [], "localization": {"status": "complete", "sources": [{"url": "/docs/12/xfunc-c.html", "method": "same-major semantic node", "sha256": "b25a73df45087a8fdc374e82b6439c1e121ac685f86ab05f852f86fb2d32f749", "language": "zh", "matched_nodes": ["#XFUNC-C/div[0]", "#XFUNC-C/div[10]/p[10]", "#XFUNC-C/div[10]/p[1]", "#XFUNC-C/div[10]/p[2]", "#XFUNC-C/div[10]/p[6]", "#XFUNC-C/div[10]/p[7]", "#XFUNC-C/div[10]/p[8]", "#XFUNC-C/div[11]/div[7]/p[1]", "#XFUNC-C/div[11]/div[8]/p[1]", "#XFUNC-C/div[11]/p[11]", "#XFUNC-C/div[11]/p[13]", "#XFUNC-C/div[11]/p[14]", "#XFUNC-C/div[11]/p[16]", "#XFUNC-C/div[11]/p[18]", "#XFUNC-C/div[11]/p[19]", "#XFUNC-C/div[11]/p[1]", "#XFUNC-C/div[11]/p[21]", "#XFUNC-C/div[11]/p[22]", "#XFUNC-C/div[11]/p[24]", "#XFUNC-C/div[11]/p[25]", "#XFUNC-C/div[11]/p[27]", "#XFUNC-C/div[11]/p[28]", "#XFUNC-C/div[11]/p[3]", "#XFUNC-C/div[11]/p[4]", "#XFUNC-C/div[11]/p[6]", "#XFUNC-C/div[11]/p[9]", "#XFUNC-C/div[12]/div[19]/p[1]", "#XFUNC-C/div[12]/p[10]", "#XFUNC-C/div[12]/p[12]", "#XFUNC-C/div[12]/p[13]", "#XFUNC-C/div[12]/p[15]", "#XFUNC-C/div[12]/p[20]", "#XFUNC-C/div[12]/p[22]", "#XFUNC-C/div[12]/p[24]", "#XFUNC-C/div[12]/p[26]", "#XFUNC-C/div[12]/p[28]", "#XFUNC-C/div[12]/p[2]", "#XFUNC-C/div[12]/p[3]", "#XFUNC-C/div[12]/p[4]", "#XFUNC-C/div[12]/p[6]", "#XFUNC-C/div[12]/p[8]", "#XFUNC-C/div[13]/p[1]", "#XFUNC-C/div[13]/p[2]", "#XFUNC-C/div[13]/p[4]", "#XFUNC-C/div[13]/p[6]", "#XFUNC-C/div[14]/p[1]", "#XFUNC-C/div[14]/p[3]", "#XFUNC-C/div[14]/p[6]", "#XFUNC-C/div[15]/div[3]/ul[0]/li[0]", "#XFUNC-C/div[15]/div[3]/ul[0]/li[1]", "#XFUNC-C/div[15]/div[3]/ul[0]/li[2]", "#XFUNC-C/div[15]/p[2]", "#XFUNC-C/div[15]/p[4]", "#XFUNC-C/div[1]/dl[0]/dt[0]", "#XFUNC-C/div[1]/dl[0]/dt[10]", "#XFUNC-C/div[1]/dl[0]/dt[1]", "#XFUNC-C/div[1]/dl[0]/dt[2]", "#XFUNC-C/div[1]/dl[0]/dt[3]", "#XFUNC-C/div[1]/dl[0]/dt[4]", "#XFUNC-C/div[1]/dl[0]/dt[5]", "#XFUNC-C/div[1]/dl[0]/dt[6]", "#XFUNC-C/div[1]/dl[0]/dt[7]", "#XFUNC-C/div[1]/dl[0]/dt[8]", "#XFUNC-C/div[1]/dl[0]/dt[9]", "#XFUNC-C/div[5]/div[4]/ol[0]/li[0]", "#XFUNC-C/div[5]/div[4]/ol[0]/li[1]", "#XFUNC-C/div[5]/div[4]/ol[0]/li[2]", "#XFUNC-C/div[5]/div[4]/ol[0]/li[3]", "#XFUNC-C/div[5]/div[9]/h3[0]", "#XFUNC-C/div[5]/div[9]/p[1]", "#XFUNC-C/div[5]/p[11]", "#XFUNC-C/div[5]/p[13]", "#XFUNC-C/div[5]/p[18]", "#XFUNC-C/div[5]/p[2]", "#XFUNC-C/div[5]/p[3]", "#XFUNC-C/div[5]/p[5]", "#XFUNC-C/div[5]/p[6]", "#XFUNC-C/div[5]/p[7]", "#XFUNC-C/div[5]/p[8]", "#XFUNC-C/div[6]/div[13]/h3[0]", "#XFUNC-C/div[6]/div[13]/p[1]", "#XFUNC-C/div[6]/div[21]/div[1]/table[0]/tbody[2]/tr[0]/td[2]", "#XFUNC-C/div[6]/div[21]/div[1]/table[0]/tbody[2]/tr[3]/td[2]", "#XFUNC-C/div[6]/div[21]/div[1]/table[0]/thead[1]/tr[0]/th[0]", "#XFUNC-C/div[6]/div[21]/div[1]/table[0]/thead[1]/tr[0]/th[1]", "#XFUNC-C/div[6]/div[21]/p[0]", "#XFUNC-C/div[6]/div[4]/ul[0]/li[0]", "#XFUNC-C/div[6]/div[4]/ul[0]/li[1]", "#XFUNC-C/div[6]/div[4]/ul[0]/li[2]", "#XFUNC-C/div[6]/p[10]", "#XFUNC-C/div[6]/p[11]", "#XFUNC-C/div[6]/p[12]", "#XFUNC-C/div[6]/p[14]", "#XFUNC-C/div[6]/p[16]", "#XFUNC-C/div[6]/p[17]", "#XFUNC-C/div[6]/p[19]", "#XFUNC-C/div[6]/p[20]", "#XFUNC-C/div[6]/p[20]/span[2]/span[0]", "#XFUNC-C/div[6]/p[23]", "#XFUNC-C/div[6]/p[2]", "#XFUNC-C/div[6]/p[3]", "#XFUNC-C/div[6]/p[5]", "#XFUNC-C/div[6]/p[7]", "#XFUNC-C/div[6]/p[8]", "#XFUNC-C/div[7]/p[12]", "#XFUNC-C/div[7]/p[13]", "#XFUNC-C/div[7]/p[14]", "#XFUNC-C/div[7]/p[16]", "#XFUNC-C/div[7]/p[1]", "#XFUNC-C/div[7]/p[3]", "#XFUNC-C/div[7]/p[5]", "#XFUNC-C/div[7]/p[6]", "#XFUNC-C/div[7]/p[9]", "#XFUNC-C/div[8]/div[3]/ul[0]/li[0]", "#XFUNC-C/div[8]/div[3]/ul[0]/li[1]", "#XFUNC-C/div[8]/div[3]/ul[0]/li[2]", "#XFUNC-C/div[8]/div[3]/ul[0]/li[3]", "#XFUNC-C/div[8]/div[3]/ul[0]/li[4]", "#XFUNC-C/div[8]/div[3]/ul[0]/li[5]", "#XFUNC-C/div[8]/div[3]/ul[0]/li[6]", "#XFUNC-C/div[8]/p[1]", "#XFUNC-C/div[8]/p[2]", "#XFUNC-C/div[9]/div[5]/dl[0]/dd[11]/p[0]", "#XFUNC-C/div[9]/div[5]/dl[0]/dd[13]/p[0]", "#XFUNC-C/div[9]/div[5]/dl[0]/dd[13]/p[2]", "#XFUNC-C/div[9]/div[5]/dl[0]/dd[1]/p[0]", "#XFUNC-C/div[9]/div[5]/dl[0]/dd[1]/p[2]", "#XFUNC-C/div[9]/div[5]/dl[0]/dd[3]/p[0]", "#XFUNC-C/div[9]/div[5]/dl[0]/dd[3]/p[2]", "#XFUNC-C/div[9]/div[5]/dl[0]/dd[3]/p[4]", "#XFUNC-C/div[9]/div[5]/dl[0]/dd[3]/p[6]", "#XFUNC-C/div[9]/div[5]/dl[0]/dd[5]/p[0]", "#XFUNC-C/div[9]/div[5]/dl[0]/dd[7]/p[0]", "#XFUNC-C/div[9]/div[5]/dl[0]/dd[9]/p[0]", "#XFUNC-C/div[9]/div[6]/h3[0]", "#XFUNC-C/div[9]/div[6]/p[1]", "#XFUNC-C/div[9]/p[1]", "#XFUNC-C/div[9]/p[2]", "#XFUNC-C/div[9]/p[4]", "#XFUNC-C/div[9]/p[7]", "#XFUNC-C/div[9]/p[8]", "#XFUNC-C/p[3]"]}], "language": "zh", "original_text": {"/versions/12/description/0": "dynamically-loaded C functions", "/versions/12/facts/0/label": "Kind", "/versions/12/facts/0/value": "Native function language", "/versions/12/facts/1/label": "Trusted", "/versions/12/facts/2/label": "Validator"}, "fallback_fields": [], "source_language": "en", "original_snapshot_sha256": "bcdf571b5ca958ffcd7525bd8347f0b2018d380b94db2dbd86732d2c2efa596f", "canonical_center_text_hash": "0b31731cf1b92bba9d07b2511eb7819e1474621c38275dbbc806c0f6653ae34a"}, "description_zh": "\u8fc7\u7a0b\u8bed\u8a00 c\u3002", "comparison_data": {"kind": "Native function language", "handler": "", "trusted": "f", "validator": "fmgr_c_validator"}, "comparison_hash": "e8a219c1a26602affef41a21da26d099cf721ba42739cb7b056898c9e2d6fbe6", "manual_language": "zh", "description_zh_html": "<p>\u8fc7\u7a0b\u8bed\u8a00 c\u3002</p><dl><dt>\u53d7\u4fe1\u4efb</dt><dd><code>\u5426</code></dd><dt>\u9a8c\u8bc1\u51fd\u6570</dt><dd><code>fmgr_c_validator</code></dd></dl><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u8282\u9009</h3><p>\n    \u7528\u6237\u5b9a\u4e49\u7684\u51fd\u6570\u53ef\u4ee5\u7528 C \u7f16\u5199\uff08\u6216\u8005\u53ef\u4ee5\u4e0e C \u517c\u5bb9\u7684\u8bed\u8a00\uff0c\u4f8b\u5982 C++\uff09\u3002\u8fd9\u7c7b\u51fd\u6570\u88ab\u7f16\u8bd1\u6210\u52a8\u6001\u8f7d\u5165\u5bf9\u8c61\uff08\u4e5f\u88ab\u79f0\u4e3a\u5171\u4eab\u5e93\uff09\u5e76\u4e14\u7531\u670d\u52a1\u5668\u5728\u9700\u8981\u65f6\u8f7d\u5165\u3002\u52a8\u6001\u8f7d\u5165\u662f\u628a<span>\u201c<span>C \u8bed\u8a00</span>\u201d</span>\u51fd\u6570\u548c<span>\u201c<span>\u5185\u90e8</span>\u201d</span>\u51fd\u6570\u533a\u5206\u5f00\u7684\u7279\u6027 \u2014 \u4e24\u8005\u771f\u6b63\u7684\u7f16\u7801\u4e60\u60ef\u5b9e\u9645\u4e0a\u662f\u4e00\u6837\u7684\uff08\u56e0\u6b64\uff0c\u6807\u51c6\u5185\u90e8\u51fd\u6570\u5e93\u4e3a\u7528\u6237\u5b9a\u4e49\u7684 C \u51fd\u6570\u63d0\u4f9b\u4e86\u4e30\u5bcc\u7684\u7f16\u7801\u793a\u4f8b\uff09\u3002\n   </p><p>\n    \u5f53\u524d\u4ec5\u6709\u4e00\u79cd\u8c03\u7528\u7ea6\u5b9a\u88ab\u7528\u4e8e C \u51fd\u6570\uff08<span>\u201c<span>\u7248\u672c 1</span>\u201d</span>\uff09\u3002\u5982\u4e0b\u6587\u6240\u793a\uff0c\u4e3a\u51fd\u6570\u7f16\u5199\u4e00\u4e2a <code>PG_FUNCTION_INFO_V1()</code> \u5b8f\u5c31\u80fd\u6307\u793a\u5bf9\u8be5\u8c03\u7528\u7ea6\u5b9a\u7684\u652f\u6301\u3002\n   </p><p><a href=\"/zh/docs/12/xfunc-c.html\" rel=\"nofollow\">\u67e5\u770b\u5b8c\u6574\u4e2d\u6587\u624b\u518c\u4e0e\u4e0a\u4e0b\u6587</a>\u3002</p>"}, "13": {"facts": [{"label": "\u79cd\u7c7b", "value": "\u539f\u751f\u51fd\u6570\u8bed\u8a00"}, {"label": "\u53ef\u4fe1", "value": "f"}, {"label": "\u6821\u9a8c\u51fd\u6570", "value": "fmgr_c_validator"}], "tables": [], "aliases": [], "catalog": {"oid": "13", "descr": "dynamically-loaded C functions", "lanacl": "_null_", "lanispl": "f", "lanname": "c", "lanowner": "PGUID", "laninline": "0", "oid_symbol": "ClanguageId", "lanpltrusted": "f", "lanvalidator": "fmgr_c_validator", "lanplcallfoid": "0"}, "related": [], "release": {"ref": "https://ftp.postgresql.org/pub/source/v13.23/postgresql-13.23.tar.bz2", "label": "13.23", "major": "13", "channel": "historical", "revision": "6ec3c82726af92b7dec873fa1cdf881eca92a4219787dfad05acb6b10e041fd6", "source_sha256": "6ec3c82726af92b7dec873fa1cdf881eca92a4219787dfad05acb6b10e041fd6", "catalog_fingerprint": "c7015c845255c9d721c547c8ab9ef37825d332588c9691d982e6906b7d571002"}, "sources": [{"url": "https://ftp.postgresql.org/pub/source/v13.23/postgresql-13.23.tar.bz2", "label": "Matching PostgreSQL source archive", "sha256": "6ec3c82726af92b7dec873fa1cdf881eca92a4219787dfad05acb6b10e041fd6"}, {"url": "/docs/13/xfunc-c.html", "path": "xfunc-c.html", "label": "PostgreSQL 13 English manual", "sha256": "868dafae8788b27c58490e1e8dc0b8004cf14f1ab9b5ccd85f8888ddaf582662"}], "zh_from": {"kind": "same-version-chinese-manual-with-source-derived-structured-summary", "manual": {"url": "/zh/docs/13/xfunc-c.html", "anchor": "", "locale": "zh-Hans", "version": "13", "build_id": 66, "page_key": "xfunc-c.html", "extraction": "concept-introduction", "source_hash": "06fe27bafb26bb307cf59f55ba7b27375fb70fb2951839ed30ebdc69712c6236", "fragment_sha256": "5c62a4cdf3760f946fb5dacce6f317d43425c53eeb0bcd7a7e8f6b17ea70f850", "source_revision": "unknown:rendered-translation-baseline", "translation_revision": "snapshot:sha256:a13a825c39f0268ef1cfe9137e283e38d0da73b2d7894f0733c7b26372a4f6a4", "translated_from_revision": null}, "body_sha256": "eafbae503b660ebd6c5146f0f40f55bf6efa6fedf8601496dbcc538e7c8f7729", "runtime_rerun": false, "authored_translation": "source-derived-structured-summary", "source_facts_revision": "6ec3c82726af92b7dec873fa1cdf881eca92a4219787dfad05acb6b10e041fd6"}, "facts_zh": [{"label": "\u79cd\u7c7b", "value": "\u539f\u751f\u51fd\u6570\u8bed\u8a00"}, {"label": "\u53ef\u4fe1", "value": "f"}, {"label": "\u6821\u9a8c\u51fd\u6570", "value": "fmgr_c_validator"}], "sections": [], "center_zh": {"title": "c", "locale": "zh-Hans", "source": {"key": "c", "locale": "zh-Hans", "version": "13", "text_hash": "be87049d327327e9347c9fb8334322ea447de00fa09b596869cccc3bbc02a8a4", "collection": "language", "dataset_hash": "7c31b524dfe136022d39a6ae8dcfac6b3bbd5f8fdaf422536599981252aff0c9", "source_database": "center", "source_revision": "6ec3c82726af92b7dec873fa1cdf881eca92a4219787dfad05acb6b10e041fd6"}, "payload": {"facts": [{"label": "\u79cd\u7c7b", "value": "\u539f\u751f\u51fd\u6570\u8bed\u8a00"}, {"label": "\u53ef\u4fe1", "value": "f"}, {"label": "\u6821\u9a8c\u51fd\u6570", "value": "fmgr_c_validator"}], "tables": [], "zh_from": {"kind": "same-version-chinese-manual-with-source-derived-structured-summary", "manual": {"url": "/zh/docs/13/xfunc-c.html", "anchor": "", "locale": "zh-Hans", "version": "13", "build_id": 66, "page_key": "xfunc-c.html", "extraction": "concept-introduction", "source_hash": "06fe27bafb26bb307cf59f55ba7b27375fb70fb2951839ed30ebdc69712c6236", "fragment_sha256": "5c62a4cdf3760f946fb5dacce6f317d43425c53eeb0bcd7a7e8f6b17ea70f850", "source_revision": "unknown:rendered-translation-baseline", "translation_revision": "snapshot:sha256:a13a825c39f0268ef1cfe9137e283e38d0da73b2d7894f0733c7b26372a4f6a4", "translated_from_revision": null}, "body_sha256": "eafbae503b660ebd6c5146f0f40f55bf6efa6fedf8601496dbcc538e7c8f7729", "runtime_rerun": false, "authored_translation": "source-derived-structured-summary", "source_facts_revision": "6ec3c82726af92b7dec873fa1cdf881eca92a4219787dfad05acb6b10e041fd6"}, "sections": [], "description_zh": "\u8fc7\u7a0b\u8bed\u8a00 c\u3002", "description_zh_html": "<p>\u8fc7\u7a0b\u8bed\u8a00 c\u3002</p><dl><dt>\u53d7\u4fe1\u4efb</dt><dd><code>\u5426</code></dd><dt>\u9a8c\u8bc1\u51fd\u6570</dt><dd><code>fmgr_c_validator</code></dd></dl><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u8282\u9009</h3><p>\n    \u7528\u6237\u5b9a\u4e49\u7684\u51fd\u6570\u53ef\u4ee5\u7528 C \u7f16\u5199\uff08\u6216\u8005\u53ef\u4ee5\u4e0e C \u517c\u5bb9\u7684\u8bed\u8a00\uff0c\u4f8b\u5982 C++\uff09\u3002\u8fd9\u7c7b\u51fd\u6570\u88ab\u7f16\u8bd1\u6210\u52a8\u6001\u8f7d\u5165\u5bf9\u8c61\uff08\u4e5f\u88ab\u79f0\u4e3a\u5171\u4eab\u5e93\uff09\u5e76\u4e14\u7531\u670d\u52a1\u5668\u5728\u9700\u8981\u65f6\u8f7d\u5165\u3002\u52a8\u6001\u8f7d\u5165\u662f\u628a<span class=\"quote\">\u201c<span class=\"quote\">C \u8bed\u8a00</span>\u201d</span>\u51fd\u6570\u548c<span class=\"quote\">\u201c<span class=\"quote\">\u5185\u90e8</span>\u201d</span>\u51fd\u6570\u533a\u5206\u5f00\u7684\u7279\u6027 \u2014 \u4e24\u8005\u771f\u6b63\u7684\u7f16\u7801\u4e60\u60ef\u5b9e\u9645\u4e0a\u662f\u4e00\u6837\u7684\uff08\u56e0\u6b64\uff0c\u6807\u51c6\u5185\u90e8\u51fd\u6570\u5e93\u4e3a\u7528\u6237\u5b9a\u4e49\u7684 C \u51fd\u6570\u63d0\u4f9b\u4e86\u4e30\u5bcc\u7684\u7f16\u7801\u793a\u4f8b\uff09\u3002\n   </p><p>\n    \u5f53\u524d\u4ec5\u6709\u4e00\u79cd\u8c03\u7528\u7ea6\u5b9a\u88ab\u7528\u4e8e C \u51fd\u6570\uff08<span class=\"quote\">\u201c<span class=\"quote\">\u7248\u672c 1</span>\u201d</span>\uff09\u3002\u5982\u4e0b\u6587\u6240\u793a\uff0c\u4e3a\u51fd\u6570\u7f16\u5199\u4e00\u4e2a <code class=\"literal\">PG_FUNCTION_INFO_V1()</code> \u5b8f\u5c31\u80fd\u6307\u793a\u5bf9\u8be5\u8c03\u7528\u7ea6\u5b9a\u7684\u652f\u6301\u3002\n   </p><p><a href=\"/zh/docs/13/xfunc-c.html\">\u67e5\u770b\u5b8c\u6574\u4e2d\u6587\u624b\u518c\u4e0e\u4e0a\u4e0b\u6587</a>\u3002</p>"}, "summary": "\u8fc7\u7a0b\u8bed\u8a00 c\u3002", "version": "13", "link_map": {"/zh/docs/13/xfunc-c.html": "/docs/13/xfunc-c.html"}, "body_html": "<p>\u8fc7\u7a0b\u8bed\u8a00 c\u3002</p><dl><dt>\u53d7\u4fe1\u4efb</dt><dd><code>\u5426</code></dd><dt>\u9a8c\u8bc1\u51fd\u6570</dt><dd><code>fmgr_c_validator</code></dd></dl><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u8282\u9009</h3><p>\n    \u7528\u6237\u5b9a\u4e49\u7684\u51fd\u6570\u53ef\u4ee5\u7528 C \u7f16\u5199\uff08\u6216\u8005\u53ef\u4ee5\u4e0e C \u517c\u5bb9\u7684\u8bed\u8a00\uff0c\u4f8b\u5982 C++\uff09\u3002\u8fd9\u7c7b\u51fd\u6570\u88ab\u7f16\u8bd1\u6210\u52a8\u6001\u8f7d\u5165\u5bf9\u8c61\uff08\u4e5f\u88ab\u79f0\u4e3a\u5171\u4eab\u5e93\uff09\u5e76\u4e14\u7531\u670d\u52a1\u5668\u5728\u9700\u8981\u65f6\u8f7d\u5165\u3002\u52a8\u6001\u8f7d\u5165\u662f\u628a<span>\u201c<span>C \u8bed\u8a00</span>\u201d</span>\u51fd\u6570\u548c<span>\u201c<span>\u5185\u90e8</span>\u201d</span>\u51fd\u6570\u533a\u5206\u5f00\u7684\u7279\u6027 \u2014 \u4e24\u8005\u771f\u6b63\u7684\u7f16\u7801\u4e60\u60ef\u5b9e\u9645\u4e0a\u662f\u4e00\u6837\u7684\uff08\u56e0\u6b64\uff0c\u6807\u51c6\u5185\u90e8\u51fd\u6570\u5e93\u4e3a\u7528\u6237\u5b9a\u4e49\u7684 C \u51fd\u6570\u63d0\u4f9b\u4e86\u4e30\u5bcc\u7684\u7f16\u7801\u793a\u4f8b\uff09\u3002\n   </p><p>\n    \u5f53\u524d\u4ec5\u6709\u4e00\u79cd\u8c03\u7528\u7ea6\u5b9a\u88ab\u7528\u4e8e C \u51fd\u6570\uff08<span>\u201c<span>\u7248\u672c 1</span>\u201d</span>\uff09\u3002\u5982\u4e0b\u6587\u6240\u793a\uff0c\u4e3a\u51fd\u6570\u7f16\u5199\u4e00\u4e2a <code>PG_FUNCTION_INFO_V1()</code> \u5b8f\u5c31\u80fd\u6307\u793a\u5bf9\u8be5\u8c03\u7528\u7ea6\u5b9a\u7684\u652f\u6301\u3002\n   </p><p><a href=\"/zh/docs/13/xfunc-c.html\" rel=\"nofollow\">\u67e5\u770b\u5b8c\u6574\u4e2d\u6587\u624b\u518c\u4e0e\u4e0a\u4e0b\u6587</a>\u3002</p>", "body_sha256": "f157a37137b7e2a4f17141481eeaaf04f53f484cc7f2e4997951b3b95bb6a2e7", "content_hash": "be87049d327327e9347c9fb8334322ea447de00fa09b596869cccc3bbc02a8a4", "source_database": "center", "source_revision": "6ec3c82726af92b7dec873fa1cdf881eca92a4219787dfad05acb6b10e041fd6"}, "signature": "", "tables_zh": [], "attributes": {"kind": "Native function language", "handler": "", "trusted": "f", "validator": "fmgr_c_validator"}, "description": ["\u8fc7\u7a0b\u8bed\u8a00 c\u3002"], "manual_html": "", "manual_path": "/docs/13/xfunc-c.html", "sections_zh": [], "localization": {"status": "complete", "sources": [{"url": "/docs/13/xfunc-c.html", "method": "same-major semantic node", "sha256": "095469efa3baa961b27032ae79fbe7a17909a3ff9341e854497b97168d4a1271", "language": "zh", "matched_nodes": ["#XFUNC-C/div[0]", "#XFUNC-C/div[10]/p[10]", "#XFUNC-C/div[10]/p[1]", "#XFUNC-C/div[10]/p[2]", "#XFUNC-C/div[10]/p[6]", "#XFUNC-C/div[10]/p[7]", "#XFUNC-C/div[10]/p[8]", "#XFUNC-C/div[11]/div[7]/p[1]", "#XFUNC-C/div[11]/div[8]/p[1]", "#XFUNC-C/div[11]/p[11]", "#XFUNC-C/div[11]/p[13]", "#XFUNC-C/div[11]/p[14]", "#XFUNC-C/div[11]/p[16]", "#XFUNC-C/div[11]/p[18]", "#XFUNC-C/div[11]/p[19]", "#XFUNC-C/div[11]/p[1]", "#XFUNC-C/div[11]/p[21]", "#XFUNC-C/div[11]/p[22]", "#XFUNC-C/div[11]/p[24]", "#XFUNC-C/div[11]/p[25]", "#XFUNC-C/div[11]/p[27]", "#XFUNC-C/div[11]/p[28]", "#XFUNC-C/div[11]/p[3]", "#XFUNC-C/div[11]/p[4]", "#XFUNC-C/div[11]/p[6]", "#XFUNC-C/div[11]/p[9]", "#XFUNC-C/div[12]/div[19]/p[1]", "#XFUNC-C/div[12]/p[10]", "#XFUNC-C/div[12]/p[12]", "#XFUNC-C/div[12]/p[13]", "#XFUNC-C/div[12]/p[15]", "#XFUNC-C/div[12]/p[20]", "#XFUNC-C/div[12]/p[22]", "#XFUNC-C/div[12]/p[24]", "#XFUNC-C/div[12]/p[26]", "#XFUNC-C/div[12]/p[28]", "#XFUNC-C/div[12]/p[2]", "#XFUNC-C/div[12]/p[3]", "#XFUNC-C/div[12]/p[4]", "#XFUNC-C/div[12]/p[6]", "#XFUNC-C/div[12]/p[8]", "#XFUNC-C/div[13]/p[1]", "#XFUNC-C/div[13]/p[2]", "#XFUNC-C/div[13]/p[4]", "#XFUNC-C/div[13]/p[6]", "#XFUNC-C/div[14]/p[1]", "#XFUNC-C/div[14]/p[3]", "#XFUNC-C/div[14]/p[6]", "#XFUNC-C/div[15]/div[3]/ul[0]/li[0]", "#XFUNC-C/div[15]/div[3]/ul[0]/li[1]", "#XFUNC-C/div[15]/div[3]/ul[0]/li[2]", "#XFUNC-C/div[15]/p[2]", "#XFUNC-C/div[15]/p[4]", "#XFUNC-C/div[1]/dl[0]/dt[0]", "#XFUNC-C/div[1]/dl[0]/dt[10]", "#XFUNC-C/div[1]/dl[0]/dt[1]", "#XFUNC-C/div[1]/dl[0]/dt[2]", "#XFUNC-C/div[1]/dl[0]/dt[3]", "#XFUNC-C/div[1]/dl[0]/dt[4]", "#XFUNC-C/div[1]/dl[0]/dt[5]", "#XFUNC-C/div[1]/dl[0]/dt[6]", "#XFUNC-C/div[1]/dl[0]/dt[7]", "#XFUNC-C/div[1]/dl[0]/dt[8]", "#XFUNC-C/div[1]/dl[0]/dt[9]", "#XFUNC-C/div[5]/div[4]/ol[0]/li[0]", "#XFUNC-C/div[5]/div[4]/ol[0]/li[1]", "#XFUNC-C/div[5]/div[4]/ol[0]/li[2]", "#XFUNC-C/div[5]/div[4]/ol[0]/li[3]", "#XFUNC-C/div[5]/div[9]/h3[0]", "#XFUNC-C/div[5]/div[9]/p[1]", "#XFUNC-C/div[5]/p[11]", "#XFUNC-C/div[5]/p[13]", "#XFUNC-C/div[5]/p[18]", "#XFUNC-C/div[5]/p[2]", "#XFUNC-C/div[5]/p[3]", "#XFUNC-C/div[5]/p[5]", "#XFUNC-C/div[5]/p[6]", "#XFUNC-C/div[5]/p[7]", "#XFUNC-C/div[5]/p[8]", "#XFUNC-C/div[6]/div[13]/h3[0]", "#XFUNC-C/div[6]/div[13]/p[1]", "#XFUNC-C/div[6]/div[21]/div[1]/table[0]/tbody[2]/tr[0]/td[2]", "#XFUNC-C/div[6]/div[21]/div[1]/table[0]/tbody[2]/tr[3]/td[2]", "#XFUNC-C/div[6]/div[21]/div[1]/table[0]/thead[1]/tr[0]/th[0]", "#XFUNC-C/div[6]/div[21]/div[1]/table[0]/thead[1]/tr[0]/th[1]", "#XFUNC-C/div[6]/div[21]/p[0]", "#XFUNC-C/div[6]/div[4]/ul[0]/li[0]", "#XFUNC-C/div[6]/div[4]/ul[0]/li[1]", "#XFUNC-C/div[6]/div[4]/ul[0]/li[2]", "#XFUNC-C/div[6]/p[10]", "#XFUNC-C/div[6]/p[11]", "#XFUNC-C/div[6]/p[12]", "#XFUNC-C/div[6]/p[14]", "#XFUNC-C/div[6]/p[16]", "#XFUNC-C/div[6]/p[17]", "#XFUNC-C/div[6]/p[19]", "#XFUNC-C/div[6]/p[20]", "#XFUNC-C/div[6]/p[20]/span[2]/span[0]", "#XFUNC-C/div[6]/p[23]", "#XFUNC-C/div[6]/p[2]", "#XFUNC-C/div[6]/p[3]", "#XFUNC-C/div[6]/p[5]", "#XFUNC-C/div[6]/p[7]", "#XFUNC-C/div[6]/p[8]", "#XFUNC-C/div[7]/p[12]", "#XFUNC-C/div[7]/p[13]", "#XFUNC-C/div[7]/p[14]", "#XFUNC-C/div[7]/p[16]", "#XFUNC-C/div[7]/p[1]", "#XFUNC-C/div[7]/p[3]", "#XFUNC-C/div[7]/p[5]", "#XFUNC-C/div[7]/p[6]", "#XFUNC-C/div[7]/p[9]", "#XFUNC-C/div[8]/div[3]/ul[0]/li[0]", "#XFUNC-C/div[8]/div[3]/ul[0]/li[1]", "#XFUNC-C/div[8]/div[3]/ul[0]/li[2]", "#XFUNC-C/div[8]/div[3]/ul[0]/li[3]", "#XFUNC-C/div[8]/div[3]/ul[0]/li[4]", "#XFUNC-C/div[8]/div[3]/ul[0]/li[5]", "#XFUNC-C/div[8]/div[3]/ul[0]/li[6]", "#XFUNC-C/div[8]/p[1]", "#XFUNC-C/div[8]/p[2]", "#XFUNC-C/div[9]/div[5]/dl[0]/dd[11]/p[0]", "#XFUNC-C/div[9]/div[5]/dl[0]/dd[13]/p[0]", "#XFUNC-C/div[9]/div[5]/dl[0]/dd[13]/p[2]", "#XFUNC-C/div[9]/div[5]/dl[0]/dd[1]/p[0]", "#XFUNC-C/div[9]/div[5]/dl[0]/dd[1]/p[2]", "#XFUNC-C/div[9]/div[5]/dl[0]/dd[3]/p[0]", "#XFUNC-C/div[9]/div[5]/dl[0]/dd[3]/p[2]", "#XFUNC-C/div[9]/div[5]/dl[0]/dd[3]/p[4]", "#XFUNC-C/div[9]/div[5]/dl[0]/dd[3]/p[6]", "#XFUNC-C/div[9]/div[5]/dl[0]/dd[5]/p[0]", "#XFUNC-C/div[9]/div[5]/dl[0]/dd[7]/p[0]", "#XFUNC-C/div[9]/div[5]/dl[0]/dd[9]/p[0]", "#XFUNC-C/div[9]/div[6]/h3[0]", "#XFUNC-C/div[9]/div[6]/p[1]", "#XFUNC-C/div[9]/p[1]", "#XFUNC-C/div[9]/p[2]", "#XFUNC-C/div[9]/p[4]", "#XFUNC-C/div[9]/p[7]", "#XFUNC-C/div[9]/p[8]", "#XFUNC-C/p[3]"]}], "language": "zh", "original_text": {"/versions/13/description/0": "dynamically-loaded C functions", "/versions/13/facts/0/label": "Kind", "/versions/13/facts/0/value": "Native function language", "/versions/13/facts/1/label": "Trusted", "/versions/13/facts/2/label": "Validator"}, "fallback_fields": [], "source_language": "en", "original_snapshot_sha256": "d3a7e17f566a162b02902cbfe8f531ec14ac4d0136c9829f978e34d91a10e1a6", "canonical_center_text_hash": "be87049d327327e9347c9fb8334322ea447de00fa09b596869cccc3bbc02a8a4"}, "description_zh": "\u8fc7\u7a0b\u8bed\u8a00 c\u3002", "comparison_data": {"kind": "Native function language", "handler": "", "trusted": "f", "validator": "fmgr_c_validator"}, "comparison_hash": "e8a219c1a26602affef41a21da26d099cf721ba42739cb7b056898c9e2d6fbe6", "manual_language": "zh", "description_zh_html": "<p>\u8fc7\u7a0b\u8bed\u8a00 c\u3002</p><dl><dt>\u53d7\u4fe1\u4efb</dt><dd><code>\u5426</code></dd><dt>\u9a8c\u8bc1\u51fd\u6570</dt><dd><code>fmgr_c_validator</code></dd></dl><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u8282\u9009</h3><p>\n    \u7528\u6237\u5b9a\u4e49\u7684\u51fd\u6570\u53ef\u4ee5\u7528 C \u7f16\u5199\uff08\u6216\u8005\u53ef\u4ee5\u4e0e C \u517c\u5bb9\u7684\u8bed\u8a00\uff0c\u4f8b\u5982 C++\uff09\u3002\u8fd9\u7c7b\u51fd\u6570\u88ab\u7f16\u8bd1\u6210\u52a8\u6001\u8f7d\u5165\u5bf9\u8c61\uff08\u4e5f\u88ab\u79f0\u4e3a\u5171\u4eab\u5e93\uff09\u5e76\u4e14\u7531\u670d\u52a1\u5668\u5728\u9700\u8981\u65f6\u8f7d\u5165\u3002\u52a8\u6001\u8f7d\u5165\u662f\u628a<span>\u201c<span>C \u8bed\u8a00</span>\u201d</span>\u51fd\u6570\u548c<span>\u201c<span>\u5185\u90e8</span>\u201d</span>\u51fd\u6570\u533a\u5206\u5f00\u7684\u7279\u6027 \u2014 \u4e24\u8005\u771f\u6b63\u7684\u7f16\u7801\u4e60\u60ef\u5b9e\u9645\u4e0a\u662f\u4e00\u6837\u7684\uff08\u56e0\u6b64\uff0c\u6807\u51c6\u5185\u90e8\u51fd\u6570\u5e93\u4e3a\u7528\u6237\u5b9a\u4e49\u7684 C \u51fd\u6570\u63d0\u4f9b\u4e86\u4e30\u5bcc\u7684\u7f16\u7801\u793a\u4f8b\uff09\u3002\n   </p><p>\n    \u5f53\u524d\u4ec5\u6709\u4e00\u79cd\u8c03\u7528\u7ea6\u5b9a\u88ab\u7528\u4e8e C \u51fd\u6570\uff08<span>\u201c<span>\u7248\u672c 1</span>\u201d</span>\uff09\u3002\u5982\u4e0b\u6587\u6240\u793a\uff0c\u4e3a\u51fd\u6570\u7f16\u5199\u4e00\u4e2a <code>PG_FUNCTION_INFO_V1()</code> \u5b8f\u5c31\u80fd\u6307\u793a\u5bf9\u8be5\u8c03\u7528\u7ea6\u5b9a\u7684\u652f\u6301\u3002\n   </p><p><a href=\"/zh/docs/13/xfunc-c.html\" rel=\"nofollow\">\u67e5\u770b\u5b8c\u6574\u4e2d\u6587\u624b\u518c\u4e0e\u4e0a\u4e0b\u6587</a>\u3002</p>"}, "14": {"facts": [{"label": "\u79cd\u7c7b", "value": "\u539f\u751f\u51fd\u6570\u8bed\u8a00"}, {"label": "\u53ef\u4fe1", "value": "f"}, {"label": "\u6821\u9a8c\u51fd\u6570", "value": "fmgr_c_validator"}], "tables": [], "aliases": [], "catalog": {"oid": "13", "descr": "dynamically-loaded C functions", "lanacl": "_null_", "lanispl": "f", "lanname": "c", "lanowner": "POSTGRES", "laninline": "0", "oid_symbol": "ClanguageId", "lanpltrusted": "f", "lanvalidator": "fmgr_c_validator", "lanplcallfoid": "0"}, "related": [], "release": {"ref": "https://ftp.postgresql.org/pub/source/v14.24/postgresql-14.24.tar.bz2", "label": "14.24", "major": "14", "channel": "stable", "revision": "a7fa7ed3d558172355f51406097a7bd4f6b473be80f311ef7cda96bf383d8897", "source_sha256": "a7fa7ed3d558172355f51406097a7bd4f6b473be80f311ef7cda96bf383d8897", "catalog_fingerprint": "b272e6a82e4c46efda81c3a6a4cdf7de6a83dfff7f02f226a392fbe9acdd3adb"}, "sources": [{"url": "https://ftp.postgresql.org/pub/source/v14.24/postgresql-14.24.tar.bz2", "label": "Matching PostgreSQL source archive", "sha256": "a7fa7ed3d558172355f51406097a7bd4f6b473be80f311ef7cda96bf383d8897"}, {"url": "/docs/14/xfunc-c.html", "path": "xfunc-c.html", "label": "PostgreSQL 14 English manual", "sha256": "7fd26810ad531d4158f3c87ccf1168c7b4b7b0763441b8912b525d7c20aef658"}], "zh_from": {"kind": "same-version-chinese-manual-with-source-derived-structured-summary", "manual": {"url": "/zh/docs/14/xfunc-c.html", "anchor": "", "locale": "zh-Hans", "version": "14", "build_id": 99, "page_key": "xfunc-c.html", "extraction": "concept-introduction", "source_hash": "da9419c1da8c88030df42bb862ac0a06aa3130bf732f1c655b0839e360046463", "fragment_sha256": "5c62a4cdf3760f946fb5dacce6f317d43425c53eeb0bcd7a7e8f6b17ea70f850", "source_revision": "unknown:rendered-translation-baseline", "translation_revision": "git:b1b500221dbe5437cfca004d6b04d3f6e422765d;html-sha256:87e6aa4fd6e1ec85c5f4a6de4f5647cfd9e5de734ca2c266d32b6d6192c662ef", "translated_from_revision": null}, "body_sha256": "1964de001b2c270b3662b118a00530722513b0b09fc81eef405e5ae7a49b7125", "runtime_rerun": false, "authored_translation": "source-derived-structured-summary", "source_facts_revision": "a7fa7ed3d558172355f51406097a7bd4f6b473be80f311ef7cda96bf383d8897"}, "facts_zh": [{"label": "\u79cd\u7c7b", "value": "\u539f\u751f\u51fd\u6570\u8bed\u8a00"}, {"label": "\u53ef\u4fe1", "value": "f"}, {"label": "\u6821\u9a8c\u51fd\u6570", "value": "fmgr_c_validator"}], "sections": [], "center_zh": {"title": "c", "locale": "zh-Hans", "source": {"key": "c", "locale": "zh-Hans", "version": "14", "text_hash": "4704ad92abd5bb22b7973ef774327f4135100a09edb4a5a155231911063ba07d", "collection": "language", "dataset_hash": "7c31b524dfe136022d39a6ae8dcfac6b3bbd5f8fdaf422536599981252aff0c9", "source_database": "center", "source_revision": "a7fa7ed3d558172355f51406097a7bd4f6b473be80f311ef7cda96bf383d8897"}, "payload": {"facts": [{"label": "\u79cd\u7c7b", "value": "\u539f\u751f\u51fd\u6570\u8bed\u8a00"}, {"label": "\u53ef\u4fe1", "value": "f"}, {"label": "\u6821\u9a8c\u51fd\u6570", "value": "fmgr_c_validator"}], "tables": [], "zh_from": {"kind": "same-version-chinese-manual-with-source-derived-structured-summary", "manual": {"url": "/zh/docs/14/xfunc-c.html", "anchor": "", "locale": "zh-Hans", "version": "14", "build_id": 99, "page_key": "xfunc-c.html", "extraction": "concept-introduction", "source_hash": "da9419c1da8c88030df42bb862ac0a06aa3130bf732f1c655b0839e360046463", "fragment_sha256": "5c62a4cdf3760f946fb5dacce6f317d43425c53eeb0bcd7a7e8f6b17ea70f850", "source_revision": "unknown:rendered-translation-baseline", "translation_revision": "git:b1b500221dbe5437cfca004d6b04d3f6e422765d;html-sha256:87e6aa4fd6e1ec85c5f4a6de4f5647cfd9e5de734ca2c266d32b6d6192c662ef", "translated_from_revision": null}, "body_sha256": "1964de001b2c270b3662b118a00530722513b0b09fc81eef405e5ae7a49b7125", "runtime_rerun": false, "authored_translation": "source-derived-structured-summary", "source_facts_revision": "a7fa7ed3d558172355f51406097a7bd4f6b473be80f311ef7cda96bf383d8897"}, "sections": [], "description_zh": "\u8fc7\u7a0b\u8bed\u8a00 c\u3002", "description_zh_html": "<p>\u8fc7\u7a0b\u8bed\u8a00 c\u3002</p><dl><dt>\u53d7\u4fe1\u4efb</dt><dd><code>\u5426</code></dd><dt>\u9a8c\u8bc1\u51fd\u6570</dt><dd><code>fmgr_c_validator</code></dd></dl><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u8282\u9009</h3><p>\n    \u7528\u6237\u5b9a\u4e49\u7684\u51fd\u6570\u53ef\u4ee5\u7528 C \u7f16\u5199\uff08\u6216\u8005\u53ef\u4ee5\u4e0e C \u517c\u5bb9\u7684\u8bed\u8a00\uff0c\u4f8b\u5982 C++\uff09\u3002\u8fd9\u7c7b\u51fd\u6570\u88ab\u7f16\u8bd1\u6210\u52a8\u6001\u8f7d\u5165\u5bf9\u8c61\uff08\u4e5f\u88ab\u79f0\u4e3a\u5171\u4eab\u5e93\uff09\u5e76\u4e14\u7531\u670d\u52a1\u5668\u5728\u9700\u8981\u65f6\u8f7d\u5165\u3002\u52a8\u6001\u8f7d\u5165\u662f\u628a<span class=\"quote\">\u201c<span class=\"quote\">C \u8bed\u8a00</span>\u201d</span>\u51fd\u6570\u548c<span class=\"quote\">\u201c<span class=\"quote\">\u5185\u90e8</span>\u201d</span>\u51fd\u6570\u533a\u5206\u5f00\u7684\u7279\u6027 \u2014 \u4e24\u8005\u771f\u6b63\u7684\u7f16\u7801\u4e60\u60ef\u5b9e\u9645\u4e0a\u662f\u4e00\u6837\u7684\uff08\u56e0\u6b64\uff0c\u6807\u51c6\u5185\u90e8\u51fd\u6570\u5e93\u4e3a\u7528\u6237\u5b9a\u4e49\u7684 C \u51fd\u6570\u63d0\u4f9b\u4e86\u4e30\u5bcc\u7684\u7f16\u7801\u793a\u4f8b\uff09\u3002\n   </p><p>\n    \u5f53\u524d\u4ec5\u6709\u4e00\u79cd\u8c03\u7528\u7ea6\u5b9a\u88ab\u7528\u4e8e C \u51fd\u6570\uff08<span class=\"quote\">\u201c<span class=\"quote\">\u7248\u672c 1</span>\u201d</span>\uff09\u3002\u5982\u4e0b\u6587\u6240\u793a\uff0c\u4e3a\u51fd\u6570\u7f16\u5199\u4e00\u4e2a <code class=\"literal\">PG_FUNCTION_INFO_V1()</code> \u5b8f\u5c31\u80fd\u6307\u793a\u5bf9\u8be5\u8c03\u7528\u7ea6\u5b9a\u7684\u652f\u6301\u3002\n   </p><p><a href=\"/zh/docs/14/xfunc-c.html\">\u67e5\u770b\u5b8c\u6574\u4e2d\u6587\u624b\u518c\u4e0e\u4e0a\u4e0b\u6587</a>\u3002</p>"}, "summary": "\u8fc7\u7a0b\u8bed\u8a00 c\u3002", "version": "14", "link_map": {"/zh/docs/14/xfunc-c.html": "/docs/14/xfunc-c.html"}, "body_html": "<p>\u8fc7\u7a0b\u8bed\u8a00 c\u3002</p><dl><dt>\u53d7\u4fe1\u4efb</dt><dd><code>\u5426</code></dd><dt>\u9a8c\u8bc1\u51fd\u6570</dt><dd><code>fmgr_c_validator</code></dd></dl><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u8282\u9009</h3><p>\n    \u7528\u6237\u5b9a\u4e49\u7684\u51fd\u6570\u53ef\u4ee5\u7528 C \u7f16\u5199\uff08\u6216\u8005\u53ef\u4ee5\u4e0e C \u517c\u5bb9\u7684\u8bed\u8a00\uff0c\u4f8b\u5982 C++\uff09\u3002\u8fd9\u7c7b\u51fd\u6570\u88ab\u7f16\u8bd1\u6210\u52a8\u6001\u8f7d\u5165\u5bf9\u8c61\uff08\u4e5f\u88ab\u79f0\u4e3a\u5171\u4eab\u5e93\uff09\u5e76\u4e14\u7531\u670d\u52a1\u5668\u5728\u9700\u8981\u65f6\u8f7d\u5165\u3002\u52a8\u6001\u8f7d\u5165\u662f\u628a<span>\u201c<span>C \u8bed\u8a00</span>\u201d</span>\u51fd\u6570\u548c<span>\u201c<span>\u5185\u90e8</span>\u201d</span>\u51fd\u6570\u533a\u5206\u5f00\u7684\u7279\u6027 \u2014 \u4e24\u8005\u771f\u6b63\u7684\u7f16\u7801\u4e60\u60ef\u5b9e\u9645\u4e0a\u662f\u4e00\u6837\u7684\uff08\u56e0\u6b64\uff0c\u6807\u51c6\u5185\u90e8\u51fd\u6570\u5e93\u4e3a\u7528\u6237\u5b9a\u4e49\u7684 C \u51fd\u6570\u63d0\u4f9b\u4e86\u4e30\u5bcc\u7684\u7f16\u7801\u793a\u4f8b\uff09\u3002\n   </p><p>\n    \u5f53\u524d\u4ec5\u6709\u4e00\u79cd\u8c03\u7528\u7ea6\u5b9a\u88ab\u7528\u4e8e C \u51fd\u6570\uff08<span>\u201c<span>\u7248\u672c 1</span>\u201d</span>\uff09\u3002\u5982\u4e0b\u6587\u6240\u793a\uff0c\u4e3a\u51fd\u6570\u7f16\u5199\u4e00\u4e2a <code>PG_FUNCTION_INFO_V1()</code> \u5b8f\u5c31\u80fd\u6307\u793a\u5bf9\u8be5\u8c03\u7528\u7ea6\u5b9a\u7684\u652f\u6301\u3002\n   </p><p><a href=\"/zh/docs/14/xfunc-c.html\" rel=\"nofollow\">\u67e5\u770b\u5b8c\u6574\u4e2d\u6587\u624b\u518c\u4e0e\u4e0a\u4e0b\u6587</a>\u3002</p>", "body_sha256": "28dfce60a12d1b0f764ef137b36bf30d028267fc503c173e4e65d8530eae76d0", "content_hash": "4704ad92abd5bb22b7973ef774327f4135100a09edb4a5a155231911063ba07d", "source_database": "center", "source_revision": "a7fa7ed3d558172355f51406097a7bd4f6b473be80f311ef7cda96bf383d8897"}, "signature": "", "tables_zh": [], "attributes": {"kind": "Native function language", "handler": "", "trusted": "f", "validator": "fmgr_c_validator"}, "description": ["\u8fc7\u7a0b\u8bed\u8a00 c\u3002"], "manual_html": "", "manual_path": "/docs/14/xfunc-c.html", "sections_zh": [], "localization": {"status": "complete", "sources": [{"url": "/docs/14/xfunc-c.html", "method": "same-major semantic node", "sha256": "2fbd11bbae7ab2425c4de4cb1fc3f8b0c29c45b2e6551bb486931806474d2dfe", "language": "zh", "matched_nodes": ["#XFUNC-C/div[0]", "#XFUNC-C/div[10]/p[10]", "#XFUNC-C/div[10]/p[1]", "#XFUNC-C/div[10]/p[2]", "#XFUNC-C/div[10]/p[6]", "#XFUNC-C/div[10]/p[7]", "#XFUNC-C/div[10]/p[8]", "#XFUNC-C/div[11]/div[7]/p[1]", "#XFUNC-C/div[11]/div[8]/p[1]", "#XFUNC-C/div[11]/p[11]", "#XFUNC-C/div[11]/p[13]", "#XFUNC-C/div[11]/p[14]", "#XFUNC-C/div[11]/p[16]", "#XFUNC-C/div[11]/p[18]", "#XFUNC-C/div[11]/p[19]", "#XFUNC-C/div[11]/p[1]", "#XFUNC-C/div[11]/p[21]", "#XFUNC-C/div[11]/p[22]", "#XFUNC-C/div[11]/p[24]", "#XFUNC-C/div[11]/p[25]", "#XFUNC-C/div[11]/p[27]", "#XFUNC-C/div[11]/p[28]", "#XFUNC-C/div[11]/p[3]", "#XFUNC-C/div[11]/p[4]", "#XFUNC-C/div[11]/p[6]", "#XFUNC-C/div[11]/p[9]", "#XFUNC-C/div[12]/div[19]/p[1]", "#XFUNC-C/div[12]/p[10]", "#XFUNC-C/div[12]/p[12]", "#XFUNC-C/div[12]/p[13]", "#XFUNC-C/div[12]/p[15]", "#XFUNC-C/div[12]/p[20]", "#XFUNC-C/div[12]/p[22]", "#XFUNC-C/div[12]/p[24]", "#XFUNC-C/div[12]/p[26]", "#XFUNC-C/div[12]/p[28]", "#XFUNC-C/div[12]/p[2]", "#XFUNC-C/div[12]/p[3]", "#XFUNC-C/div[12]/p[4]", "#XFUNC-C/div[12]/p[6]", "#XFUNC-C/div[12]/p[8]", "#XFUNC-C/div[13]/p[1]", "#XFUNC-C/div[13]/p[2]", "#XFUNC-C/div[13]/p[4]", "#XFUNC-C/div[13]/p[6]", "#XFUNC-C/div[14]/p[1]", "#XFUNC-C/div[14]/p[3]", "#XFUNC-C/div[14]/p[6]", "#XFUNC-C/div[15]/div[3]/ul[0]/li[0]", "#XFUNC-C/div[15]/div[3]/ul[0]/li[1]", "#XFUNC-C/div[15]/div[3]/ul[0]/li[2]", "#XFUNC-C/div[15]/p[2]", "#XFUNC-C/div[15]/p[4]", "#XFUNC-C/div[1]/dl[0]/dt[0]", "#XFUNC-C/div[1]/dl[0]/dt[10]", "#XFUNC-C/div[1]/dl[0]/dt[1]", "#XFUNC-C/div[1]/dl[0]/dt[2]", "#XFUNC-C/div[1]/dl[0]/dt[3]", "#XFUNC-C/div[1]/dl[0]/dt[4]", "#XFUNC-C/div[1]/dl[0]/dt[5]", "#XFUNC-C/div[1]/dl[0]/dt[6]", "#XFUNC-C/div[1]/dl[0]/dt[7]", "#XFUNC-C/div[1]/dl[0]/dt[8]", "#XFUNC-C/div[1]/dl[0]/dt[9]", "#XFUNC-C/div[5]/div[4]/ol[0]/li[0]", "#XFUNC-C/div[5]/div[4]/ol[0]/li[1]", "#XFUNC-C/div[5]/div[4]/ol[0]/li[2]", "#XFUNC-C/div[5]/div[4]/ol[0]/li[3]", "#XFUNC-C/div[5]/div[9]/h3[0]", "#XFUNC-C/div[5]/div[9]/p[1]", "#XFUNC-C/div[5]/p[11]", "#XFUNC-C/div[5]/p[13]", "#XFUNC-C/div[5]/p[18]", "#XFUNC-C/div[5]/p[2]", "#XFUNC-C/div[5]/p[3]", "#XFUNC-C/div[5]/p[5]", "#XFUNC-C/div[5]/p[6]", "#XFUNC-C/div[5]/p[7]", "#XFUNC-C/div[5]/p[8]", "#XFUNC-C/div[6]/div[13]/h3[0]", "#XFUNC-C/div[6]/div[13]/p[1]", "#XFUNC-C/div[6]/div[21]/div[1]/table[0]/tbody[2]/tr[0]/td[2]", "#XFUNC-C/div[6]/div[21]/div[1]/table[0]/tbody[2]/tr[3]/td[2]", "#XFUNC-C/div[6]/div[21]/div[1]/table[0]/thead[1]/tr[0]/th[0]", "#XFUNC-C/div[6]/div[21]/div[1]/table[0]/thead[1]/tr[0]/th[1]", "#XFUNC-C/div[6]/div[21]/p[0]", "#XFUNC-C/div[6]/div[4]/ul[0]/li[0]", "#XFUNC-C/div[6]/div[4]/ul[0]/li[1]", "#XFUNC-C/div[6]/div[4]/ul[0]/li[2]", "#XFUNC-C/div[6]/p[10]", "#XFUNC-C/div[6]/p[11]", "#XFUNC-C/div[6]/p[12]", "#XFUNC-C/div[6]/p[14]", "#XFUNC-C/div[6]/p[16]", "#XFUNC-C/div[6]/p[17]", "#XFUNC-C/div[6]/p[19]", "#XFUNC-C/div[6]/p[20]", "#XFUNC-C/div[6]/p[20]/span[2]/span[0]", "#XFUNC-C/div[6]/p[23]", "#XFUNC-C/div[6]/p[2]", "#XFUNC-C/div[6]/p[3]", "#XFUNC-C/div[6]/p[5]", "#XFUNC-C/div[6]/p[7]", "#XFUNC-C/div[6]/p[8]", "#XFUNC-C/div[7]/p[12]", "#XFUNC-C/div[7]/p[13]", "#XFUNC-C/div[7]/p[14]", "#XFUNC-C/div[7]/p[16]", "#XFUNC-C/div[7]/p[1]", "#XFUNC-C/div[7]/p[3]", "#XFUNC-C/div[7]/p[5]", "#XFUNC-C/div[7]/p[6]", "#XFUNC-C/div[7]/p[9]", "#XFUNC-C/div[8]/div[3]/ul[0]/li[0]", "#XFUNC-C/div[8]/div[3]/ul[0]/li[1]", "#XFUNC-C/div[8]/div[3]/ul[0]/li[2]", "#XFUNC-C/div[8]/div[3]/ul[0]/li[3]", "#XFUNC-C/div[8]/div[3]/ul[0]/li[4]", "#XFUNC-C/div[8]/div[3]/ul[0]/li[5]", "#XFUNC-C/div[8]/div[3]/ul[0]/li[6]", "#XFUNC-C/div[8]/p[1]", "#XFUNC-C/div[8]/p[2]", "#XFUNC-C/div[9]/div[5]/dl[0]/dd[11]/p[0]", "#XFUNC-C/div[9]/div[5]/dl[0]/dd[13]/p[0]", "#XFUNC-C/div[9]/div[5]/dl[0]/dd[13]/p[2]", "#XFUNC-C/div[9]/div[5]/dl[0]/dd[1]/p[0]", "#XFUNC-C/div[9]/div[5]/dl[0]/dd[1]/p[2]", "#XFUNC-C/div[9]/div[5]/dl[0]/dd[3]/p[0]", "#XFUNC-C/div[9]/div[5]/dl[0]/dd[3]/p[2]", "#XFUNC-C/div[9]/div[5]/dl[0]/dd[3]/p[4]", "#XFUNC-C/div[9]/div[5]/dl[0]/dd[3]/p[6]", "#XFUNC-C/div[9]/div[5]/dl[0]/dd[5]/p[0]", "#XFUNC-C/div[9]/div[5]/dl[0]/dd[7]/p[0]", "#XFUNC-C/div[9]/div[5]/dl[0]/dd[9]/p[0]", "#XFUNC-C/div[9]/div[6]/h3[0]", "#XFUNC-C/div[9]/div[6]/p[1]", "#XFUNC-C/div[9]/p[1]", "#XFUNC-C/div[9]/p[2]", "#XFUNC-C/div[9]/p[4]", "#XFUNC-C/div[9]/p[7]", "#XFUNC-C/div[9]/p[8]", "#XFUNC-C/p[3]"]}], "language": "zh", "original_text": {"/versions/14/description/0": "dynamically-loaded C functions", "/versions/14/facts/0/label": "Kind", "/versions/14/facts/0/value": "Native function language", "/versions/14/facts/1/label": "Trusted", "/versions/14/facts/2/label": "Validator"}, "fallback_fields": [], "source_language": "en", "original_snapshot_sha256": "518949b03459ed9d65aa9ace0a03bdb2d64b5d9e070ef66215a9ef4904368633", "canonical_center_text_hash": "4704ad92abd5bb22b7973ef774327f4135100a09edb4a5a155231911063ba07d"}, "description_zh": "\u8fc7\u7a0b\u8bed\u8a00 c\u3002", "comparison_data": {"kind": "Native function language", "handler": "", "trusted": "f", "validator": "fmgr_c_validator"}, "comparison_hash": "e8a219c1a26602affef41a21da26d099cf721ba42739cb7b056898c9e2d6fbe6", "manual_language": "zh", "description_zh_html": "<p>\u8fc7\u7a0b\u8bed\u8a00 c\u3002</p><dl><dt>\u53d7\u4fe1\u4efb</dt><dd><code>\u5426</code></dd><dt>\u9a8c\u8bc1\u51fd\u6570</dt><dd><code>fmgr_c_validator</code></dd></dl><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u8282\u9009</h3><p>\n    \u7528\u6237\u5b9a\u4e49\u7684\u51fd\u6570\u53ef\u4ee5\u7528 C \u7f16\u5199\uff08\u6216\u8005\u53ef\u4ee5\u4e0e C \u517c\u5bb9\u7684\u8bed\u8a00\uff0c\u4f8b\u5982 C++\uff09\u3002\u8fd9\u7c7b\u51fd\u6570\u88ab\u7f16\u8bd1\u6210\u52a8\u6001\u8f7d\u5165\u5bf9\u8c61\uff08\u4e5f\u88ab\u79f0\u4e3a\u5171\u4eab\u5e93\uff09\u5e76\u4e14\u7531\u670d\u52a1\u5668\u5728\u9700\u8981\u65f6\u8f7d\u5165\u3002\u52a8\u6001\u8f7d\u5165\u662f\u628a<span>\u201c<span>C \u8bed\u8a00</span>\u201d</span>\u51fd\u6570\u548c<span>\u201c<span>\u5185\u90e8</span>\u201d</span>\u51fd\u6570\u533a\u5206\u5f00\u7684\u7279\u6027 \u2014 \u4e24\u8005\u771f\u6b63\u7684\u7f16\u7801\u4e60\u60ef\u5b9e\u9645\u4e0a\u662f\u4e00\u6837\u7684\uff08\u56e0\u6b64\uff0c\u6807\u51c6\u5185\u90e8\u51fd\u6570\u5e93\u4e3a\u7528\u6237\u5b9a\u4e49\u7684 C \u51fd\u6570\u63d0\u4f9b\u4e86\u4e30\u5bcc\u7684\u7f16\u7801\u793a\u4f8b\uff09\u3002\n   </p><p>\n    \u5f53\u524d\u4ec5\u6709\u4e00\u79cd\u8c03\u7528\u7ea6\u5b9a\u88ab\u7528\u4e8e C \u51fd\u6570\uff08<span>\u201c<span>\u7248\u672c 1</span>\u201d</span>\uff09\u3002\u5982\u4e0b\u6587\u6240\u793a\uff0c\u4e3a\u51fd\u6570\u7f16\u5199\u4e00\u4e2a <code>PG_FUNCTION_INFO_V1()</code> \u5b8f\u5c31\u80fd\u6307\u793a\u5bf9\u8be5\u8c03\u7528\u7ea6\u5b9a\u7684\u652f\u6301\u3002\n   </p><p><a href=\"/zh/docs/14/xfunc-c.html\" rel=\"nofollow\">\u67e5\u770b\u5b8c\u6574\u4e2d\u6587\u624b\u518c\u4e0e\u4e0a\u4e0b\u6587</a>\u3002</p>"}, "15": {"facts": [{"label": "\u79cd\u7c7b", "value": "\u539f\u751f\u51fd\u6570\u8bed\u8a00"}, {"label": "\u53ef\u4fe1", "value": "f"}, {"label": "\u6821\u9a8c\u51fd\u6570", "value": "fmgr_c_validator"}], "tables": [], "aliases": [], "catalog": {"oid": "13", "descr": "dynamically-loaded C functions", "lanacl": "_null_", "lanispl": "f", "lanname": "c", "lanowner": "POSTGRES", "laninline": "0", "oid_symbol": "ClanguageId", "lanpltrusted": "f", "lanvalidator": "fmgr_c_validator", "lanplcallfoid": "0"}, "related": [], "release": {"ref": "https://ftp.postgresql.org/pub/source/v15.19/postgresql-15.19.tar.bz2", "label": "15.19", "major": "15", "channel": "stable", "revision": "e1a64a87a46b825b88c082e4518161a47aab53c45694964f8ba1df28f7859f89", "source_sha256": "e1a64a87a46b825b88c082e4518161a47aab53c45694964f8ba1df28f7859f89", "catalog_fingerprint": "fefe3c425147a86defada190c9b0663cfe02caa1724f5dede93e46457572252d"}, "sources": [{"url": "https://ftp.postgresql.org/pub/source/v15.19/postgresql-15.19.tar.bz2", "label": "Matching PostgreSQL source archive", "sha256": "e1a64a87a46b825b88c082e4518161a47aab53c45694964f8ba1df28f7859f89"}, {"url": "/docs/15/xfunc-c.html", "path": "xfunc-c.html", "label": "PostgreSQL 15 English manual", "sha256": "10276a33177d2982a779f16dbbf668edd743381a24cdb1c198ebbf64825209f9"}], "zh_from": {"kind": "same-version-chinese-manual-with-source-derived-structured-summary", "manual": {"url": "/zh/docs/15/xfunc-c.html", "anchor": "", "locale": "zh-Hans", "version": "15", "build_id": 101, "page_key": "xfunc-c.html", "extraction": "concept-introduction", "source_hash": "e938ce03b54443e5d4a8d2d333d6d9988a6541173ac3f94616a8d146c2d42523", "fragment_sha256": "5c62a4cdf3760f946fb5dacce6f317d43425c53eeb0bcd7a7e8f6b17ea70f850", "source_revision": "unknown:rendered-translation-baseline", "translation_revision": "git:b1b500221dbe5437cfca004d6b04d3f6e422765d;html-sha256:6bce1a2df9170cb1146a1411c5547190856638221a6539e618ee1016c9f493ad", "translated_from_revision": null}, "body_sha256": "6d6e893fd641ea7e4f9e3262993623f8f0003b7f480267a78f4ecfed371ee4ca", "runtime_rerun": false, "authored_translation": "source-derived-structured-summary", "source_facts_revision": "e1a64a87a46b825b88c082e4518161a47aab53c45694964f8ba1df28f7859f89"}, "facts_zh": [{"label": "\u79cd\u7c7b", "value": "\u539f\u751f\u51fd\u6570\u8bed\u8a00"}, {"label": "\u53ef\u4fe1", "value": "f"}, {"label": "\u6821\u9a8c\u51fd\u6570", "value": "fmgr_c_validator"}], "sections": [], "center_zh": {"title": "c", "locale": "zh-Hans", "source": {"key": "c", "locale": "zh-Hans", "version": "15", "text_hash": "1e874f6520870210ec131e8398ea14a31f98611cfbaa98dc1c423e07fe857969", "collection": "language", "dataset_hash": "7c31b524dfe136022d39a6ae8dcfac6b3bbd5f8fdaf422536599981252aff0c9", "source_database": "center", "source_revision": "e1a64a87a46b825b88c082e4518161a47aab53c45694964f8ba1df28f7859f89"}, "payload": {"facts": [{"label": "\u79cd\u7c7b", "value": "\u539f\u751f\u51fd\u6570\u8bed\u8a00"}, {"label": "\u53ef\u4fe1", "value": "f"}, {"label": "\u6821\u9a8c\u51fd\u6570", "value": "fmgr_c_validator"}], "tables": [], "zh_from": {"kind": "same-version-chinese-manual-with-source-derived-structured-summary", "manual": {"url": "/zh/docs/15/xfunc-c.html", "anchor": "", "locale": "zh-Hans", "version": "15", "build_id": 101, "page_key": "xfunc-c.html", "extraction": "concept-introduction", "source_hash": "e938ce03b54443e5d4a8d2d333d6d9988a6541173ac3f94616a8d146c2d42523", "fragment_sha256": "5c62a4cdf3760f946fb5dacce6f317d43425c53eeb0bcd7a7e8f6b17ea70f850", "source_revision": "unknown:rendered-translation-baseline", "translation_revision": "git:b1b500221dbe5437cfca004d6b04d3f6e422765d;html-sha256:6bce1a2df9170cb1146a1411c5547190856638221a6539e618ee1016c9f493ad", "translated_from_revision": null}, "body_sha256": "6d6e893fd641ea7e4f9e3262993623f8f0003b7f480267a78f4ecfed371ee4ca", "runtime_rerun": false, "authored_translation": "source-derived-structured-summary", "source_facts_revision": "e1a64a87a46b825b88c082e4518161a47aab53c45694964f8ba1df28f7859f89"}, "sections": [], "description_zh": "\u8fc7\u7a0b\u8bed\u8a00 c\u3002", "description_zh_html": "<p>\u8fc7\u7a0b\u8bed\u8a00 c\u3002</p><dl><dt>\u53d7\u4fe1\u4efb</dt><dd><code>\u5426</code></dd><dt>\u9a8c\u8bc1\u51fd\u6570</dt><dd><code>fmgr_c_validator</code></dd></dl><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u8282\u9009</h3><p>\n    \u7528\u6237\u5b9a\u4e49\u7684\u51fd\u6570\u53ef\u4ee5\u7528 C \u7f16\u5199\uff08\u6216\u8005\u53ef\u4ee5\u4e0e C \u517c\u5bb9\u7684\u8bed\u8a00\uff0c\u4f8b\u5982 C++\uff09\u3002\u8fd9\u7c7b\u51fd\u6570\u88ab\u7f16\u8bd1\u6210\u52a8\u6001\u8f7d\u5165\u5bf9\u8c61\uff08\u4e5f\u88ab\u79f0\u4e3a\u5171\u4eab\u5e93\uff09\u5e76\u4e14\u7531\u670d\u52a1\u5668\u5728\u9700\u8981\u65f6\u8f7d\u5165\u3002\u52a8\u6001\u8f7d\u5165\u662f\u628a<span class=\"quote\">\u201c<span class=\"quote\">C \u8bed\u8a00</span>\u201d</span>\u51fd\u6570\u548c<span class=\"quote\">\u201c<span class=\"quote\">\u5185\u90e8</span>\u201d</span>\u51fd\u6570\u533a\u5206\u5f00\u7684\u7279\u6027 \u2014 \u4e24\u8005\u771f\u6b63\u7684\u7f16\u7801\u4e60\u60ef\u5b9e\u9645\u4e0a\u662f\u4e00\u6837\u7684\uff08\u56e0\u6b64\uff0c\u6807\u51c6\u5185\u90e8\u51fd\u6570\u5e93\u4e3a\u7528\u6237\u5b9a\u4e49\u7684 C \u51fd\u6570\u63d0\u4f9b\u4e86\u4e30\u5bcc\u7684\u7f16\u7801\u793a\u4f8b\uff09\u3002\n   </p><p>\n    \u5f53\u524d\u4ec5\u6709\u4e00\u79cd\u8c03\u7528\u7ea6\u5b9a\u88ab\u7528\u4e8e C \u51fd\u6570\uff08<span class=\"quote\">\u201c<span class=\"quote\">\u7248\u672c 1</span>\u201d</span>\uff09\u3002\u5982\u4e0b\u6587\u6240\u793a\uff0c\u4e3a\u51fd\u6570\u7f16\u5199\u4e00\u4e2a <code class=\"literal\">PG_FUNCTION_INFO_V1()</code> \u5b8f\u5c31\u80fd\u6307\u793a\u5bf9\u8be5\u8c03\u7528\u7ea6\u5b9a\u7684\u652f\u6301\u3002\n   </p><p><a href=\"/zh/docs/15/xfunc-c.html\">\u67e5\u770b\u5b8c\u6574\u4e2d\u6587\u624b\u518c\u4e0e\u4e0a\u4e0b\u6587</a>\u3002</p>"}, "summary": "\u8fc7\u7a0b\u8bed\u8a00 c\u3002", "version": "15", "link_map": {"/zh/docs/15/xfunc-c.html": "/docs/15/xfunc-c.html"}, "body_html": "<p>\u8fc7\u7a0b\u8bed\u8a00 c\u3002</p><dl><dt>\u53d7\u4fe1\u4efb</dt><dd><code>\u5426</code></dd><dt>\u9a8c\u8bc1\u51fd\u6570</dt><dd><code>fmgr_c_validator</code></dd></dl><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u8282\u9009</h3><p>\n    \u7528\u6237\u5b9a\u4e49\u7684\u51fd\u6570\u53ef\u4ee5\u7528 C \u7f16\u5199\uff08\u6216\u8005\u53ef\u4ee5\u4e0e C \u517c\u5bb9\u7684\u8bed\u8a00\uff0c\u4f8b\u5982 C++\uff09\u3002\u8fd9\u7c7b\u51fd\u6570\u88ab\u7f16\u8bd1\u6210\u52a8\u6001\u8f7d\u5165\u5bf9\u8c61\uff08\u4e5f\u88ab\u79f0\u4e3a\u5171\u4eab\u5e93\uff09\u5e76\u4e14\u7531\u670d\u52a1\u5668\u5728\u9700\u8981\u65f6\u8f7d\u5165\u3002\u52a8\u6001\u8f7d\u5165\u662f\u628a<span>\u201c<span>C \u8bed\u8a00</span>\u201d</span>\u51fd\u6570\u548c<span>\u201c<span>\u5185\u90e8</span>\u201d</span>\u51fd\u6570\u533a\u5206\u5f00\u7684\u7279\u6027 \u2014 \u4e24\u8005\u771f\u6b63\u7684\u7f16\u7801\u4e60\u60ef\u5b9e\u9645\u4e0a\u662f\u4e00\u6837\u7684\uff08\u56e0\u6b64\uff0c\u6807\u51c6\u5185\u90e8\u51fd\u6570\u5e93\u4e3a\u7528\u6237\u5b9a\u4e49\u7684 C \u51fd\u6570\u63d0\u4f9b\u4e86\u4e30\u5bcc\u7684\u7f16\u7801\u793a\u4f8b\uff09\u3002\n   </p><p>\n    \u5f53\u524d\u4ec5\u6709\u4e00\u79cd\u8c03\u7528\u7ea6\u5b9a\u88ab\u7528\u4e8e C \u51fd\u6570\uff08<span>\u201c<span>\u7248\u672c 1</span>\u201d</span>\uff09\u3002\u5982\u4e0b\u6587\u6240\u793a\uff0c\u4e3a\u51fd\u6570\u7f16\u5199\u4e00\u4e2a <code>PG_FUNCTION_INFO_V1()</code> \u5b8f\u5c31\u80fd\u6307\u793a\u5bf9\u8be5\u8c03\u7528\u7ea6\u5b9a\u7684\u652f\u6301\u3002\n   </p><p><a href=\"/zh/docs/15/xfunc-c.html\" rel=\"nofollow\">\u67e5\u770b\u5b8c\u6574\u4e2d\u6587\u624b\u518c\u4e0e\u4e0a\u4e0b\u6587</a>\u3002</p>", "body_sha256": "51ba77e64d9a052314824bbfcd8e4e4df79a2f7d7a15ce253be22da829bab528", "content_hash": "1e874f6520870210ec131e8398ea14a31f98611cfbaa98dc1c423e07fe857969", "source_database": "center", "source_revision": "e1a64a87a46b825b88c082e4518161a47aab53c45694964f8ba1df28f7859f89"}, "signature": "", "tables_zh": [], "attributes": {"kind": "Native function language", "handler": "", "trusted": "f", "validator": "fmgr_c_validator"}, "description": ["\u8fc7\u7a0b\u8bed\u8a00 c\u3002"], "manual_html": "", "manual_path": "/docs/15/xfunc-c.html", "sections_zh": [], "localization": {"status": "complete", "sources": [{"url": "/docs/15/xfunc-c.html", "method": "same-major semantic node", "sha256": "525a67d45851e1ac7a414aeb9e309bc6f6ccd6c93cc6c70954c06bdb0e5279bd", "language": "zh", "matched_nodes": ["#XFUNC-C/div[0]", "#XFUNC-C/div[10]/p[10]", "#XFUNC-C/div[10]/p[1]", "#XFUNC-C/div[10]/p[2]", "#XFUNC-C/div[10]/p[6]", "#XFUNC-C/div[10]/p[7]", "#XFUNC-C/div[10]/p[8]", "#XFUNC-C/div[11]/div[7]/p[1]", "#XFUNC-C/div[11]/div[8]/p[1]", "#XFUNC-C/div[11]/p[11]", "#XFUNC-C/div[11]/p[13]", "#XFUNC-C/div[11]/p[14]", "#XFUNC-C/div[11]/p[16]", "#XFUNC-C/div[11]/p[18]", "#XFUNC-C/div[11]/p[19]", "#XFUNC-C/div[11]/p[1]", "#XFUNC-C/div[11]/p[21]", "#XFUNC-C/div[11]/p[22]", "#XFUNC-C/div[11]/p[24]", "#XFUNC-C/div[11]/p[25]", "#XFUNC-C/div[11]/p[27]", "#XFUNC-C/div[11]/p[28]", "#XFUNC-C/div[11]/p[3]", "#XFUNC-C/div[11]/p[4]", "#XFUNC-C/div[11]/p[6]", "#XFUNC-C/div[11]/p[9]", "#XFUNC-C/div[12]/div[19]/p[1]", "#XFUNC-C/div[12]/p[10]", "#XFUNC-C/div[12]/p[12]", "#XFUNC-C/div[12]/p[13]", "#XFUNC-C/div[12]/p[15]", "#XFUNC-C/div[12]/p[20]", "#XFUNC-C/div[12]/p[22]", "#XFUNC-C/div[12]/p[24]", "#XFUNC-C/div[12]/p[26]", "#XFUNC-C/div[12]/p[28]", "#XFUNC-C/div[12]/p[2]", "#XFUNC-C/div[12]/p[3]", "#XFUNC-C/div[12]/p[4]", "#XFUNC-C/div[12]/p[6]", "#XFUNC-C/div[12]/p[8]", "#XFUNC-C/div[13]/p[1]", "#XFUNC-C/div[13]/p[2]", "#XFUNC-C/div[13]/p[4]", "#XFUNC-C/div[13]/p[6]", "#XFUNC-C/div[15]/div[3]/ul[0]/li[0]", "#XFUNC-C/div[15]/div[3]/ul[0]/li[1]", "#XFUNC-C/div[15]/div[3]/ul[0]/li[2]", "#XFUNC-C/div[15]/p[2]", "#XFUNC-C/div[15]/p[4]", "#XFUNC-C/div[1]/dl[0]/dt[0]", "#XFUNC-C/div[1]/dl[0]/dt[10]", "#XFUNC-C/div[1]/dl[0]/dt[1]", "#XFUNC-C/div[1]/dl[0]/dt[2]", "#XFUNC-C/div[1]/dl[0]/dt[3]", "#XFUNC-C/div[1]/dl[0]/dt[4]", "#XFUNC-C/div[1]/dl[0]/dt[5]", "#XFUNC-C/div[1]/dl[0]/dt[6]", "#XFUNC-C/div[1]/dl[0]/dt[7]", "#XFUNC-C/div[1]/dl[0]/dt[8]", "#XFUNC-C/div[1]/dl[0]/dt[9]", "#XFUNC-C/div[5]/div[4]/ol[0]/li[0]", "#XFUNC-C/div[5]/div[4]/ol[0]/li[1]", "#XFUNC-C/div[5]/div[4]/ol[0]/li[2]", "#XFUNC-C/div[5]/div[4]/ol[0]/li[3]", "#XFUNC-C/div[5]/div[9]/h3[0]", "#XFUNC-C/div[5]/div[9]/p[1]", "#XFUNC-C/div[5]/p[11]", "#XFUNC-C/div[5]/p[13]", "#XFUNC-C/div[5]/p[16]", "#XFUNC-C/div[5]/p[2]", "#XFUNC-C/div[5]/p[3]", "#XFUNC-C/div[5]/p[5]", "#XFUNC-C/div[5]/p[6]", "#XFUNC-C/div[5]/p[7]", "#XFUNC-C/div[5]/p[8]", "#XFUNC-C/div[6]/div[13]/h3[0]", "#XFUNC-C/div[6]/div[13]/p[1]", "#XFUNC-C/div[6]/div[21]/div[1]/table[0]/tbody[2]/tr[0]/td[2]", "#XFUNC-C/div[6]/div[21]/div[1]/table[0]/tbody[2]/tr[3]/td[2]", "#XFUNC-C/div[6]/div[21]/div[1]/table[0]/thead[1]/tr[0]/th[0]", "#XFUNC-C/div[6]/div[21]/div[1]/table[0]/thead[1]/tr[0]/th[1]", "#XFUNC-C/div[6]/div[21]/p[0]", "#XFUNC-C/div[6]/div[4]/ul[0]/li[0]", "#XFUNC-C/div[6]/div[4]/ul[0]/li[1]", "#XFUNC-C/div[6]/div[4]/ul[0]/li[2]", "#XFUNC-C/div[6]/p[10]", "#XFUNC-C/div[6]/p[11]", "#XFUNC-C/div[6]/p[12]", "#XFUNC-C/div[6]/p[14]", "#XFUNC-C/div[6]/p[16]", "#XFUNC-C/div[6]/p[17]", "#XFUNC-C/div[6]/p[19]", "#XFUNC-C/div[6]/p[20]", "#XFUNC-C/div[6]/p[20]/span[2]/span[0]", "#XFUNC-C/div[6]/p[23]", "#XFUNC-C/div[6]/p[2]", "#XFUNC-C/div[6]/p[3]", "#XFUNC-C/div[6]/p[5]", "#XFUNC-C/div[6]/p[7]", "#XFUNC-C/div[6]/p[8]", "#XFUNC-C/div[7]/p[12]", "#XFUNC-C/div[7]/p[13]", "#XFUNC-C/div[7]/p[14]", "#XFUNC-C/div[7]/p[16]", "#XFUNC-C/div[7]/p[1]", "#XFUNC-C/div[7]/p[3]", "#XFUNC-C/div[7]/p[5]", "#XFUNC-C/div[7]/p[6]", "#XFUNC-C/div[7]/p[9]", "#XFUNC-C/div[8]/div[3]/ul[0]/li[0]", "#XFUNC-C/div[8]/div[3]/ul[0]/li[1]", "#XFUNC-C/div[8]/div[3]/ul[0]/li[2]", "#XFUNC-C/div[8]/div[3]/ul[0]/li[3]", "#XFUNC-C/div[8]/div[3]/ul[0]/li[4]", "#XFUNC-C/div[8]/div[3]/ul[0]/li[5]", "#XFUNC-C/div[8]/div[3]/ul[0]/li[6]", "#XFUNC-C/div[8]/p[1]", "#XFUNC-C/div[8]/p[2]", "#XFUNC-C/div[9]/div[5]/dl[0]/dd[11]/p[0]", "#XFUNC-C/div[9]/div[5]/dl[0]/dd[13]/p[0]", "#XFUNC-C/div[9]/div[5]/dl[0]/dd[13]/p[2]", "#XFUNC-C/div[9]/div[5]/dl[0]/dd[1]/p[0]", "#XFUNC-C/div[9]/div[5]/dl[0]/dd[1]/p[2]", "#XFUNC-C/div[9]/div[5]/dl[0]/dd[3]/p[0]", "#XFUNC-C/div[9]/div[5]/dl[0]/dd[3]/p[2]", "#XFUNC-C/div[9]/div[5]/dl[0]/dd[3]/p[4]", "#XFUNC-C/div[9]/div[5]/dl[0]/dd[3]/p[6]", "#XFUNC-C/div[9]/div[5]/dl[0]/dd[5]/p[0]", "#XFUNC-C/div[9]/div[5]/dl[0]/dd[7]/p[0]", "#XFUNC-C/div[9]/div[5]/dl[0]/dd[9]/p[0]", "#XFUNC-C/div[9]/div[6]/h3[0]", "#XFUNC-C/div[9]/div[6]/p[1]", "#XFUNC-C/div[9]/p[1]", "#XFUNC-C/div[9]/p[2]", "#XFUNC-C/div[9]/p[4]", "#XFUNC-C/div[9]/p[7]", "#XFUNC-C/div[9]/p[8]", "#XFUNC-C/p[3]"]}], "language": "zh", "original_text": {"/versions/15/description/0": "dynamically-loaded C functions", "/versions/15/facts/0/label": "Kind", "/versions/15/facts/0/value": "Native function language", "/versions/15/facts/1/label": "Trusted", "/versions/15/facts/2/label": "Validator"}, "fallback_fields": [], "source_language": "en", "original_snapshot_sha256": "68345e2c267c4123cad990fecd8e72ab97acab1641065493d77ea3ebb1428a9f", "canonical_center_text_hash": "1e874f6520870210ec131e8398ea14a31f98611cfbaa98dc1c423e07fe857969"}, "description_zh": "\u8fc7\u7a0b\u8bed\u8a00 c\u3002", "comparison_data": {"kind": "Native function language", "handler": "", "trusted": "f", "validator": "fmgr_c_validator"}, "comparison_hash": "e8a219c1a26602affef41a21da26d099cf721ba42739cb7b056898c9e2d6fbe6", "manual_language": "zh", "description_zh_html": "<p>\u8fc7\u7a0b\u8bed\u8a00 c\u3002</p><dl><dt>\u53d7\u4fe1\u4efb</dt><dd><code>\u5426</code></dd><dt>\u9a8c\u8bc1\u51fd\u6570</dt><dd><code>fmgr_c_validator</code></dd></dl><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u8282\u9009</h3><p>\n    \u7528\u6237\u5b9a\u4e49\u7684\u51fd\u6570\u53ef\u4ee5\u7528 C \u7f16\u5199\uff08\u6216\u8005\u53ef\u4ee5\u4e0e C \u517c\u5bb9\u7684\u8bed\u8a00\uff0c\u4f8b\u5982 C++\uff09\u3002\u8fd9\u7c7b\u51fd\u6570\u88ab\u7f16\u8bd1\u6210\u52a8\u6001\u8f7d\u5165\u5bf9\u8c61\uff08\u4e5f\u88ab\u79f0\u4e3a\u5171\u4eab\u5e93\uff09\u5e76\u4e14\u7531\u670d\u52a1\u5668\u5728\u9700\u8981\u65f6\u8f7d\u5165\u3002\u52a8\u6001\u8f7d\u5165\u662f\u628a<span>\u201c<span>C \u8bed\u8a00</span>\u201d</span>\u51fd\u6570\u548c<span>\u201c<span>\u5185\u90e8</span>\u201d</span>\u51fd\u6570\u533a\u5206\u5f00\u7684\u7279\u6027 \u2014 \u4e24\u8005\u771f\u6b63\u7684\u7f16\u7801\u4e60\u60ef\u5b9e\u9645\u4e0a\u662f\u4e00\u6837\u7684\uff08\u56e0\u6b64\uff0c\u6807\u51c6\u5185\u90e8\u51fd\u6570\u5e93\u4e3a\u7528\u6237\u5b9a\u4e49\u7684 C \u51fd\u6570\u63d0\u4f9b\u4e86\u4e30\u5bcc\u7684\u7f16\u7801\u793a\u4f8b\uff09\u3002\n   </p><p>\n    \u5f53\u524d\u4ec5\u6709\u4e00\u79cd\u8c03\u7528\u7ea6\u5b9a\u88ab\u7528\u4e8e C \u51fd\u6570\uff08<span>\u201c<span>\u7248\u672c 1</span>\u201d</span>\uff09\u3002\u5982\u4e0b\u6587\u6240\u793a\uff0c\u4e3a\u51fd\u6570\u7f16\u5199\u4e00\u4e2a <code>PG_FUNCTION_INFO_V1()</code> \u5b8f\u5c31\u80fd\u6307\u793a\u5bf9\u8be5\u8c03\u7528\u7ea6\u5b9a\u7684\u652f\u6301\u3002\n   </p><p><a href=\"/zh/docs/15/xfunc-c.html\" rel=\"nofollow\">\u67e5\u770b\u5b8c\u6574\u4e2d\u6587\u624b\u518c\u4e0e\u4e0a\u4e0b\u6587</a>\u3002</p>"}, "16": {"facts": [{"label": "\u79cd\u7c7b", "value": "\u539f\u751f\u51fd\u6570\u8bed\u8a00"}, {"label": "\u53ef\u4fe1", "value": "f"}, {"label": "\u6821\u9a8c\u51fd\u6570", "value": "fmgr_c_validator"}], "tables": [], "aliases": [], "catalog": {"oid": "13", "descr": "dynamically-loaded C functions", "lanacl": "_null_", "lanispl": "f", "lanname": "c", "lanowner": "POSTGRES", "laninline": "0", "oid_symbol": "ClanguageId", "lanpltrusted": "f", "lanvalidator": "fmgr_c_validator", "lanplcallfoid": "0"}, "related": [], "release": {"ref": "https://ftp.postgresql.org/pub/source/v16.15/postgresql-16.15.tar.bz2", "label": "16.15", "major": "16", "channel": "stable", "revision": "c1575341fa7bd40f5274ea465b34390f4dc64cdd0770af327005caaeb9f6b7ed", "source_sha256": "c1575341fa7bd40f5274ea465b34390f4dc64cdd0770af327005caaeb9f6b7ed", "catalog_fingerprint": "fa133458dc8f52e15083b4f59b7a582e2e378b608d3ac5c53054df458a374e23"}, "sources": [{"url": "https://ftp.postgresql.org/pub/source/v16.15/postgresql-16.15.tar.bz2", "label": "Matching PostgreSQL source archive", "sha256": "c1575341fa7bd40f5274ea465b34390f4dc64cdd0770af327005caaeb9f6b7ed"}, {"url": "/docs/16/xfunc-c.html", "path": "xfunc-c.html", "label": "PostgreSQL 16 English manual", "sha256": "547b842b9f6cd0824cd1cefa54c55a311c5993d9b643cb58a7e73f53ae18dcb5"}], "zh_from": {"kind": "same-version-chinese-manual-with-source-derived-structured-summary", "manual": {"url": "/zh/docs/16/xfunc-c.html", "anchor": "", "locale": "zh-Hans", "version": "16", "build_id": 103, "page_key": "xfunc-c.html", "extraction": "concept-introduction", "source_hash": "f920df3dcb26bb349b4be8d33514585ebea94f6e6a5bbf8b412c62c8da6ec77c", "fragment_sha256": "5c62a4cdf3760f946fb5dacce6f317d43425c53eeb0bcd7a7e8f6b17ea70f850", "source_revision": "unknown:rendered-translation-baseline", "translation_revision": "git:b1b500221dbe5437cfca004d6b04d3f6e422765d;html-sha256:80579a071736780f9c4022bb5148e1fb1256f1a33591306af67816e9e9bf3a9b", "translated_from_revision": null}, "body_sha256": "870b453fa185da50dcb9dfbad5a835be54b77073e0575304133926a4b3dd589c", "runtime_rerun": false, "authored_translation": "source-derived-structured-summary", "source_facts_revision": "c1575341fa7bd40f5274ea465b34390f4dc64cdd0770af327005caaeb9f6b7ed"}, "facts_zh": [{"label": "\u79cd\u7c7b", "value": "\u539f\u751f\u51fd\u6570\u8bed\u8a00"}, {"label": "\u53ef\u4fe1", "value": "f"}, {"label": "\u6821\u9a8c\u51fd\u6570", "value": "fmgr_c_validator"}], "sections": [], "center_zh": {"title": "c", "locale": "zh-Hans", "source": {"key": "c", "locale": "zh-Hans", "version": "16", "text_hash": "e208bf261d55289ddc9d2c2334d2d3e88619c69e4b9b18d3f5208c182b8f9eee", "collection": "language", "dataset_hash": "7c31b524dfe136022d39a6ae8dcfac6b3bbd5f8fdaf422536599981252aff0c9", "source_database": "center", "source_revision": "c1575341fa7bd40f5274ea465b34390f4dc64cdd0770af327005caaeb9f6b7ed"}, "payload": {"facts": [{"label": "\u79cd\u7c7b", "value": "\u539f\u751f\u51fd\u6570\u8bed\u8a00"}, {"label": "\u53ef\u4fe1", "value": "f"}, {"label": "\u6821\u9a8c\u51fd\u6570", "value": "fmgr_c_validator"}], "tables": [], "zh_from": {"kind": "same-version-chinese-manual-with-source-derived-structured-summary", "manual": {"url": "/zh/docs/16/xfunc-c.html", "anchor": "", "locale": "zh-Hans", "version": "16", "build_id": 103, "page_key": "xfunc-c.html", "extraction": "concept-introduction", "source_hash": "f920df3dcb26bb349b4be8d33514585ebea94f6e6a5bbf8b412c62c8da6ec77c", "fragment_sha256": "5c62a4cdf3760f946fb5dacce6f317d43425c53eeb0bcd7a7e8f6b17ea70f850", "source_revision": "unknown:rendered-translation-baseline", "translation_revision": "git:b1b500221dbe5437cfca004d6b04d3f6e422765d;html-sha256:80579a071736780f9c4022bb5148e1fb1256f1a33591306af67816e9e9bf3a9b", "translated_from_revision": null}, "body_sha256": "870b453fa185da50dcb9dfbad5a835be54b77073e0575304133926a4b3dd589c", "runtime_rerun": false, "authored_translation": "source-derived-structured-summary", "source_facts_revision": "c1575341fa7bd40f5274ea465b34390f4dc64cdd0770af327005caaeb9f6b7ed"}, "sections": [], "description_zh": "\u8fc7\u7a0b\u8bed\u8a00 c\u3002", "description_zh_html": "<p>\u8fc7\u7a0b\u8bed\u8a00 c\u3002</p><dl><dt>\u53d7\u4fe1\u4efb</dt><dd><code>\u5426</code></dd><dt>\u9a8c\u8bc1\u51fd\u6570</dt><dd><code>fmgr_c_validator</code></dd></dl><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u8282\u9009</h3><p>\n    \u7528\u6237\u5b9a\u4e49\u7684\u51fd\u6570\u53ef\u4ee5\u7528 C \u7f16\u5199\uff08\u6216\u8005\u53ef\u4ee5\u4e0e C \u517c\u5bb9\u7684\u8bed\u8a00\uff0c\u4f8b\u5982 C++\uff09\u3002\u8fd9\u7c7b\u51fd\u6570\u88ab\u7f16\u8bd1\u6210\u52a8\u6001\u8f7d\u5165\u5bf9\u8c61\uff08\u4e5f\u88ab\u79f0\u4e3a\u5171\u4eab\u5e93\uff09\u5e76\u4e14\u7531\u670d\u52a1\u5668\u5728\u9700\u8981\u65f6\u8f7d\u5165\u3002\u52a8\u6001\u8f7d\u5165\u662f\u628a<span class=\"quote\">\u201c<span class=\"quote\">C \u8bed\u8a00</span>\u201d</span>\u51fd\u6570\u548c<span class=\"quote\">\u201c<span class=\"quote\">\u5185\u90e8</span>\u201d</span>\u51fd\u6570\u533a\u5206\u5f00\u7684\u7279\u6027 \u2014 \u4e24\u8005\u771f\u6b63\u7684\u7f16\u7801\u4e60\u60ef\u5b9e\u9645\u4e0a\u662f\u4e00\u6837\u7684\uff08\u56e0\u6b64\uff0c\u6807\u51c6\u5185\u90e8\u51fd\u6570\u5e93\u4e3a\u7528\u6237\u5b9a\u4e49\u7684 C \u51fd\u6570\u63d0\u4f9b\u4e86\u4e30\u5bcc\u7684\u7f16\u7801\u793a\u4f8b\uff09\u3002\n   </p><p>\n    \u5f53\u524d\u4ec5\u6709\u4e00\u79cd\u8c03\u7528\u7ea6\u5b9a\u88ab\u7528\u4e8e C \u51fd\u6570\uff08<span class=\"quote\">\u201c<span class=\"quote\">\u7248\u672c 1</span>\u201d</span>\uff09\u3002\u5982\u4e0b\u6587\u6240\u793a\uff0c\u4e3a\u51fd\u6570\u7f16\u5199\u4e00\u4e2a <code class=\"literal\">PG_FUNCTION_INFO_V1()</code> \u5b8f\u5c31\u80fd\u6307\u793a\u5bf9\u8be5\u8c03\u7528\u7ea6\u5b9a\u7684\u652f\u6301\u3002\n   </p><p><a href=\"/zh/docs/16/xfunc-c.html\">\u67e5\u770b\u5b8c\u6574\u4e2d\u6587\u624b\u518c\u4e0e\u4e0a\u4e0b\u6587</a>\u3002</p>"}, "summary": "\u8fc7\u7a0b\u8bed\u8a00 c\u3002", "version": "16", "link_map": {"/zh/docs/16/xfunc-c.html": "/docs/16/xfunc-c.html"}, "body_html": "<p>\u8fc7\u7a0b\u8bed\u8a00 c\u3002</p><dl><dt>\u53d7\u4fe1\u4efb</dt><dd><code>\u5426</code></dd><dt>\u9a8c\u8bc1\u51fd\u6570</dt><dd><code>fmgr_c_validator</code></dd></dl><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u8282\u9009</h3><p>\n    \u7528\u6237\u5b9a\u4e49\u7684\u51fd\u6570\u53ef\u4ee5\u7528 C \u7f16\u5199\uff08\u6216\u8005\u53ef\u4ee5\u4e0e C \u517c\u5bb9\u7684\u8bed\u8a00\uff0c\u4f8b\u5982 C++\uff09\u3002\u8fd9\u7c7b\u51fd\u6570\u88ab\u7f16\u8bd1\u6210\u52a8\u6001\u8f7d\u5165\u5bf9\u8c61\uff08\u4e5f\u88ab\u79f0\u4e3a\u5171\u4eab\u5e93\uff09\u5e76\u4e14\u7531\u670d\u52a1\u5668\u5728\u9700\u8981\u65f6\u8f7d\u5165\u3002\u52a8\u6001\u8f7d\u5165\u662f\u628a<span>\u201c<span>C \u8bed\u8a00</span>\u201d</span>\u51fd\u6570\u548c<span>\u201c<span>\u5185\u90e8</span>\u201d</span>\u51fd\u6570\u533a\u5206\u5f00\u7684\u7279\u6027 \u2014 \u4e24\u8005\u771f\u6b63\u7684\u7f16\u7801\u4e60\u60ef\u5b9e\u9645\u4e0a\u662f\u4e00\u6837\u7684\uff08\u56e0\u6b64\uff0c\u6807\u51c6\u5185\u90e8\u51fd\u6570\u5e93\u4e3a\u7528\u6237\u5b9a\u4e49\u7684 C \u51fd\u6570\u63d0\u4f9b\u4e86\u4e30\u5bcc\u7684\u7f16\u7801\u793a\u4f8b\uff09\u3002\n   </p><p>\n    \u5f53\u524d\u4ec5\u6709\u4e00\u79cd\u8c03\u7528\u7ea6\u5b9a\u88ab\u7528\u4e8e C \u51fd\u6570\uff08<span>\u201c<span>\u7248\u672c 1</span>\u201d</span>\uff09\u3002\u5982\u4e0b\u6587\u6240\u793a\uff0c\u4e3a\u51fd\u6570\u7f16\u5199\u4e00\u4e2a <code>PG_FUNCTION_INFO_V1()</code> \u5b8f\u5c31\u80fd\u6307\u793a\u5bf9\u8be5\u8c03\u7528\u7ea6\u5b9a\u7684\u652f\u6301\u3002\n   </p><p><a href=\"/zh/docs/16/xfunc-c.html\" rel=\"nofollow\">\u67e5\u770b\u5b8c\u6574\u4e2d\u6587\u624b\u518c\u4e0e\u4e0a\u4e0b\u6587</a>\u3002</p>", "body_sha256": "34e7d740b2f27ba049ef6c70235064b36dce6132c551f2006db3c29ec6367a6f", "content_hash": "e208bf261d55289ddc9d2c2334d2d3e88619c69e4b9b18d3f5208c182b8f9eee", "source_database": "center", "source_revision": "c1575341fa7bd40f5274ea465b34390f4dc64cdd0770af327005caaeb9f6b7ed"}, "signature": "", "tables_zh": [], "attributes": {"kind": "Native function language", "handler": "", "trusted": "f", "validator": "fmgr_c_validator"}, "description": ["\u8fc7\u7a0b\u8bed\u8a00 c\u3002"], "manual_html": "", "manual_path": "/docs/16/xfunc-c.html", "sections_zh": [], "localization": {"status": "complete", "sources": [{"url": "/docs/16/protocol-overview.html", "method": "same-major semantic node", "sha256": "44bc52e9e7ea6a128300584836e839d6a6b6b161cadff330571034de65b26ac1", "language": "zh", "matched_nodes": ["#PROTOCOL-OVERVIEW/div[9]/p[1]/span[2]/span[0]"]}, {"url": "/docs/16/xfunc-c.html", "method": "same-major semantic node", "sha256": "8809acadf9ad2b1e79b23f2446b430168f986eaa6d17e9b2e887266bb462299e", "language": "zh", "matched_nodes": ["#XFUNC-C/div[0]", "#XFUNC-C/div[10]/p[10]", "#XFUNC-C/div[10]/p[1]", "#XFUNC-C/div[10]/p[2]", "#XFUNC-C/div[10]/p[6]", "#XFUNC-C/div[10]/p[7]", "#XFUNC-C/div[10]/p[8]", "#XFUNC-C/div[11]/div[7]/p[1]", "#XFUNC-C/div[11]/div[8]/p[1]", "#XFUNC-C/div[11]/p[11]", "#XFUNC-C/div[11]/p[13]", "#XFUNC-C/div[11]/p[14]", "#XFUNC-C/div[11]/p[16]", "#XFUNC-C/div[11]/p[18]", "#XFUNC-C/div[11]/p[19]", "#XFUNC-C/div[11]/p[1]", "#XFUNC-C/div[11]/p[21]", "#XFUNC-C/div[11]/p[22]", "#XFUNC-C/div[11]/p[24]", "#XFUNC-C/div[11]/p[25]", "#XFUNC-C/div[11]/p[27]", "#XFUNC-C/div[11]/p[28]", "#XFUNC-C/div[11]/p[3]", "#XFUNC-C/div[11]/p[4]", "#XFUNC-C/div[11]/p[6]", "#XFUNC-C/div[11]/p[9]", "#XFUNC-C/div[12]/div[19]/p[1]", "#XFUNC-C/div[12]/p[10]", "#XFUNC-C/div[12]/p[12]", "#XFUNC-C/div[12]/p[13]", "#XFUNC-C/div[12]/p[15]", "#XFUNC-C/div[12]/p[20]", "#XFUNC-C/div[12]/p[22]", "#XFUNC-C/div[12]/p[24]", "#XFUNC-C/div[12]/p[26]", "#XFUNC-C/div[12]/p[28]", "#XFUNC-C/div[12]/p[2]", "#XFUNC-C/div[12]/p[3]", "#XFUNC-C/div[12]/p[4]", "#XFUNC-C/div[12]/p[6]", "#XFUNC-C/div[12]/p[8]", "#XFUNC-C/div[13]/p[1]", "#XFUNC-C/div[13]/p[2]", "#XFUNC-C/div[13]/p[4]", "#XFUNC-C/div[13]/p[6]", "#XFUNC-C/div[15]/div[3]/ul[0]/li[0]", "#XFUNC-C/div[15]/div[3]/ul[0]/li[1]", "#XFUNC-C/div[15]/div[3]/ul[0]/li[2]", "#XFUNC-C/div[15]/p[2]", "#XFUNC-C/div[15]/p[4]", "#XFUNC-C/div[1]/dl[0]/dt[0]", "#XFUNC-C/div[1]/dl[0]/dt[10]", "#XFUNC-C/div[1]/dl[0]/dt[1]", "#XFUNC-C/div[1]/dl[0]/dt[2]", "#XFUNC-C/div[1]/dl[0]/dt[3]", "#XFUNC-C/div[1]/dl[0]/dt[4]", "#XFUNC-C/div[1]/dl[0]/dt[5]", "#XFUNC-C/div[1]/dl[0]/dt[6]", "#XFUNC-C/div[1]/dl[0]/dt[7]", "#XFUNC-C/div[1]/dl[0]/dt[8]", "#XFUNC-C/div[1]/dl[0]/dt[9]", "#XFUNC-C/div[5]/div[4]/ol[0]/li[0]", "#XFUNC-C/div[5]/div[4]/ol[0]/li[1]", "#XFUNC-C/div[5]/div[4]/ol[0]/li[2]", "#XFUNC-C/div[5]/div[4]/ol[0]/li[3]", "#XFUNC-C/div[5]/div[9]/h3[0]", "#XFUNC-C/div[5]/div[9]/p[1]", "#XFUNC-C/div[5]/p[11]", "#XFUNC-C/div[5]/p[13]", "#XFUNC-C/div[5]/p[16]", "#XFUNC-C/div[5]/p[2]", "#XFUNC-C/div[5]/p[3]", "#XFUNC-C/div[5]/p[5]", "#XFUNC-C/div[5]/p[6]", "#XFUNC-C/div[5]/p[7]", "#XFUNC-C/div[5]/p[8]", "#XFUNC-C/div[6]/div[13]/h3[0]", "#XFUNC-C/div[6]/div[13]/p[1]", "#XFUNC-C/div[6]/div[21]/div[1]/table[0]/tbody[2]/tr[0]/td[2]", "#XFUNC-C/div[6]/div[21]/div[1]/table[0]/tbody[2]/tr[3]/td[2]", "#XFUNC-C/div[6]/div[21]/div[1]/table[0]/thead[1]/tr[0]/th[0]", "#XFUNC-C/div[6]/div[21]/div[1]/table[0]/thead[1]/tr[0]/th[1]", "#XFUNC-C/div[6]/div[21]/p[0]", "#XFUNC-C/div[6]/div[4]/ul[0]/li[0]", "#XFUNC-C/div[6]/div[4]/ul[0]/li[1]", "#XFUNC-C/div[6]/div[4]/ul[0]/li[2]", "#XFUNC-C/div[6]/p[10]", "#XFUNC-C/div[6]/p[11]", "#XFUNC-C/div[6]/p[12]", "#XFUNC-C/div[6]/p[14]", "#XFUNC-C/div[6]/p[16]", "#XFUNC-C/div[6]/p[17]", "#XFUNC-C/div[6]/p[19]", "#XFUNC-C/div[6]/p[20]", "#XFUNC-C/div[6]/p[20]/span[2]/span[0]", "#XFUNC-C/div[6]/p[23]", "#XFUNC-C/div[6]/p[2]", "#XFUNC-C/div[6]/p[3]", "#XFUNC-C/div[6]/p[5]", "#XFUNC-C/div[6]/p[7]", "#XFUNC-C/div[6]/p[8]", "#XFUNC-C/div[7]/p[12]", "#XFUNC-C/div[7]/p[13]", "#XFUNC-C/div[7]/p[14]", "#XFUNC-C/div[7]/p[16]", "#XFUNC-C/div[7]/p[1]", "#XFUNC-C/div[7]/p[3]", "#XFUNC-C/div[7]/p[5]", "#XFUNC-C/div[7]/p[6]", "#XFUNC-C/div[7]/p[9]", "#XFUNC-C/div[8]/div[3]/ul[0]/li[0]", "#XFUNC-C/div[8]/div[3]/ul[0]/li[1]", "#XFUNC-C/div[8]/div[3]/ul[0]/li[2]", "#XFUNC-C/div[8]/div[3]/ul[0]/li[3]", "#XFUNC-C/div[8]/div[3]/ul[0]/li[4]", "#XFUNC-C/div[8]/div[3]/ul[0]/li[5]", "#XFUNC-C/div[8]/div[3]/ul[0]/li[6]", "#XFUNC-C/div[8]/p[1]", "#XFUNC-C/div[8]/p[2]", "#XFUNC-C/div[9]/div[5]/dl[0]/dd[11]/p[0]", "#XFUNC-C/div[9]/div[5]/dl[0]/dd[11]/p[2]", "#XFUNC-C/div[9]/div[5]/dl[0]/dd[1]/p[0]", "#XFUNC-C/div[9]/div[5]/dl[0]/dd[1]/p[2]", "#XFUNC-C/div[9]/div[5]/dl[0]/dd[3]/p[0]", "#XFUNC-C/div[9]/div[5]/dl[0]/dd[5]/p[0]", "#XFUNC-C/div[9]/div[5]/dl[0]/dd[7]/p[0]", "#XFUNC-C/div[9]/div[5]/dl[0]/dd[9]/p[0]", "#XFUNC-C/div[9]/div[6]/h3[0]", "#XFUNC-C/div[9]/div[6]/p[1]", "#XFUNC-C/div[9]/p[1]", "#XFUNC-C/div[9]/p[2]", "#XFUNC-C/div[9]/p[4]", "#XFUNC-C/div[9]/p[7]", "#XFUNC-C/div[9]/p[8]", "#XFUNC-C/p[3]"]}], "language": "zh", "original_text": {"/versions/16/description/0": "dynamically-loaded C functions", "/versions/16/facts/0/label": "Kind", "/versions/16/facts/0/value": "Native function language", "/versions/16/facts/1/label": "Trusted", "/versions/16/facts/2/label": "Validator"}, "fallback_fields": [], "source_language": "en", "original_snapshot_sha256": "a08f9d03645bd07ce9e081c80f8b1cda3a561234d5b16add71b3637b83140ff1", "canonical_center_text_hash": "e208bf261d55289ddc9d2c2334d2d3e88619c69e4b9b18d3f5208c182b8f9eee"}, "description_zh": "\u8fc7\u7a0b\u8bed\u8a00 c\u3002", "comparison_data": {"kind": "Native function language", "handler": "", "trusted": "f", "validator": "fmgr_c_validator"}, "comparison_hash": "e8a219c1a26602affef41a21da26d099cf721ba42739cb7b056898c9e2d6fbe6", "manual_language": "zh", "description_zh_html": "<p>\u8fc7\u7a0b\u8bed\u8a00 c\u3002</p><dl><dt>\u53d7\u4fe1\u4efb</dt><dd><code>\u5426</code></dd><dt>\u9a8c\u8bc1\u51fd\u6570</dt><dd><code>fmgr_c_validator</code></dd></dl><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u8282\u9009</h3><p>\n    \u7528\u6237\u5b9a\u4e49\u7684\u51fd\u6570\u53ef\u4ee5\u7528 C \u7f16\u5199\uff08\u6216\u8005\u53ef\u4ee5\u4e0e C \u517c\u5bb9\u7684\u8bed\u8a00\uff0c\u4f8b\u5982 C++\uff09\u3002\u8fd9\u7c7b\u51fd\u6570\u88ab\u7f16\u8bd1\u6210\u52a8\u6001\u8f7d\u5165\u5bf9\u8c61\uff08\u4e5f\u88ab\u79f0\u4e3a\u5171\u4eab\u5e93\uff09\u5e76\u4e14\u7531\u670d\u52a1\u5668\u5728\u9700\u8981\u65f6\u8f7d\u5165\u3002\u52a8\u6001\u8f7d\u5165\u662f\u628a<span>\u201c<span>C \u8bed\u8a00</span>\u201d</span>\u51fd\u6570\u548c<span>\u201c<span>\u5185\u90e8</span>\u201d</span>\u51fd\u6570\u533a\u5206\u5f00\u7684\u7279\u6027 \u2014 \u4e24\u8005\u771f\u6b63\u7684\u7f16\u7801\u4e60\u60ef\u5b9e\u9645\u4e0a\u662f\u4e00\u6837\u7684\uff08\u56e0\u6b64\uff0c\u6807\u51c6\u5185\u90e8\u51fd\u6570\u5e93\u4e3a\u7528\u6237\u5b9a\u4e49\u7684 C \u51fd\u6570\u63d0\u4f9b\u4e86\u4e30\u5bcc\u7684\u7f16\u7801\u793a\u4f8b\uff09\u3002\n   </p><p>\n    \u5f53\u524d\u4ec5\u6709\u4e00\u79cd\u8c03\u7528\u7ea6\u5b9a\u88ab\u7528\u4e8e C \u51fd\u6570\uff08<span>\u201c<span>\u7248\u672c 1</span>\u201d</span>\uff09\u3002\u5982\u4e0b\u6587\u6240\u793a\uff0c\u4e3a\u51fd\u6570\u7f16\u5199\u4e00\u4e2a <code>PG_FUNCTION_INFO_V1()</code> \u5b8f\u5c31\u80fd\u6307\u793a\u5bf9\u8be5\u8c03\u7528\u7ea6\u5b9a\u7684\u652f\u6301\u3002\n   </p><p><a href=\"/zh/docs/16/xfunc-c.html\" rel=\"nofollow\">\u67e5\u770b\u5b8c\u6574\u4e2d\u6587\u624b\u518c\u4e0e\u4e0a\u4e0b\u6587</a>\u3002</p>"}, "17": {"facts": [{"label": "\u79cd\u7c7b", "value": "\u539f\u751f\u51fd\u6570\u8bed\u8a00"}, {"label": "\u53ef\u4fe1", "value": "f"}, {"label": "\u6821\u9a8c\u51fd\u6570", "value": "fmgr_c_validator"}], "tables": [], "aliases": [], "catalog": {"oid": "13", "descr": "dynamically-loaded C functions", "lanacl": "_null_", "lanispl": "f", "lanname": "c", "lanowner": "POSTGRES", "laninline": "0", "oid_symbol": "ClanguageId", "lanpltrusted": "f", "lanvalidator": "fmgr_c_validator", "lanplcallfoid": "0"}, "related": [], "release": {"ref": "https://ftp.postgresql.org/pub/source/v17.11/postgresql-17.11.tar.bz2", "label": "17.11", "major": "17", "channel": "stable", "revision": "dd27f2b3c59e73ed14aa3324901242bf69a032a6347805f274e6260322d42979", "source_sha256": "dd27f2b3c59e73ed14aa3324901242bf69a032a6347805f274e6260322d42979", "catalog_fingerprint": "4bbe3ac77becd618478f66aec420a533e9017be356c5c1d51a4b17f0fd497c07"}, "sources": [{"url": "https://ftp.postgresql.org/pub/source/v17.11/postgresql-17.11.tar.bz2", "label": "Matching PostgreSQL source archive", "sha256": "dd27f2b3c59e73ed14aa3324901242bf69a032a6347805f274e6260322d42979"}, {"url": "/docs/17/xfunc-c.html", "path": "xfunc-c.html", "label": "PostgreSQL 17 English manual", "sha256": "e0e63458d9e41ad4fe16477a4638b8d9032900de922284de8f36c2b6779b5c3f"}], "zh_from": {"kind": "same-version-chinese-manual-with-source-derived-structured-summary", "manual": {"url": "/zh/docs/17/xfunc-c.html", "anchor": "", "locale": "zh-Hans", "version": "17", "build_id": 105, "page_key": "xfunc-c.html", "extraction": "concept-introduction", "source_hash": "6dc3e9f1fb268cfd0b03ca35c1379db379cd3cb3cce61ec183edac4fdbd4f5a5", "fragment_sha256": "5c62a4cdf3760f946fb5dacce6f317d43425c53eeb0bcd7a7e8f6b17ea70f850", "source_revision": "unknown:rendered-translation-baseline", "translation_revision": "git:b1b500221dbe5437cfca004d6b04d3f6e422765d;html-sha256:7340767258d21c21b36f373f1fff6bab2be18e0daca13a865129db6105c09efd", "translated_from_revision": null}, "body_sha256": "9fb935c522aa4d32c7bbc36318e0c3d0255c648e921a8c280ceb92aaaa8b97d1", "runtime_rerun": false, "authored_translation": "source-derived-structured-summary", "source_facts_revision": "dd27f2b3c59e73ed14aa3324901242bf69a032a6347805f274e6260322d42979"}, "facts_zh": [{"label": "\u79cd\u7c7b", "value": "\u539f\u751f\u51fd\u6570\u8bed\u8a00"}, {"label": "\u53ef\u4fe1", "value": "f"}, {"label": "\u6821\u9a8c\u51fd\u6570", "value": "fmgr_c_validator"}], "sections": [], "center_zh": {"title": "c", "locale": "zh-Hans", "source": {"key": "c", "locale": "zh-Hans", "version": "17", "text_hash": "f1429f80d9bfa1a17f78b275149f6fe9f5bf1320f21e19d52db5b63017226c53", "collection": "language", "dataset_hash": "7c31b524dfe136022d39a6ae8dcfac6b3bbd5f8fdaf422536599981252aff0c9", "source_database": "center", "source_revision": "dd27f2b3c59e73ed14aa3324901242bf69a032a6347805f274e6260322d42979"}, "payload": {"facts": [{"label": "\u79cd\u7c7b", "value": "\u539f\u751f\u51fd\u6570\u8bed\u8a00"}, {"label": "\u53ef\u4fe1", "value": "f"}, {"label": "\u6821\u9a8c\u51fd\u6570", "value": "fmgr_c_validator"}], "tables": [], "zh_from": {"kind": "same-version-chinese-manual-with-source-derived-structured-summary", "manual": {"url": "/zh/docs/17/xfunc-c.html", "anchor": "", "locale": "zh-Hans", "version": "17", "build_id": 105, "page_key": "xfunc-c.html", "extraction": "concept-introduction", "source_hash": "6dc3e9f1fb268cfd0b03ca35c1379db379cd3cb3cce61ec183edac4fdbd4f5a5", "fragment_sha256": "5c62a4cdf3760f946fb5dacce6f317d43425c53eeb0bcd7a7e8f6b17ea70f850", "source_revision": "unknown:rendered-translation-baseline", "translation_revision": "git:b1b500221dbe5437cfca004d6b04d3f6e422765d;html-sha256:7340767258d21c21b36f373f1fff6bab2be18e0daca13a865129db6105c09efd", "translated_from_revision": null}, "body_sha256": "9fb935c522aa4d32c7bbc36318e0c3d0255c648e921a8c280ceb92aaaa8b97d1", "runtime_rerun": false, "authored_translation": "source-derived-structured-summary", "source_facts_revision": "dd27f2b3c59e73ed14aa3324901242bf69a032a6347805f274e6260322d42979"}, "sections": [], "description_zh": "\u8fc7\u7a0b\u8bed\u8a00 c\u3002", "description_zh_html": "<p>\u8fc7\u7a0b\u8bed\u8a00 c\u3002</p><dl><dt>\u53d7\u4fe1\u4efb</dt><dd><code>\u5426</code></dd><dt>\u9a8c\u8bc1\u51fd\u6570</dt><dd><code>fmgr_c_validator</code></dd></dl><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u8282\u9009</h3><p>\n    \u7528\u6237\u5b9a\u4e49\u7684\u51fd\u6570\u53ef\u4ee5\u7528 C \u7f16\u5199\uff08\u6216\u8005\u53ef\u4ee5\u4e0e C \u517c\u5bb9\u7684\u8bed\u8a00\uff0c\u4f8b\u5982 C++\uff09\u3002\u8fd9\u7c7b\u51fd\u6570\u88ab\u7f16\u8bd1\u6210\u52a8\u6001\u8f7d\u5165\u5bf9\u8c61\uff08\u4e5f\u88ab\u79f0\u4e3a\u5171\u4eab\u5e93\uff09\u5e76\u4e14\u7531\u670d\u52a1\u5668\u5728\u9700\u8981\u65f6\u8f7d\u5165\u3002\u52a8\u6001\u8f7d\u5165\u662f\u628a<span class=\"quote\">\u201c<span class=\"quote\">C \u8bed\u8a00</span>\u201d</span>\u51fd\u6570\u548c<span class=\"quote\">\u201c<span class=\"quote\">\u5185\u90e8</span>\u201d</span>\u51fd\u6570\u533a\u5206\u5f00\u7684\u7279\u6027 \u2014 \u4e24\u8005\u771f\u6b63\u7684\u7f16\u7801\u4e60\u60ef\u5b9e\u9645\u4e0a\u662f\u4e00\u6837\u7684\uff08\u56e0\u6b64\uff0c\u6807\u51c6\u5185\u90e8\u51fd\u6570\u5e93\u4e3a\u7528\u6237\u5b9a\u4e49\u7684 C \u51fd\u6570\u63d0\u4f9b\u4e86\u4e30\u5bcc\u7684\u7f16\u7801\u793a\u4f8b\uff09\u3002\n   </p><p>\n    \u5f53\u524d\u4ec5\u6709\u4e00\u79cd\u8c03\u7528\u7ea6\u5b9a\u88ab\u7528\u4e8e C \u51fd\u6570\uff08<span class=\"quote\">\u201c<span class=\"quote\">\u7248\u672c 1</span>\u201d</span>\uff09\u3002\u5982\u4e0b\u6587\u6240\u793a\uff0c\u4e3a\u51fd\u6570\u7f16\u5199\u4e00\u4e2a <code class=\"literal\">PG_FUNCTION_INFO_V1()</code> \u5b8f\u5c31\u80fd\u6307\u793a\u5bf9\u8be5\u8c03\u7528\u7ea6\u5b9a\u7684\u652f\u6301\u3002\n   </p><p><a href=\"/zh/docs/17/xfunc-c.html\">\u67e5\u770b\u5b8c\u6574\u4e2d\u6587\u624b\u518c\u4e0e\u4e0a\u4e0b\u6587</a>\u3002</p>"}, "summary": "\u8fc7\u7a0b\u8bed\u8a00 c\u3002", "version": "17", "link_map": {"/zh/docs/17/xfunc-c.html": "/docs/17/xfunc-c.html"}, "body_html": "<p>\u8fc7\u7a0b\u8bed\u8a00 c\u3002</p><dl><dt>\u53d7\u4fe1\u4efb</dt><dd><code>\u5426</code></dd><dt>\u9a8c\u8bc1\u51fd\u6570</dt><dd><code>fmgr_c_validator</code></dd></dl><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u8282\u9009</h3><p>\n    \u7528\u6237\u5b9a\u4e49\u7684\u51fd\u6570\u53ef\u4ee5\u7528 C \u7f16\u5199\uff08\u6216\u8005\u53ef\u4ee5\u4e0e C \u517c\u5bb9\u7684\u8bed\u8a00\uff0c\u4f8b\u5982 C++\uff09\u3002\u8fd9\u7c7b\u51fd\u6570\u88ab\u7f16\u8bd1\u6210\u52a8\u6001\u8f7d\u5165\u5bf9\u8c61\uff08\u4e5f\u88ab\u79f0\u4e3a\u5171\u4eab\u5e93\uff09\u5e76\u4e14\u7531\u670d\u52a1\u5668\u5728\u9700\u8981\u65f6\u8f7d\u5165\u3002\u52a8\u6001\u8f7d\u5165\u662f\u628a<span>\u201c<span>C \u8bed\u8a00</span>\u201d</span>\u51fd\u6570\u548c<span>\u201c<span>\u5185\u90e8</span>\u201d</span>\u51fd\u6570\u533a\u5206\u5f00\u7684\u7279\u6027 \u2014 \u4e24\u8005\u771f\u6b63\u7684\u7f16\u7801\u4e60\u60ef\u5b9e\u9645\u4e0a\u662f\u4e00\u6837\u7684\uff08\u56e0\u6b64\uff0c\u6807\u51c6\u5185\u90e8\u51fd\u6570\u5e93\u4e3a\u7528\u6237\u5b9a\u4e49\u7684 C \u51fd\u6570\u63d0\u4f9b\u4e86\u4e30\u5bcc\u7684\u7f16\u7801\u793a\u4f8b\uff09\u3002\n   </p><p>\n    \u5f53\u524d\u4ec5\u6709\u4e00\u79cd\u8c03\u7528\u7ea6\u5b9a\u88ab\u7528\u4e8e C \u51fd\u6570\uff08<span>\u201c<span>\u7248\u672c 1</span>\u201d</span>\uff09\u3002\u5982\u4e0b\u6587\u6240\u793a\uff0c\u4e3a\u51fd\u6570\u7f16\u5199\u4e00\u4e2a <code>PG_FUNCTION_INFO_V1()</code> \u5b8f\u5c31\u80fd\u6307\u793a\u5bf9\u8be5\u8c03\u7528\u7ea6\u5b9a\u7684\u652f\u6301\u3002\n   </p><p><a href=\"/zh/docs/17/xfunc-c.html\" rel=\"nofollow\">\u67e5\u770b\u5b8c\u6574\u4e2d\u6587\u624b\u518c\u4e0e\u4e0a\u4e0b\u6587</a>\u3002</p>", "body_sha256": "1e4526a88c4d1b2aadd89ce7272271388eed8ca8a8a0814cada837be813a5a84", "content_hash": "f1429f80d9bfa1a17f78b275149f6fe9f5bf1320f21e19d52db5b63017226c53", "source_database": "center", "source_revision": "dd27f2b3c59e73ed14aa3324901242bf69a032a6347805f274e6260322d42979"}, "signature": "", "tables_zh": [], "attributes": {"kind": "Native function language", "handler": "", "trusted": "f", "validator": "fmgr_c_validator"}, "description": ["\u8fc7\u7a0b\u8bed\u8a00 c\u3002"], "manual_html": "", "manual_path": "/docs/17/xfunc-c.html", "sections_zh": [], "localization": {"status": "complete", "sources": [{"url": "/docs/17/protocol-overview.html", "method": "same-major semantic node", "sha256": "de94711d992bef74aad52fe8a723d81aa9b37a606d96b711bf9faa999a7bb3f5", "language": "zh", "matched_nodes": ["#PROTOCOL-OVERVIEW/div[9]/p[1]/span[2]/span[0]"]}, {"url": "/docs/17/xfunc-c.html", "method": "same-major semantic node", "sha256": "990e09637f0fb7a154eb0f5e8cb7b319a7603214d08975bd973130527b705f1f", "language": "zh", "matched_nodes": ["#XFUNC-C/div[0]", "#XFUNC-C/div[10]/p[10]", "#XFUNC-C/div[10]/p[1]", "#XFUNC-C/div[10]/p[2]", "#XFUNC-C/div[10]/p[6]", "#XFUNC-C/div[10]/p[7]", "#XFUNC-C/div[10]/p[8]", "#XFUNC-C/div[11]/div[7]/p[1]", "#XFUNC-C/div[11]/div[8]/p[1]", "#XFUNC-C/div[11]/p[11]", "#XFUNC-C/div[11]/p[13]", "#XFUNC-C/div[11]/p[14]", "#XFUNC-C/div[11]/p[16]", "#XFUNC-C/div[11]/p[18]", "#XFUNC-C/div[11]/p[19]", "#XFUNC-C/div[11]/p[1]", "#XFUNC-C/div[11]/p[21]", "#XFUNC-C/div[11]/p[22]", "#XFUNC-C/div[11]/p[24]", "#XFUNC-C/div[11]/p[25]", "#XFUNC-C/div[11]/p[27]", "#XFUNC-C/div[11]/p[28]", "#XFUNC-C/div[11]/p[3]", "#XFUNC-C/div[11]/p[4]", "#XFUNC-C/div[11]/p[6]", "#XFUNC-C/div[11]/p[9]", "#XFUNC-C/div[12]/div[19]/p[1]", "#XFUNC-C/div[12]/p[10]", "#XFUNC-C/div[12]/p[12]", "#XFUNC-C/div[12]/p[13]", "#XFUNC-C/div[12]/p[15]", "#XFUNC-C/div[12]/p[20]", "#XFUNC-C/div[12]/p[22]", "#XFUNC-C/div[12]/p[24]", "#XFUNC-C/div[12]/p[26]", "#XFUNC-C/div[12]/p[28]", "#XFUNC-C/div[12]/p[2]", "#XFUNC-C/div[12]/p[3]", "#XFUNC-C/div[12]/p[4]", "#XFUNC-C/div[12]/p[6]", "#XFUNC-C/div[12]/p[8]", "#XFUNC-C/div[13]/p[1]", "#XFUNC-C/div[13]/p[2]", "#XFUNC-C/div[13]/p[4]", "#XFUNC-C/div[13]/p[6]", "#XFUNC-C/div[14]/div[1]/div[0]", "#XFUNC-C/div[14]/div[1]/p[3]", "#XFUNC-C/div[14]/div[1]/p[5]", "#XFUNC-C/div[14]/div[1]/p[6]", "#XFUNC-C/div[14]/div[1]/p[8]", "#XFUNC-C/div[14]/div[1]/p[9]", "#XFUNC-C/div[14]/div[2]/div[0]", "#XFUNC-C/div[14]/div[2]/p[1]", "#XFUNC-C/div[14]/div[2]/p[3]", "#XFUNC-C/div[14]/div[2]/p[5]", "#XFUNC-C/div[15]/div[1]/div[0]", "#XFUNC-C/div[15]/div[2]/div[0]", "#XFUNC-C/div[15]/div[2]/p[1]", "#XFUNC-C/div[15]/div[2]/p[3]", "#XFUNC-C/div[15]/div[2]/p[5]", "#XFUNC-C/div[15]/div[2]/p[6]", "#XFUNC-C/div[15]/div[2]/p[8]", "#XFUNC-C/div[16]/p[1]", "#XFUNC-C/div[16]/p[3]", "#XFUNC-C/div[16]/p[4]", "#XFUNC-C/div[17]/p[10]", "#XFUNC-C/div[17]/p[12]", "#XFUNC-C/div[17]/p[13]", "#XFUNC-C/div[17]/p[14]", "#XFUNC-C/div[17]/p[1]", "#XFUNC-C/div[17]/p[3]", "#XFUNC-C/div[17]/p[4]", "#XFUNC-C/div[17]/p[7]", "#XFUNC-C/div[17]/p[9]", "#XFUNC-C/div[18]/div[3]/ul[0]/li[0]", "#XFUNC-C/div[18]/div[3]/ul[0]/li[1]", "#XFUNC-C/div[18]/div[3]/ul[0]/li[2]", "#XFUNC-C/div[18]/p[2]", "#XFUNC-C/div[18]/p[4]", "#XFUNC-C/div[1]/dl[0]/dt[0]", "#XFUNC-C/div[1]/dl[0]/dt[11]", "#XFUNC-C/div[1]/dl[0]/dt[12]", "#XFUNC-C/div[1]/dl[0]/dt[13]", "#XFUNC-C/div[1]/dl[0]/dt[1]", "#XFUNC-C/div[1]/dl[0]/dt[2]", "#XFUNC-C/div[1]/dl[0]/dt[3]", "#XFUNC-C/div[1]/dl[0]/dt[4]", "#XFUNC-C/div[1]/dl[0]/dt[5]", "#XFUNC-C/div[1]/dl[0]/dt[6]", "#XFUNC-C/div[1]/dl[0]/dt[7]", "#XFUNC-C/div[1]/dl[0]/dt[8]", "#XFUNC-C/div[1]/dl[0]/dt[9]", "#XFUNC-C/div[5]/div[4]/ol[0]/li[0]", "#XFUNC-C/div[5]/div[4]/ol[0]/li[1]", "#XFUNC-C/div[5]/div[4]/ol[0]/li[2]", "#XFUNC-C/div[5]/div[4]/ol[0]/li[3]", "#XFUNC-C/div[5]/div[9]/h3[0]", "#XFUNC-C/div[5]/div[9]/p[1]", "#XFUNC-C/div[5]/p[11]", "#XFUNC-C/div[5]/p[13]", "#XFUNC-C/div[5]/p[16]", "#XFUNC-C/div[5]/p[2]", "#XFUNC-C/div[5]/p[3]", "#XFUNC-C/div[5]/p[5]", "#XFUNC-C/div[5]/p[6]", "#XFUNC-C/div[5]/p[7]", "#XFUNC-C/div[5]/p[8]", "#XFUNC-C/div[6]/div[13]/h3[0]", "#XFUNC-C/div[6]/div[13]/p[1]", "#XFUNC-C/div[6]/div[21]/div[1]/table[0]/tbody[2]/tr[0]/td[2]", "#XFUNC-C/div[6]/div[21]/div[1]/table[0]/tbody[2]/tr[3]/td[2]", "#XFUNC-C/div[6]/div[21]/div[1]/table[0]/thead[1]/tr[0]/th[0]", "#XFUNC-C/div[6]/div[21]/div[1]/table[0]/thead[1]/tr[0]/th[1]", "#XFUNC-C/div[6]/div[21]/p[0]", "#XFUNC-C/div[6]/div[4]/ul[0]/li[0]", "#XFUNC-C/div[6]/div[4]/ul[0]/li[1]", "#XFUNC-C/div[6]/div[4]/ul[0]/li[2]", "#XFUNC-C/div[6]/p[10]", "#XFUNC-C/div[6]/p[11]", "#XFUNC-C/div[6]/p[12]", "#XFUNC-C/div[6]/p[14]", "#XFUNC-C/div[6]/p[16]", "#XFUNC-C/div[6]/p[17]", "#XFUNC-C/div[6]/p[19]", "#XFUNC-C/div[6]/p[20]", "#XFUNC-C/div[6]/p[20]/span[2]/span[0]", "#XFUNC-C/div[6]/p[23]", "#XFUNC-C/div[6]/p[2]", "#XFUNC-C/div[6]/p[3]", "#XFUNC-C/div[6]/p[5]", "#XFUNC-C/div[6]/p[7]", "#XFUNC-C/div[6]/p[8]", "#XFUNC-C/div[7]/p[12]", "#XFUNC-C/div[7]/p[13]", "#XFUNC-C/div[7]/p[14]", "#XFUNC-C/div[7]/p[16]", "#XFUNC-C/div[7]/p[1]", "#XFUNC-C/div[7]/p[3]", "#XFUNC-C/div[7]/p[5]", "#XFUNC-C/div[7]/p[6]", "#XFUNC-C/div[7]/p[9]", "#XFUNC-C/div[8]/div[3]/ul[0]/li[0]", "#XFUNC-C/div[8]/div[3]/ul[0]/li[1]", "#XFUNC-C/div[8]/div[3]/ul[0]/li[2]", "#XFUNC-C/div[8]/div[3]/ul[0]/li[3]", "#XFUNC-C/div[8]/div[3]/ul[0]/li[4]", "#XFUNC-C/div[8]/div[3]/ul[0]/li[5]", "#XFUNC-C/div[8]/div[3]/ul[0]/li[6]", "#XFUNC-C/div[8]/p[1]", "#XFUNC-C/div[8]/p[2]", "#XFUNC-C/div[9]/div[5]/dl[0]/dd[11]/p[0]", "#XFUNC-C/div[9]/div[5]/dl[0]/dd[11]/p[2]", "#XFUNC-C/div[9]/div[5]/dl[0]/dd[1]/p[0]", "#XFUNC-C/div[9]/div[5]/dl[0]/dd[1]/p[2]", "#XFUNC-C/div[9]/div[5]/dl[0]/dd[3]/p[0]", "#XFUNC-C/div[9]/div[5]/dl[0]/dd[5]/p[0]", "#XFUNC-C/div[9]/div[5]/dl[0]/dd[7]/p[0]", "#XFUNC-C/div[9]/div[5]/dl[0]/dd[9]/p[0]", "#XFUNC-C/div[9]/div[6]/h3[0]", "#XFUNC-C/div[9]/div[6]/p[1]", "#XFUNC-C/div[9]/p[1]", "#XFUNC-C/div[9]/p[2]", "#XFUNC-C/div[9]/p[4]", "#XFUNC-C/div[9]/p[7]", "#XFUNC-C/div[9]/p[8]", "#XFUNC-C/p[3]"]}], "language": "zh", "original_text": {"/versions/17/description/0": "dynamically-loaded C functions", "/versions/17/facts/0/label": "Kind", "/versions/17/facts/0/value": "Native function language", "/versions/17/facts/1/label": "Trusted", "/versions/17/facts/2/label": "Validator"}, "fallback_fields": [], "source_language": "en", "original_snapshot_sha256": "2c3890fb4f955e74b41376d7aa8a6d9ec77b0b73f577f6ef0c1f7ed78f388cb1", "canonical_center_text_hash": "f1429f80d9bfa1a17f78b275149f6fe9f5bf1320f21e19d52db5b63017226c53"}, "description_zh": "\u8fc7\u7a0b\u8bed\u8a00 c\u3002", "comparison_data": {"kind": "Native function language", "handler": "", "trusted": "f", "validator": "fmgr_c_validator"}, "comparison_hash": "e8a219c1a26602affef41a21da26d099cf721ba42739cb7b056898c9e2d6fbe6", "manual_language": "zh", "description_zh_html": "<p>\u8fc7\u7a0b\u8bed\u8a00 c\u3002</p><dl><dt>\u53d7\u4fe1\u4efb</dt><dd><code>\u5426</code></dd><dt>\u9a8c\u8bc1\u51fd\u6570</dt><dd><code>fmgr_c_validator</code></dd></dl><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u8282\u9009</h3><p>\n    \u7528\u6237\u5b9a\u4e49\u7684\u51fd\u6570\u53ef\u4ee5\u7528 C \u7f16\u5199\uff08\u6216\u8005\u53ef\u4ee5\u4e0e C \u517c\u5bb9\u7684\u8bed\u8a00\uff0c\u4f8b\u5982 C++\uff09\u3002\u8fd9\u7c7b\u51fd\u6570\u88ab\u7f16\u8bd1\u6210\u52a8\u6001\u8f7d\u5165\u5bf9\u8c61\uff08\u4e5f\u88ab\u79f0\u4e3a\u5171\u4eab\u5e93\uff09\u5e76\u4e14\u7531\u670d\u52a1\u5668\u5728\u9700\u8981\u65f6\u8f7d\u5165\u3002\u52a8\u6001\u8f7d\u5165\u662f\u628a<span>\u201c<span>C \u8bed\u8a00</span>\u201d</span>\u51fd\u6570\u548c<span>\u201c<span>\u5185\u90e8</span>\u201d</span>\u51fd\u6570\u533a\u5206\u5f00\u7684\u7279\u6027 \u2014 \u4e24\u8005\u771f\u6b63\u7684\u7f16\u7801\u4e60\u60ef\u5b9e\u9645\u4e0a\u662f\u4e00\u6837\u7684\uff08\u56e0\u6b64\uff0c\u6807\u51c6\u5185\u90e8\u51fd\u6570\u5e93\u4e3a\u7528\u6237\u5b9a\u4e49\u7684 C \u51fd\u6570\u63d0\u4f9b\u4e86\u4e30\u5bcc\u7684\u7f16\u7801\u793a\u4f8b\uff09\u3002\n   </p><p>\n    \u5f53\u524d\u4ec5\u6709\u4e00\u79cd\u8c03\u7528\u7ea6\u5b9a\u88ab\u7528\u4e8e C \u51fd\u6570\uff08<span>\u201c<span>\u7248\u672c 1</span>\u201d</span>\uff09\u3002\u5982\u4e0b\u6587\u6240\u793a\uff0c\u4e3a\u51fd\u6570\u7f16\u5199\u4e00\u4e2a <code>PG_FUNCTION_INFO_V1()</code> \u5b8f\u5c31\u80fd\u6307\u793a\u5bf9\u8be5\u8c03\u7528\u7ea6\u5b9a\u7684\u652f\u6301\u3002\n   </p><p><a href=\"/zh/docs/17/xfunc-c.html\" rel=\"nofollow\">\u67e5\u770b\u5b8c\u6574\u4e2d\u6587\u624b\u518c\u4e0e\u4e0a\u4e0b\u6587</a>\u3002</p>"}, "18": {"facts": [{"label": "\u79cd\u7c7b", "value": "\u539f\u751f\u51fd\u6570\u8bed\u8a00"}, {"label": "\u53ef\u4fe1", "value": "f"}, {"label": "\u6821\u9a8c\u51fd\u6570", "value": "fmgr_c_validator"}], "tables": [], "aliases": [], "catalog": {"oid": "13", "descr": "dynamically-loaded C functions", "lanacl": "_null_", "lanispl": "f", "lanname": "c", "lanowner": "POSTGRES", "laninline": "0", "oid_symbol": "ClanguageId", "lanpltrusted": "f", "lanvalidator": "fmgr_c_validator", "lanplcallfoid": "0"}, "related": [], "release": {"ref": "https://ftp.postgresql.org/pub/source/v18.6/postgresql-18.6.tar.bz2", "label": "18.6", "major": "18", "channel": "stable", "revision": "555610c24d53e4316da5b7d3fc25c279d96856d5e0e23ee308c328c5fa881d9f", "source_sha256": "555610c24d53e4316da5b7d3fc25c279d96856d5e0e23ee308c328c5fa881d9f", "catalog_fingerprint": "65c93d6048ef30e61023a84f9680fa6a92b1c383b7eb226741170077eb078502"}, "sources": [{"url": "https://ftp.postgresql.org/pub/source/v18.6/postgresql-18.6.tar.bz2", "label": "Matching PostgreSQL source archive", "sha256": "555610c24d53e4316da5b7d3fc25c279d96856d5e0e23ee308c328c5fa881d9f"}, {"url": "/docs/18/xfunc-c.html", "path": "xfunc-c.html", "label": "PostgreSQL 18 English manual", "sha256": "d60592edc11f3240b19cecee91523a9a31f1caf68809fa7a39376360d957d68b"}], "zh_from": {"kind": "same-version-chinese-manual-with-source-derived-structured-summary", "manual": {"url": "/zh/docs/18/xfunc-c.html", "anchor": "", "locale": "zh-Hans", "version": "18", "build_id": 107, "page_key": "xfunc-c.html", "extraction": "concept-introduction", "source_hash": "bf3999f312e76302bd7f49e71ee9a12f07245ebec55eb8caec65d17f8a4a4a01", "fragment_sha256": "5c62a4cdf3760f946fb5dacce6f317d43425c53eeb0bcd7a7e8f6b17ea70f850", "source_revision": "unknown:rendered-translation-baseline", "translation_revision": "git:b1b500221dbe5437cfca004d6b04d3f6e422765d;html-sha256:08e987a66af27b98444a8057c256314eafa13611a3fb9e888214fc436824244b", "translated_from_revision": null}, "body_sha256": "a311902f245104ad6f522dad46ea3cf61ee46dabda49f22d21ab004be22ebf8e", "runtime_rerun": false, "authored_translation": "source-derived-structured-summary", "source_facts_revision": "555610c24d53e4316da5b7d3fc25c279d96856d5e0e23ee308c328c5fa881d9f"}, "facts_zh": [{"label": "\u79cd\u7c7b", "value": "\u539f\u751f\u51fd\u6570\u8bed\u8a00"}, {"label": "\u53ef\u4fe1", "value": "f"}, {"label": "\u6821\u9a8c\u51fd\u6570", "value": "fmgr_c_validator"}], "sections": [], "center_zh": {"title": "c", "locale": "zh-Hans", "source": {"key": "c", "locale": "zh-Hans", "version": "18", "text_hash": "8ef9cb20bd1f49ad6c7f3b994668d2a735f3cd23b14ea963e25594b2bc0fe8e0", "collection": "language", "dataset_hash": "7c31b524dfe136022d39a6ae8dcfac6b3bbd5f8fdaf422536599981252aff0c9", "source_database": "center", "source_revision": "555610c24d53e4316da5b7d3fc25c279d96856d5e0e23ee308c328c5fa881d9f"}, "payload": {"facts": [{"label": "\u79cd\u7c7b", "value": "\u539f\u751f\u51fd\u6570\u8bed\u8a00"}, {"label": "\u53ef\u4fe1", "value": "f"}, {"label": "\u6821\u9a8c\u51fd\u6570", "value": "fmgr_c_validator"}], "tables": [], "zh_from": {"kind": "same-version-chinese-manual-with-source-derived-structured-summary", "manual": {"url": "/zh/docs/18/xfunc-c.html", "anchor": "", "locale": "zh-Hans", "version": "18", "build_id": 107, "page_key": "xfunc-c.html", "extraction": "concept-introduction", "source_hash": "bf3999f312e76302bd7f49e71ee9a12f07245ebec55eb8caec65d17f8a4a4a01", "fragment_sha256": "5c62a4cdf3760f946fb5dacce6f317d43425c53eeb0bcd7a7e8f6b17ea70f850", "source_revision": "unknown:rendered-translation-baseline", "translation_revision": "git:b1b500221dbe5437cfca004d6b04d3f6e422765d;html-sha256:08e987a66af27b98444a8057c256314eafa13611a3fb9e888214fc436824244b", "translated_from_revision": null}, "body_sha256": "a311902f245104ad6f522dad46ea3cf61ee46dabda49f22d21ab004be22ebf8e", "runtime_rerun": false, "authored_translation": "source-derived-structured-summary", "source_facts_revision": "555610c24d53e4316da5b7d3fc25c279d96856d5e0e23ee308c328c5fa881d9f"}, "sections": [], "description_zh": "\u8fc7\u7a0b\u8bed\u8a00 c\u3002", "description_zh_html": "<p>\u8fc7\u7a0b\u8bed\u8a00 c\u3002</p><dl><dt>\u53d7\u4fe1\u4efb</dt><dd><code>\u5426</code></dd><dt>\u9a8c\u8bc1\u51fd\u6570</dt><dd><code>fmgr_c_validator</code></dd></dl><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u8282\u9009</h3><p>\n    \u7528\u6237\u5b9a\u4e49\u7684\u51fd\u6570\u53ef\u4ee5\u7528 C \u7f16\u5199\uff08\u6216\u8005\u53ef\u4ee5\u4e0e C \u517c\u5bb9\u7684\u8bed\u8a00\uff0c\u4f8b\u5982 C++\uff09\u3002\u8fd9\u7c7b\u51fd\u6570\u88ab\u7f16\u8bd1\u6210\u52a8\u6001\u8f7d\u5165\u5bf9\u8c61\uff08\u4e5f\u88ab\u79f0\u4e3a\u5171\u4eab\u5e93\uff09\u5e76\u4e14\u7531\u670d\u52a1\u5668\u5728\u9700\u8981\u65f6\u8f7d\u5165\u3002\u52a8\u6001\u8f7d\u5165\u662f\u628a<span class=\"quote\">\u201c<span class=\"quote\">C \u8bed\u8a00</span>\u201d</span>\u51fd\u6570\u548c<span class=\"quote\">\u201c<span class=\"quote\">\u5185\u90e8</span>\u201d</span>\u51fd\u6570\u533a\u5206\u5f00\u7684\u7279\u6027 \u2014 \u4e24\u8005\u771f\u6b63\u7684\u7f16\u7801\u4e60\u60ef\u5b9e\u9645\u4e0a\u662f\u4e00\u6837\u7684\uff08\u56e0\u6b64\uff0c\u6807\u51c6\u5185\u90e8\u51fd\u6570\u5e93\u4e3a\u7528\u6237\u5b9a\u4e49\u7684 C \u51fd\u6570\u63d0\u4f9b\u4e86\u4e30\u5bcc\u7684\u7f16\u7801\u793a\u4f8b\uff09\u3002\n   </p><p>\n    \u5f53\u524d\u4ec5\u6709\u4e00\u79cd\u8c03\u7528\u7ea6\u5b9a\u88ab\u7528\u4e8e C \u51fd\u6570\uff08<span class=\"quote\">\u201c<span class=\"quote\">\u7248\u672c 1</span>\u201d</span>\uff09\u3002\u5982\u4e0b\u6587\u6240\u793a\uff0c\u4e3a\u51fd\u6570\u7f16\u5199\u4e00\u4e2a <code class=\"literal\">PG_FUNCTION_INFO_V1()</code> \u5b8f\u5c31\u80fd\u6307\u793a\u5bf9\u8be5\u8c03\u7528\u7ea6\u5b9a\u7684\u652f\u6301\u3002\n   </p><p><a href=\"/zh/docs/18/xfunc-c.html\">\u67e5\u770b\u5b8c\u6574\u4e2d\u6587\u624b\u518c\u4e0e\u4e0a\u4e0b\u6587</a>\u3002</p>"}, "summary": "\u8fc7\u7a0b\u8bed\u8a00 c\u3002", "version": "18", "link_map": {"/zh/docs/18/xfunc-c.html": "/docs/18/xfunc-c.html"}, "body_html": "<p>\u8fc7\u7a0b\u8bed\u8a00 c\u3002</p><dl><dt>\u53d7\u4fe1\u4efb</dt><dd><code>\u5426</code></dd><dt>\u9a8c\u8bc1\u51fd\u6570</dt><dd><code>fmgr_c_validator</code></dd></dl><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u8282\u9009</h3><p>\n    \u7528\u6237\u5b9a\u4e49\u7684\u51fd\u6570\u53ef\u4ee5\u7528 C \u7f16\u5199\uff08\u6216\u8005\u53ef\u4ee5\u4e0e C \u517c\u5bb9\u7684\u8bed\u8a00\uff0c\u4f8b\u5982 C++\uff09\u3002\u8fd9\u7c7b\u51fd\u6570\u88ab\u7f16\u8bd1\u6210\u52a8\u6001\u8f7d\u5165\u5bf9\u8c61\uff08\u4e5f\u88ab\u79f0\u4e3a\u5171\u4eab\u5e93\uff09\u5e76\u4e14\u7531\u670d\u52a1\u5668\u5728\u9700\u8981\u65f6\u8f7d\u5165\u3002\u52a8\u6001\u8f7d\u5165\u662f\u628a<span>\u201c<span>C \u8bed\u8a00</span>\u201d</span>\u51fd\u6570\u548c<span>\u201c<span>\u5185\u90e8</span>\u201d</span>\u51fd\u6570\u533a\u5206\u5f00\u7684\u7279\u6027 \u2014 \u4e24\u8005\u771f\u6b63\u7684\u7f16\u7801\u4e60\u60ef\u5b9e\u9645\u4e0a\u662f\u4e00\u6837\u7684\uff08\u56e0\u6b64\uff0c\u6807\u51c6\u5185\u90e8\u51fd\u6570\u5e93\u4e3a\u7528\u6237\u5b9a\u4e49\u7684 C \u51fd\u6570\u63d0\u4f9b\u4e86\u4e30\u5bcc\u7684\u7f16\u7801\u793a\u4f8b\uff09\u3002\n   </p><p>\n    \u5f53\u524d\u4ec5\u6709\u4e00\u79cd\u8c03\u7528\u7ea6\u5b9a\u88ab\u7528\u4e8e C \u51fd\u6570\uff08<span>\u201c<span>\u7248\u672c 1</span>\u201d</span>\uff09\u3002\u5982\u4e0b\u6587\u6240\u793a\uff0c\u4e3a\u51fd\u6570\u7f16\u5199\u4e00\u4e2a <code>PG_FUNCTION_INFO_V1()</code> \u5b8f\u5c31\u80fd\u6307\u793a\u5bf9\u8be5\u8c03\u7528\u7ea6\u5b9a\u7684\u652f\u6301\u3002\n   </p><p><a href=\"/zh/docs/18/xfunc-c.html\" rel=\"nofollow\">\u67e5\u770b\u5b8c\u6574\u4e2d\u6587\u624b\u518c\u4e0e\u4e0a\u4e0b\u6587</a>\u3002</p>", "body_sha256": "e89153acac3bb9ea9ee1be9ab95316c5e02d94669cf37de31ceb94094b6d0271", "content_hash": "8ef9cb20bd1f49ad6c7f3b994668d2a735f3cd23b14ea963e25594b2bc0fe8e0", "source_database": "center", "source_revision": "555610c24d53e4316da5b7d3fc25c279d96856d5e0e23ee308c328c5fa881d9f"}, "signature": "", "tables_zh": [], "attributes": {"kind": "Native function language", "handler": "", "trusted": "f", "validator": "fmgr_c_validator"}, "description": ["\u8fc7\u7a0b\u8bed\u8a00 c\u3002"], "manual_html": "", "manual_path": "/docs/18/xfunc-c.html", "sections_zh": [], "localization": {"status": "complete", "sources": [{"url": "/docs/18/protocol-overview.html", "method": "same-major semantic node", "sha256": "3f1aa8bd4dbef58e9a82e8cf4c82829a4df7416cfa83dd61c18e9e25060f22da", "language": "zh", "matched_nodes": ["#PROTOCOL-OVERVIEW/div[9]/p[1]/span[2]/span[0]"]}, {"url": "/docs/18/xfunc-c.html", "method": "same-major semantic node", "sha256": "4b35ab16ac85cc22b5c37555941784a2fd0a1b66b507e9dfff9a239102c15e77", "language": "zh", "matched_nodes": ["#XFUNC-C/div[0]", "#XFUNC-C/div[10]/div[2]/div[0]", "#XFUNC-C/div[10]/div[2]/p[2]", "#XFUNC-C/div[10]/div[3]/div[0]", "#XFUNC-C/div[10]/div[3]/div[2]/p[1]", "#XFUNC-C/div[10]/div[3]/div[3]/p[1]", "#XFUNC-C/div[10]/div[3]/div[3]/p[2]", "#XFUNC-C/div[10]/div[4]/div[0]", "#XFUNC-C/div[10]/div[4]/div[2]/p[1]", "#XFUNC-C/div[10]/div[4]/div[3]/p[1]", "#XFUNC-C/div[10]/div[4]/div[3]/p[2]", "#XFUNC-C/div[10]/div[4]/div[3]/p[3]", "#XFUNC-C/div[10]/div[4]/div[3]/p[4]", "#XFUNC-C/div[10]/div[4]/div[3]/p[5]", "#XFUNC-C/div[10]/p[1]", "#XFUNC-C/div[11]/p[10]", "#XFUNC-C/div[11]/p[1]", "#XFUNC-C/div[11]/p[2]", "#XFUNC-C/div[11]/p[6]", "#XFUNC-C/div[11]/p[7]", "#XFUNC-C/div[11]/p[8]", "#XFUNC-C/div[12]/div[7]/p[1]", "#XFUNC-C/div[12]/div[8]/p[1]", "#XFUNC-C/div[12]/p[11]", "#XFUNC-C/div[12]/p[13]", "#XFUNC-C/div[12]/p[14]", "#XFUNC-C/div[12]/p[16]", "#XFUNC-C/div[12]/p[18]", "#XFUNC-C/div[12]/p[19]", "#XFUNC-C/div[12]/p[1]", "#XFUNC-C/div[12]/p[21]", "#XFUNC-C/div[12]/p[22]", "#XFUNC-C/div[12]/p[24]", "#XFUNC-C/div[12]/p[25]", "#XFUNC-C/div[12]/p[27]", "#XFUNC-C/div[12]/p[28]", "#XFUNC-C/div[12]/p[3]", "#XFUNC-C/div[12]/p[4]", "#XFUNC-C/div[12]/p[6]", "#XFUNC-C/div[12]/p[9]", "#XFUNC-C/div[13]/div[19]/p[1]", "#XFUNC-C/div[13]/p[10]", "#XFUNC-C/div[13]/p[12]", "#XFUNC-C/div[13]/p[13]", "#XFUNC-C/div[13]/p[15]", "#XFUNC-C/div[13]/p[20]", "#XFUNC-C/div[13]/p[22]", "#XFUNC-C/div[13]/p[24]", "#XFUNC-C/div[13]/p[26]", "#XFUNC-C/div[13]/p[28]", "#XFUNC-C/div[13]/p[2]", "#XFUNC-C/div[13]/p[3]", "#XFUNC-C/div[13]/p[4]", "#XFUNC-C/div[13]/p[6]", "#XFUNC-C/div[13]/p[8]", "#XFUNC-C/div[14]/p[1]", "#XFUNC-C/div[14]/p[2]", "#XFUNC-C/div[14]/p[4]", "#XFUNC-C/div[14]/p[6]", "#XFUNC-C/div[15]/div[1]/div[0]", "#XFUNC-C/div[15]/div[1]/p[3]", "#XFUNC-C/div[15]/div[1]/p[5]", "#XFUNC-C/div[15]/div[1]/p[6]", "#XFUNC-C/div[15]/div[1]/p[8]", "#XFUNC-C/div[15]/div[1]/p[9]", "#XFUNC-C/div[15]/div[2]/div[0]", "#XFUNC-C/div[15]/div[2]/p[1]", "#XFUNC-C/div[15]/div[2]/p[3]", "#XFUNC-C/div[15]/div[2]/p[5]", "#XFUNC-C/div[16]/div[1]/div[0]", "#XFUNC-C/div[16]/div[2]/div[0]", "#XFUNC-C/div[16]/div[2]/p[1]", "#XFUNC-C/div[16]/div[2]/p[3]", "#XFUNC-C/div[16]/div[2]/p[5]", "#XFUNC-C/div[16]/div[2]/p[6]", "#XFUNC-C/div[16]/div[2]/p[8]", "#XFUNC-C/div[17]/p[1]", "#XFUNC-C/div[17]/p[3]", "#XFUNC-C/div[17]/p[4]", "#XFUNC-C/div[18]/p[10]", "#XFUNC-C/div[18]/p[12]", "#XFUNC-C/div[18]/p[13]", "#XFUNC-C/div[18]/p[15]", "#XFUNC-C/div[18]/p[16]", "#XFUNC-C/div[18]/p[18]", "#XFUNC-C/div[18]/p[19]", "#XFUNC-C/div[18]/p[1]", "#XFUNC-C/div[18]/p[20]", "#XFUNC-C/div[18]/p[3]", "#XFUNC-C/div[18]/p[4]", "#XFUNC-C/div[18]/p[6]", "#XFUNC-C/div[18]/p[7]", "#XFUNC-C/div[19]/p[10]", "#XFUNC-C/div[19]/p[1]", "#XFUNC-C/div[19]/p[2]", "#XFUNC-C/div[19]/p[4]", "#XFUNC-C/div[19]/p[6]", "#XFUNC-C/div[19]/p[7]", "#XFUNC-C/div[19]/p[8]", "#XFUNC-C/div[19]/p[9]", "#XFUNC-C/div[1]/dl[0]/dt[0]", "#XFUNC-C/div[1]/dl[0]/dt[10]", "#XFUNC-C/div[1]/dl[0]/dt[12]", "#XFUNC-C/div[1]/dl[0]/dt[13]", "#XFUNC-C/div[1]/dl[0]/dt[14]", "#XFUNC-C/div[1]/dl[0]/dt[15]", "#XFUNC-C/div[1]/dl[0]/dt[1]", "#XFUNC-C/div[1]/dl[0]/dt[2]", "#XFUNC-C/div[1]/dl[0]/dt[3]", "#XFUNC-C/div[1]/dl[0]/dt[4]", "#XFUNC-C/div[1]/dl[0]/dt[5]", "#XFUNC-C/div[1]/dl[0]/dt[6]", "#XFUNC-C/div[1]/dl[0]/dt[7]", "#XFUNC-C/div[1]/dl[0]/dt[8]", "#XFUNC-C/div[1]/dl[0]/dt[9]", "#XFUNC-C/div[20]/div[3]/ul[0]/li[0]", "#XFUNC-C/div[20]/div[3]/ul[0]/li[1]", "#XFUNC-C/div[20]/div[3]/ul[0]/li[2]", "#XFUNC-C/div[20]/p[2]", "#XFUNC-C/div[20]/p[4]", "#XFUNC-C/div[5]/div[4]/ol[0]/li[0]", "#XFUNC-C/div[5]/div[4]/ol[0]/li[1]", "#XFUNC-C/div[5]/div[4]/ol[0]/li[2]", "#XFUNC-C/div[5]/div[4]/ol[0]/li[3]", "#XFUNC-C/div[5]/div[9]/h3[0]", "#XFUNC-C/div[5]/div[9]/p[1]", "#XFUNC-C/div[5]/p[12]", "#XFUNC-C/div[5]/p[14]", "#XFUNC-C/div[5]/p[16]", "#XFUNC-C/div[5]/p[18]", "#XFUNC-C/div[5]/p[19]", "#XFUNC-C/div[5]/p[22]", "#XFUNC-C/div[5]/p[2]", "#XFUNC-C/div[5]/p[3]", "#XFUNC-C/div[5]/p[5]", "#XFUNC-C/div[5]/p[6]", "#XFUNC-C/div[5]/p[7]", "#XFUNC-C/div[5]/p[8]", "#XFUNC-C/div[6]/div[13]/h3[0]", "#XFUNC-C/div[6]/div[13]/p[1]", "#XFUNC-C/div[6]/div[21]/div[1]/table[0]/tbody[2]/tr[0]/td[2]", "#XFUNC-C/div[6]/div[21]/div[1]/table[0]/tbody[2]/tr[3]/td[2]", "#XFUNC-C/div[6]/div[21]/div[1]/table[0]/thead[1]/tr[0]/th[0]", "#XFUNC-C/div[6]/div[21]/div[1]/table[0]/thead[1]/tr[0]/th[1]", "#XFUNC-C/div[6]/div[21]/p[0]", "#XFUNC-C/div[6]/div[4]/ul[0]/li[0]", "#XFUNC-C/div[6]/div[4]/ul[0]/li[1]", "#XFUNC-C/div[6]/div[4]/ul[0]/li[2]", "#XFUNC-C/div[6]/p[10]", "#XFUNC-C/div[6]/p[11]", "#XFUNC-C/div[6]/p[12]", "#XFUNC-C/div[6]/p[14]", "#XFUNC-C/div[6]/p[16]", "#XFUNC-C/div[6]/p[17]", "#XFUNC-C/div[6]/p[19]", "#XFUNC-C/div[6]/p[20]", "#XFUNC-C/div[6]/p[20]/span[2]/span[0]", "#XFUNC-C/div[6]/p[23]", "#XFUNC-C/div[6]/p[2]", "#XFUNC-C/div[6]/p[3]", "#XFUNC-C/div[6]/p[5]", "#XFUNC-C/div[6]/p[7]", "#XFUNC-C/div[6]/p[8]", "#XFUNC-C/div[7]/p[10]", "#XFUNC-C/div[7]/p[13]", "#XFUNC-C/div[7]/p[16]", "#XFUNC-C/div[7]/p[17]", "#XFUNC-C/div[7]/p[18]", "#XFUNC-C/div[7]/p[1]", "#XFUNC-C/div[7]/p[20]", "#XFUNC-C/div[7]/p[3]", "#XFUNC-C/div[7]/p[5]", "#XFUNC-C/div[7]/p[6]", "#XFUNC-C/div[7]/p[7]", "#XFUNC-C/div[7]/p[8]", "#XFUNC-C/div[7]/p[9]", "#XFUNC-C/div[8]/div[3]/ul[0]/li[0]", "#XFUNC-C/div[8]/div[3]/ul[0]/li[1]", "#XFUNC-C/div[8]/div[3]/ul[0]/li[2]", "#XFUNC-C/div[8]/div[3]/ul[0]/li[3]", "#XFUNC-C/div[8]/div[3]/ul[0]/li[4]", "#XFUNC-C/div[8]/div[3]/ul[0]/li[5]", "#XFUNC-C/div[8]/div[3]/ul[0]/li[6]", "#XFUNC-C/div[8]/p[1]", "#XFUNC-C/div[8]/p[2]", "#XFUNC-C/div[9]/div[5]/dl[0]/dd[11]/p[0]", "#XFUNC-C/div[9]/div[5]/dl[0]/dd[1]/p[0]", "#XFUNC-C/div[9]/div[5]/dl[0]/dd[1]/p[2]", "#XFUNC-C/div[9]/div[5]/dl[0]/dd[3]/p[0]", "#XFUNC-C/div[9]/div[5]/dl[0]/dd[5]/p[0]", "#XFUNC-C/div[9]/div[5]/dl[0]/dd[7]/p[0]", "#XFUNC-C/div[9]/div[5]/dl[0]/dd[9]/p[0]", "#XFUNC-C/div[9]/div[6]/h3[0]", "#XFUNC-C/div[9]/div[6]/p[1]", "#XFUNC-C/div[9]/p[1]", "#XFUNC-C/div[9]/p[2]", "#XFUNC-C/div[9]/p[4]", "#XFUNC-C/div[9]/p[7]", "#XFUNC-C/div[9]/p[8]", "#XFUNC-C/p[3]"]}], "language": "zh", "original_text": {"/versions/18/description/0": "dynamically-loaded C functions", "/versions/18/facts/0/label": "Kind", "/versions/18/facts/0/value": "Native function language", "/versions/18/facts/1/label": "Trusted", "/versions/18/facts/2/label": "Validator"}, "fallback_fields": [], "source_language": "en", "original_snapshot_sha256": "126e9ec2b5157e7be6f2d1aaace3449ca213b73b9f2a7d82748ff9e6afc13a05", "canonical_center_text_hash": "8ef9cb20bd1f49ad6c7f3b994668d2a735f3cd23b14ea963e25594b2bc0fe8e0"}, "description_zh": "\u8fc7\u7a0b\u8bed\u8a00 c\u3002", "comparison_data": {"kind": "Native function language", "handler": "", "trusted": "f", "validator": "fmgr_c_validator"}, "comparison_hash": "e8a219c1a26602affef41a21da26d099cf721ba42739cb7b056898c9e2d6fbe6", "manual_language": "zh", "description_zh_html": "<p>\u8fc7\u7a0b\u8bed\u8a00 c\u3002</p><dl><dt>\u53d7\u4fe1\u4efb</dt><dd><code>\u5426</code></dd><dt>\u9a8c\u8bc1\u51fd\u6570</dt><dd><code>fmgr_c_validator</code></dd></dl><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u8282\u9009</h3><p>\n    \u7528\u6237\u5b9a\u4e49\u7684\u51fd\u6570\u53ef\u4ee5\u7528 C \u7f16\u5199\uff08\u6216\u8005\u53ef\u4ee5\u4e0e C \u517c\u5bb9\u7684\u8bed\u8a00\uff0c\u4f8b\u5982 C++\uff09\u3002\u8fd9\u7c7b\u51fd\u6570\u88ab\u7f16\u8bd1\u6210\u52a8\u6001\u8f7d\u5165\u5bf9\u8c61\uff08\u4e5f\u88ab\u79f0\u4e3a\u5171\u4eab\u5e93\uff09\u5e76\u4e14\u7531\u670d\u52a1\u5668\u5728\u9700\u8981\u65f6\u8f7d\u5165\u3002\u52a8\u6001\u8f7d\u5165\u662f\u628a<span>\u201c<span>C \u8bed\u8a00</span>\u201d</span>\u51fd\u6570\u548c<span>\u201c<span>\u5185\u90e8</span>\u201d</span>\u51fd\u6570\u533a\u5206\u5f00\u7684\u7279\u6027 \u2014 \u4e24\u8005\u771f\u6b63\u7684\u7f16\u7801\u4e60\u60ef\u5b9e\u9645\u4e0a\u662f\u4e00\u6837\u7684\uff08\u56e0\u6b64\uff0c\u6807\u51c6\u5185\u90e8\u51fd\u6570\u5e93\u4e3a\u7528\u6237\u5b9a\u4e49\u7684 C \u51fd\u6570\u63d0\u4f9b\u4e86\u4e30\u5bcc\u7684\u7f16\u7801\u793a\u4f8b\uff09\u3002\n   </p><p>\n    \u5f53\u524d\u4ec5\u6709\u4e00\u79cd\u8c03\u7528\u7ea6\u5b9a\u88ab\u7528\u4e8e C \u51fd\u6570\uff08<span>\u201c<span>\u7248\u672c 1</span>\u201d</span>\uff09\u3002\u5982\u4e0b\u6587\u6240\u793a\uff0c\u4e3a\u51fd\u6570\u7f16\u5199\u4e00\u4e2a <code>PG_FUNCTION_INFO_V1()</code> \u5b8f\u5c31\u80fd\u6307\u793a\u5bf9\u8be5\u8c03\u7528\u7ea6\u5b9a\u7684\u652f\u6301\u3002\n   </p><p><a href=\"/zh/docs/18/xfunc-c.html\" rel=\"nofollow\">\u67e5\u770b\u5b8c\u6574\u4e2d\u6587\u624b\u518c\u4e0e\u4e0a\u4e0b\u6587</a>\u3002</p>", "center_zh_rendered": "<p>\u8fc7\u7a0b\u8bed\u8a00 c\u3002</p><dl><dt>\u53d7\u4fe1\u4efb</dt><dd><code>\u5426</code></dd><dt>\u9a8c\u8bc1\u51fd\u6570</dt><dd><code>fmgr_c_validator</code></dd></dl><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u8282\u9009</h3><p>\n    \u7528\u6237\u5b9a\u4e49\u7684\u51fd\u6570\u53ef\u4ee5\u7528 C \u7f16\u5199\uff08\u6216\u8005\u53ef\u4ee5\u4e0e C \u517c\u5bb9\u7684\u8bed\u8a00\uff0c\u4f8b\u5982 C++\uff09\u3002\u8fd9\u7c7b\u51fd\u6570\u88ab\u7f16\u8bd1\u6210\u52a8\u6001\u8f7d\u5165\u5bf9\u8c61\uff08\u4e5f\u88ab\u79f0\u4e3a\u5171\u4eab\u5e93\uff09\u5e76\u4e14\u7531\u670d\u52a1\u5668\u5728\u9700\u8981\u65f6\u8f7d\u5165\u3002\u52a8\u6001\u8f7d\u5165\u662f\u628a<span>\u201c<span>C \u8bed\u8a00</span>\u201d</span>\u51fd\u6570\u548c<span>\u201c<span>\u5185\u90e8</span>\u201d</span>\u51fd\u6570\u533a\u5206\u5f00\u7684\u7279\u6027 \u2014 \u4e24\u8005\u771f\u6b63\u7684\u7f16\u7801\u4e60\u60ef\u5b9e\u9645\u4e0a\u662f\u4e00\u6837\u7684\uff08\u56e0\u6b64\uff0c\u6807\u51c6\u5185\u90e8\u51fd\u6570\u5e93\u4e3a\u7528\u6237\u5b9a\u4e49\u7684 C \u51fd\u6570\u63d0\u4f9b\u4e86\u4e30\u5bcc\u7684\u7f16\u7801\u793a\u4f8b\uff09\u3002\n   </p><p>\n    \u5f53\u524d\u4ec5\u6709\u4e00\u79cd\u8c03\u7528\u7ea6\u5b9a\u88ab\u7528\u4e8e C \u51fd\u6570\uff08<span>\u201c<span>\u7248\u672c 1</span>\u201d</span>\uff09\u3002\u5982\u4e0b\u6587\u6240\u793a\uff0c\u4e3a\u51fd\u6570\u7f16\u5199\u4e00\u4e2a <code>PG_FUNCTION_INFO_V1()</code> \u5b8f\u5c31\u80fd\u6307\u793a\u5bf9\u8be5\u8c03\u7528\u7ea6\u5b9a\u7684\u652f\u6301\u3002\n   </p><p><a href=\"/docs/18/xfunc-c.html\">\u67e5\u770b\u5b8c\u6574\u4e2d\u6587\u624b\u518c\u4e0e\u4e0a\u4e0b\u6587</a>\u3002</p>"}, "19": {"facts": [{"label": "\u79cd\u7c7b", "value": "\u539f\u751f\u51fd\u6570\u8bed\u8a00"}, {"label": "\u53ef\u4fe1", "value": "f"}, {"label": "\u6821\u9a8c\u51fd\u6570", "value": "fmgr_c_validator"}], "tables": [], "aliases": [], "catalog": {"oid": "13", "descr": "dynamically-loaded C functions", "lanacl": "_null_", "lanispl": "f", "lanname": "c", "lanowner": "POSTGRES", "laninline": "0", "oid_symbol": "ClanguageId", "lanpltrusted": "f", "lanvalidator": "fmgr_c_validator", "lanplcallfoid": "0"}, "related": [], "release": {"ref": "https://ftp.postgresql.org/pub/source/v19rc1/postgresql-19rc1.tar.bz2", "label": "19rc1", "major": "19", "channel": "preview", "revision": "af105fc8e960fc836a09fc2cd7f582b49fd17675d9d36631abe3a565bfd7d701", "source_sha256": "af105fc8e960fc836a09fc2cd7f582b49fd17675d9d36631abe3a565bfd7d701", "catalog_fingerprint": "62fbf1a3689dbe8bf7e6b3372cfe6fbf867581427b3858a94c8419b77a4d2d1d"}, "sources": [{"url": "https://ftp.postgresql.org/pub/source/v19rc1/postgresql-19rc1.tar.bz2", "label": "Matching PostgreSQL source archive", "sha256": "af105fc8e960fc836a09fc2cd7f582b49fd17675d9d36631abe3a565bfd7d701"}, {"url": "/docs/19/xfunc-c.html", "path": "xfunc-c.html", "label": "PostgreSQL 19 English manual", "sha256": "97ac0fefd1d04c6fa9b30283981cc97196ad11d4b9c69e4a146b4d3802bf5823"}], "zh_from": {"kind": "same-version-chinese-manual-with-source-derived-structured-summary", "manual": {"url": "/zh/docs/19/xfunc-c.html", "anchor": "", "locale": "zh-Hans", "version": "19", "build_id": 109, "page_key": "xfunc-c.html", "extraction": "concept-introduction", "source_hash": "b3597e8a8f121b5def180b26105f4b8f7676f94611c4670e4fea24813e6d92b6", "fragment_sha256": "5c62a4cdf3760f946fb5dacce6f317d43425c53eeb0bcd7a7e8f6b17ea70f850", "source_revision": "sha256:af105fc8e960fc836a09fc2cd7f582b49fd17675d9d36631abe3a565bfd7d701", "translation_revision": "git:b1b500221dbe5437cfca004d6b04d3f6e422765d;html-sha256:65fda1f1b62a89992b84014c9157e61b67dbe8190e93945826efec668fad038c", "translated_from_revision": "sha256:af105fc8e960fc836a09fc2cd7f582b49fd17675d9d36631abe3a565bfd7d701"}, "body_sha256": "e92d85697ecb0605d500df7d9f6fafc42401736a5000a7d4942794109fec7b5b", "runtime_rerun": false, "authored_translation": "source-derived-structured-summary", "source_facts_revision": "af105fc8e960fc836a09fc2cd7f582b49fd17675d9d36631abe3a565bfd7d701"}, "facts_zh": [{"label": "\u79cd\u7c7b", "value": "\u539f\u751f\u51fd\u6570\u8bed\u8a00"}, {"label": "\u53ef\u4fe1", "value": "f"}, {"label": "\u6821\u9a8c\u51fd\u6570", "value": "fmgr_c_validator"}], "sections": [], "center_zh": {"title": "c", "locale": "zh-Hans", "source": {"key": "c", "locale": "zh-Hans", "version": "19", "text_hash": "d422c15f14b55b1595aa28ef8f54e2821386691d21dbb86cc8dee8460c7efd4c", "collection": "language", "dataset_hash": "7c31b524dfe136022d39a6ae8dcfac6b3bbd5f8fdaf422536599981252aff0c9", "source_database": "center", "source_revision": "af105fc8e960fc836a09fc2cd7f582b49fd17675d9d36631abe3a565bfd7d701"}, "payload": {"facts": [{"label": "\u79cd\u7c7b", "value": "\u539f\u751f\u51fd\u6570\u8bed\u8a00"}, {"label": "\u53ef\u4fe1", "value": "f"}, {"label": "\u6821\u9a8c\u51fd\u6570", "value": "fmgr_c_validator"}], "tables": [], "zh_from": {"kind": "same-version-chinese-manual-with-source-derived-structured-summary", "manual": {"url": "/zh/docs/19/xfunc-c.html", "anchor": "", "locale": "zh-Hans", "version": "19", "build_id": 109, "page_key": "xfunc-c.html", "extraction": "concept-introduction", "source_hash": "b3597e8a8f121b5def180b26105f4b8f7676f94611c4670e4fea24813e6d92b6", "fragment_sha256": "5c62a4cdf3760f946fb5dacce6f317d43425c53eeb0bcd7a7e8f6b17ea70f850", "source_revision": "sha256:af105fc8e960fc836a09fc2cd7f582b49fd17675d9d36631abe3a565bfd7d701", "translation_revision": "git:b1b500221dbe5437cfca004d6b04d3f6e422765d;html-sha256:65fda1f1b62a89992b84014c9157e61b67dbe8190e93945826efec668fad038c", "translated_from_revision": "sha256:af105fc8e960fc836a09fc2cd7f582b49fd17675d9d36631abe3a565bfd7d701"}, "body_sha256": "e92d85697ecb0605d500df7d9f6fafc42401736a5000a7d4942794109fec7b5b", "runtime_rerun": false, "authored_translation": "source-derived-structured-summary", "source_facts_revision": "af105fc8e960fc836a09fc2cd7f582b49fd17675d9d36631abe3a565bfd7d701"}, "sections": [], "description_zh": "\u8fc7\u7a0b\u8bed\u8a00 c\u3002", "description_zh_html": "<p>\u8fc7\u7a0b\u8bed\u8a00 c\u3002</p><dl><dt>\u53d7\u4fe1\u4efb</dt><dd><code>\u5426</code></dd><dt>\u9a8c\u8bc1\u51fd\u6570</dt><dd><code>fmgr_c_validator</code></dd></dl><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u8282\u9009</h3><p>\n    \u7528\u6237\u5b9a\u4e49\u7684\u51fd\u6570\u53ef\u4ee5\u7528 C \u7f16\u5199\uff08\u6216\u8005\u53ef\u4ee5\u4e0e C \u517c\u5bb9\u7684\u8bed\u8a00\uff0c\u4f8b\u5982 C++\uff09\u3002\u8fd9\u7c7b\u51fd\u6570\u88ab\u7f16\u8bd1\u6210\u52a8\u6001\u8f7d\u5165\u5bf9\u8c61\uff08\u4e5f\u88ab\u79f0\u4e3a\u5171\u4eab\u5e93\uff09\u5e76\u4e14\u7531\u670d\u52a1\u5668\u5728\u9700\u8981\u65f6\u8f7d\u5165\u3002\u52a8\u6001\u8f7d\u5165\u662f\u628a<span class=\"quote\">\u201c<span class=\"quote\">C \u8bed\u8a00</span>\u201d</span>\u51fd\u6570\u548c<span class=\"quote\">\u201c<span class=\"quote\">\u5185\u90e8</span>\u201d</span>\u51fd\u6570\u533a\u5206\u5f00\u7684\u7279\u6027 \u2014 \u4e24\u8005\u771f\u6b63\u7684\u7f16\u7801\u4e60\u60ef\u5b9e\u9645\u4e0a\u662f\u4e00\u6837\u7684\uff08\u56e0\u6b64\uff0c\u6807\u51c6\u5185\u90e8\u51fd\u6570\u5e93\u4e3a\u7528\u6237\u5b9a\u4e49\u7684 C \u51fd\u6570\u63d0\u4f9b\u4e86\u4e30\u5bcc\u7684\u7f16\u7801\u793a\u4f8b\uff09\u3002\n   </p><p>\n    \u5f53\u524d\u4ec5\u6709\u4e00\u79cd\u8c03\u7528\u7ea6\u5b9a\u88ab\u7528\u4e8e C \u51fd\u6570\uff08<span class=\"quote\">\u201c<span class=\"quote\">\u7248\u672c 1</span>\u201d</span>\uff09\u3002\u5982\u4e0b\u6587\u6240\u793a\uff0c\u4e3a\u51fd\u6570\u7f16\u5199\u4e00\u4e2a <code class=\"literal\">PG_FUNCTION_INFO_V1()</code> \u5b8f\u5c31\u80fd\u6307\u793a\u5bf9\u8be5\u8c03\u7528\u7ea6\u5b9a\u7684\u652f\u6301\u3002\n   </p><p><a href=\"/zh/docs/19/xfunc-c.html\">\u67e5\u770b\u5b8c\u6574\u4e2d\u6587\u624b\u518c\u4e0e\u4e0a\u4e0b\u6587</a>\u3002</p>"}, "summary": "\u8fc7\u7a0b\u8bed\u8a00 c\u3002", "version": "19", "link_map": {"/zh/docs/19/xfunc-c.html": "/docs/19/xfunc-c.html"}, "body_html": "<p>\u8fc7\u7a0b\u8bed\u8a00 c\u3002</p><dl><dt>\u53d7\u4fe1\u4efb</dt><dd><code>\u5426</code></dd><dt>\u9a8c\u8bc1\u51fd\u6570</dt><dd><code>fmgr_c_validator</code></dd></dl><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u8282\u9009</h3><p>\n    \u7528\u6237\u5b9a\u4e49\u7684\u51fd\u6570\u53ef\u4ee5\u7528 C \u7f16\u5199\uff08\u6216\u8005\u53ef\u4ee5\u4e0e C \u517c\u5bb9\u7684\u8bed\u8a00\uff0c\u4f8b\u5982 C++\uff09\u3002\u8fd9\u7c7b\u51fd\u6570\u88ab\u7f16\u8bd1\u6210\u52a8\u6001\u8f7d\u5165\u5bf9\u8c61\uff08\u4e5f\u88ab\u79f0\u4e3a\u5171\u4eab\u5e93\uff09\u5e76\u4e14\u7531\u670d\u52a1\u5668\u5728\u9700\u8981\u65f6\u8f7d\u5165\u3002\u52a8\u6001\u8f7d\u5165\u662f\u628a<span>\u201c<span>C \u8bed\u8a00</span>\u201d</span>\u51fd\u6570\u548c<span>\u201c<span>\u5185\u90e8</span>\u201d</span>\u51fd\u6570\u533a\u5206\u5f00\u7684\u7279\u6027 \u2014 \u4e24\u8005\u771f\u6b63\u7684\u7f16\u7801\u4e60\u60ef\u5b9e\u9645\u4e0a\u662f\u4e00\u6837\u7684\uff08\u56e0\u6b64\uff0c\u6807\u51c6\u5185\u90e8\u51fd\u6570\u5e93\u4e3a\u7528\u6237\u5b9a\u4e49\u7684 C \u51fd\u6570\u63d0\u4f9b\u4e86\u4e30\u5bcc\u7684\u7f16\u7801\u793a\u4f8b\uff09\u3002\n   </p><p>\n    \u5f53\u524d\u4ec5\u6709\u4e00\u79cd\u8c03\u7528\u7ea6\u5b9a\u88ab\u7528\u4e8e C \u51fd\u6570\uff08<span>\u201c<span>\u7248\u672c 1</span>\u201d</span>\uff09\u3002\u5982\u4e0b\u6587\u6240\u793a\uff0c\u4e3a\u51fd\u6570\u7f16\u5199\u4e00\u4e2a <code>PG_FUNCTION_INFO_V1()</code> \u5b8f\u5c31\u80fd\u6307\u793a\u5bf9\u8be5\u8c03\u7528\u7ea6\u5b9a\u7684\u652f\u6301\u3002\n   </p><p><a href=\"/zh/docs/19/xfunc-c.html\" rel=\"nofollow\">\u67e5\u770b\u5b8c\u6574\u4e2d\u6587\u624b\u518c\u4e0e\u4e0a\u4e0b\u6587</a>\u3002</p>", "body_sha256": "198e887f5600c4589605f2972b63eba0585ef2eb713ad4bcbffc6c7bea6a06e8", "content_hash": "d422c15f14b55b1595aa28ef8f54e2821386691d21dbb86cc8dee8460c7efd4c", "source_database": "center", "source_revision": "af105fc8e960fc836a09fc2cd7f582b49fd17675d9d36631abe3a565bfd7d701"}, "signature": "", "tables_zh": [], "attributes": {"kind": "Native function language", "handler": "", "trusted": "f", "validator": "fmgr_c_validator"}, "description": ["\u8fc7\u7a0b\u8bed\u8a00 c\u3002"], "manual_html": "", "manual_path": "/docs/19/xfunc-c.html", "sections_zh": [], "localization": {"status": "complete", "sources": [{"url": "/docs/19/protocol-overview.html", "method": "same-major semantic node", "sha256": "4650a5af6514ccd289c59f90ba62490b00e797ee04c02359ef9e2174c1f276ed", "language": "zh", "matched_nodes": ["#PROTOCOL-OVERVIEW/div[9]/p[1]/span[2]/span[0]"]}, {"url": "/docs/19/xfunc-c.html", "method": "same-major semantic node", "sha256": "280b87b6c75df1c65f4fa4342c909e5e22ef756458232ac785459c8176101153", "language": "zh", "matched_nodes": ["#XFUNC-C/div[0]", "#XFUNC-C/div[10]/div[2]/div[0]", "#XFUNC-C/div[10]/div[2]/p[2]", "#XFUNC-C/div[10]/div[3]/div[0]", "#XFUNC-C/div[10]/div[3]/div[2]/p[1]", "#XFUNC-C/div[10]/div[3]/div[3]/p[1]", "#XFUNC-C/div[10]/div[3]/div[3]/p[2]", "#XFUNC-C/div[10]/div[4]/div[0]", "#XFUNC-C/div[10]/div[4]/div[2]/p[1]", "#XFUNC-C/div[10]/div[4]/div[3]/p[1]", "#XFUNC-C/div[10]/div[4]/div[3]/p[2]", "#XFUNC-C/div[10]/div[4]/div[3]/p[3]", "#XFUNC-C/div[10]/div[4]/div[3]/p[4]", "#XFUNC-C/div[10]/div[4]/div[3]/p[5]", "#XFUNC-C/div[10]/p[1]", "#XFUNC-C/div[11]/p[10]", "#XFUNC-C/div[11]/p[1]", "#XFUNC-C/div[11]/p[2]", "#XFUNC-C/div[11]/p[6]", "#XFUNC-C/div[11]/p[7]", "#XFUNC-C/div[11]/p[8]", "#XFUNC-C/div[12]/div[7]/p[1]", "#XFUNC-C/div[12]/div[8]/p[1]", "#XFUNC-C/div[12]/p[11]", "#XFUNC-C/div[12]/p[13]", "#XFUNC-C/div[12]/p[14]", "#XFUNC-C/div[12]/p[16]", "#XFUNC-C/div[12]/p[18]", "#XFUNC-C/div[12]/p[19]", "#XFUNC-C/div[12]/p[1]", "#XFUNC-C/div[12]/p[21]", "#XFUNC-C/div[12]/p[22]", "#XFUNC-C/div[12]/p[24]", "#XFUNC-C/div[12]/p[25]", "#XFUNC-C/div[12]/p[27]", "#XFUNC-C/div[12]/p[28]", "#XFUNC-C/div[12]/p[3]", "#XFUNC-C/div[12]/p[4]", "#XFUNC-C/div[12]/p[6]", "#XFUNC-C/div[12]/p[9]", "#XFUNC-C/div[13]/div[19]/p[1]", "#XFUNC-C/div[13]/p[10]", "#XFUNC-C/div[13]/p[12]", "#XFUNC-C/div[13]/p[13]", "#XFUNC-C/div[13]/p[15]", "#XFUNC-C/div[13]/p[20]", "#XFUNC-C/div[13]/p[22]", "#XFUNC-C/div[13]/p[24]", "#XFUNC-C/div[13]/p[26]", "#XFUNC-C/div[13]/p[28]", "#XFUNC-C/div[13]/p[2]", "#XFUNC-C/div[13]/p[3]", "#XFUNC-C/div[13]/p[4]", "#XFUNC-C/div[13]/p[6]", "#XFUNC-C/div[13]/p[8]", "#XFUNC-C/div[14]/p[1]", "#XFUNC-C/div[14]/p[2]", "#XFUNC-C/div[14]/p[4]", "#XFUNC-C/div[14]/p[6]", "#XFUNC-C/div[15]/div[1]/div[0]", "#XFUNC-C/div[15]/div[1]/p[1]", "#XFUNC-C/div[15]/div[1]/p[3]", "#XFUNC-C/div[15]/div[1]/p[4]", "#XFUNC-C/div[15]/div[1]/p[5]", "#XFUNC-C/div[15]/div[2]/div[0]", "#XFUNC-C/div[15]/div[2]/p[1]", "#XFUNC-C/div[15]/div[2]/p[3]", "#XFUNC-C/div[15]/div[3]/div[0]", "#XFUNC-C/div[15]/div[3]/p[1]", "#XFUNC-C/div[15]/div[3]/p[3]", "#XFUNC-C/div[15]/div[3]/p[4]", "#XFUNC-C/div[15]/div[3]/p[5]", "#XFUNC-C/div[16]/div[1]/div[0]", "#XFUNC-C/div[16]/div[2]/div[0]", "#XFUNC-C/div[16]/div[2]/p[1]", "#XFUNC-C/div[16]/div[2]/p[3]", "#XFUNC-C/div[16]/div[2]/p[5]", "#XFUNC-C/div[16]/div[2]/p[6]", "#XFUNC-C/div[17]/p[1]", "#XFUNC-C/div[17]/p[3]", "#XFUNC-C/div[17]/p[4]", "#XFUNC-C/div[18]/p[10]", "#XFUNC-C/div[18]/p[12]", "#XFUNC-C/div[18]/p[13]", "#XFUNC-C/div[18]/p[15]", "#XFUNC-C/div[18]/p[16]", "#XFUNC-C/div[18]/p[18]", "#XFUNC-C/div[18]/p[19]", "#XFUNC-C/div[18]/p[1]", "#XFUNC-C/div[18]/p[20]", "#XFUNC-C/div[18]/p[3]", "#XFUNC-C/div[18]/p[4]", "#XFUNC-C/div[18]/p[6]", "#XFUNC-C/div[18]/p[7]", "#XFUNC-C/div[19]/p[10]", "#XFUNC-C/div[19]/p[1]", "#XFUNC-C/div[19]/p[2]", "#XFUNC-C/div[19]/p[4]", "#XFUNC-C/div[19]/p[6]", "#XFUNC-C/div[19]/p[7]", "#XFUNC-C/div[19]/p[8]", "#XFUNC-C/div[19]/p[9]", "#XFUNC-C/div[1]/dl[0]/dt[0]", "#XFUNC-C/div[1]/dl[0]/dt[10]", "#XFUNC-C/div[1]/dl[0]/dt[12]", "#XFUNC-C/div[1]/dl[0]/dt[13]", "#XFUNC-C/div[1]/dl[0]/dt[14]", "#XFUNC-C/div[1]/dl[0]/dt[15]", "#XFUNC-C/div[1]/dl[0]/dt[1]", "#XFUNC-C/div[1]/dl[0]/dt[2]", "#XFUNC-C/div[1]/dl[0]/dt[3]", "#XFUNC-C/div[1]/dl[0]/dt[4]", "#XFUNC-C/div[1]/dl[0]/dt[5]", "#XFUNC-C/div[1]/dl[0]/dt[6]", "#XFUNC-C/div[1]/dl[0]/dt[7]", "#XFUNC-C/div[1]/dl[0]/dt[8]", "#XFUNC-C/div[1]/dl[0]/dt[9]", "#XFUNC-C/div[20]/div[3]/ul[0]/li[0]", "#XFUNC-C/div[20]/div[3]/ul[0]/li[1]", "#XFUNC-C/div[20]/div[3]/ul[0]/li[2]", "#XFUNC-C/div[20]/p[2]", "#XFUNC-C/div[20]/p[4]", "#XFUNC-C/div[5]/div[4]/ol[0]/li[0]", "#XFUNC-C/div[5]/div[4]/ol[0]/li[1]", "#XFUNC-C/div[5]/div[4]/ol[0]/li[2]", "#XFUNC-C/div[5]/div[4]/ol[0]/li[3]", "#XFUNC-C/div[5]/div[9]/h3[0]", "#XFUNC-C/div[5]/div[9]/p[1]", "#XFUNC-C/div[5]/p[12]", "#XFUNC-C/div[5]/p[14]", "#XFUNC-C/div[5]/p[16]", "#XFUNC-C/div[5]/p[18]", "#XFUNC-C/div[5]/p[19]", "#XFUNC-C/div[5]/p[22]", "#XFUNC-C/div[5]/p[2]", "#XFUNC-C/div[5]/p[3]", "#XFUNC-C/div[5]/p[5]", "#XFUNC-C/div[5]/p[6]", "#XFUNC-C/div[5]/p[7]", "#XFUNC-C/div[5]/p[8]", "#XFUNC-C/div[6]/div[13]/h3[0]", "#XFUNC-C/div[6]/div[13]/p[1]", "#XFUNC-C/div[6]/div[21]/div[1]/table[0]/tbody[2]/tr[0]/td[2]", "#XFUNC-C/div[6]/div[21]/div[1]/table[0]/tbody[2]/tr[3]/td[2]", "#XFUNC-C/div[6]/div[21]/div[1]/table[0]/thead[1]/tr[0]/th[0]", "#XFUNC-C/div[6]/div[21]/div[1]/table[0]/thead[1]/tr[0]/th[1]", "#XFUNC-C/div[6]/div[21]/p[0]", "#XFUNC-C/div[6]/div[4]/ul[0]/li[0]", "#XFUNC-C/div[6]/div[4]/ul[0]/li[1]", "#XFUNC-C/div[6]/div[4]/ul[0]/li[2]", "#XFUNC-C/div[6]/p[10]", "#XFUNC-C/div[6]/p[11]", "#XFUNC-C/div[6]/p[12]", "#XFUNC-C/div[6]/p[14]", "#XFUNC-C/div[6]/p[16]", "#XFUNC-C/div[6]/p[17]", "#XFUNC-C/div[6]/p[19]", "#XFUNC-C/div[6]/p[20]", "#XFUNC-C/div[6]/p[20]/span[2]/span[0]", "#XFUNC-C/div[6]/p[23]", "#XFUNC-C/div[6]/p[2]", "#XFUNC-C/div[6]/p[3]", "#XFUNC-C/div[6]/p[5]", "#XFUNC-C/div[6]/p[7]", "#XFUNC-C/div[6]/p[8]", "#XFUNC-C/div[7]/p[10]", "#XFUNC-C/div[7]/p[13]", "#XFUNC-C/div[7]/p[16]", "#XFUNC-C/div[7]/p[17]", "#XFUNC-C/div[7]/p[18]", "#XFUNC-C/div[7]/p[1]", "#XFUNC-C/div[7]/p[20]", "#XFUNC-C/div[7]/p[3]", "#XFUNC-C/div[7]/p[5]", "#XFUNC-C/div[7]/p[6]", "#XFUNC-C/div[7]/p[7]", "#XFUNC-C/div[7]/p[8]", "#XFUNC-C/div[7]/p[9]", "#XFUNC-C/div[8]/div[3]/ul[0]/li[0]", "#XFUNC-C/div[8]/div[3]/ul[0]/li[1]", "#XFUNC-C/div[8]/div[3]/ul[0]/li[2]", "#XFUNC-C/div[8]/div[3]/ul[0]/li[3]", "#XFUNC-C/div[8]/div[3]/ul[0]/li[4]", "#XFUNC-C/div[8]/div[3]/ul[0]/li[5]", "#XFUNC-C/div[8]/div[3]/ul[0]/li[6]", "#XFUNC-C/div[8]/p[1]", "#XFUNC-C/div[8]/p[2]", "#XFUNC-C/div[9]/div[5]/dl[0]/dd[11]/p[0]", "#XFUNC-C/div[9]/div[5]/dl[0]/dd[1]/p[0]", "#XFUNC-C/div[9]/div[5]/dl[0]/dd[1]/p[2]", "#XFUNC-C/div[9]/div[5]/dl[0]/dd[3]/p[0]", "#XFUNC-C/div[9]/div[5]/dl[0]/dd[5]/p[0]", "#XFUNC-C/div[9]/div[5]/dl[0]/dd[7]/p[0]", "#XFUNC-C/div[9]/div[5]/dl[0]/dd[9]/p[0]", "#XFUNC-C/div[9]/div[6]/h3[0]", "#XFUNC-C/div[9]/div[6]/p[1]", "#XFUNC-C/div[9]/p[1]", "#XFUNC-C/div[9]/p[2]", "#XFUNC-C/div[9]/p[4]", "#XFUNC-C/div[9]/p[7]", "#XFUNC-C/div[9]/p[8]", "#XFUNC-C/p[3]"]}], "language": "zh", "original_text": {"/versions/19/description/0": "dynamically-loaded C functions", "/versions/19/facts/0/label": "Kind", "/versions/19/facts/0/value": "Native function language", "/versions/19/facts/1/label": "Trusted", "/versions/19/facts/2/label": "Validator"}, "fallback_fields": [], "source_language": "en", "original_snapshot_sha256": "5319397c4db3e4bfdae9ee6b8cf5cee9d236ad7e694ce5974659042a0630f37e", "canonical_center_text_hash": "d422c15f14b55b1595aa28ef8f54e2821386691d21dbb86cc8dee8460c7efd4c"}, "description_zh": "\u8fc7\u7a0b\u8bed\u8a00 c\u3002", "comparison_data": {"kind": "Native function language", "handler": "", "trusted": "f", "validator": "fmgr_c_validator"}, "comparison_hash": "e8a219c1a26602affef41a21da26d099cf721ba42739cb7b056898c9e2d6fbe6", "manual_language": "zh", "description_zh_html": "<p>\u8fc7\u7a0b\u8bed\u8a00 c\u3002</p><dl><dt>\u53d7\u4fe1\u4efb</dt><dd><code>\u5426</code></dd><dt>\u9a8c\u8bc1\u51fd\u6570</dt><dd><code>fmgr_c_validator</code></dd></dl><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u8282\u9009</h3><p>\n    \u7528\u6237\u5b9a\u4e49\u7684\u51fd\u6570\u53ef\u4ee5\u7528 C \u7f16\u5199\uff08\u6216\u8005\u53ef\u4ee5\u4e0e C \u517c\u5bb9\u7684\u8bed\u8a00\uff0c\u4f8b\u5982 C++\uff09\u3002\u8fd9\u7c7b\u51fd\u6570\u88ab\u7f16\u8bd1\u6210\u52a8\u6001\u8f7d\u5165\u5bf9\u8c61\uff08\u4e5f\u88ab\u79f0\u4e3a\u5171\u4eab\u5e93\uff09\u5e76\u4e14\u7531\u670d\u52a1\u5668\u5728\u9700\u8981\u65f6\u8f7d\u5165\u3002\u52a8\u6001\u8f7d\u5165\u662f\u628a<span>\u201c<span>C \u8bed\u8a00</span>\u201d</span>\u51fd\u6570\u548c<span>\u201c<span>\u5185\u90e8</span>\u201d</span>\u51fd\u6570\u533a\u5206\u5f00\u7684\u7279\u6027 \u2014 \u4e24\u8005\u771f\u6b63\u7684\u7f16\u7801\u4e60\u60ef\u5b9e\u9645\u4e0a\u662f\u4e00\u6837\u7684\uff08\u56e0\u6b64\uff0c\u6807\u51c6\u5185\u90e8\u51fd\u6570\u5e93\u4e3a\u7528\u6237\u5b9a\u4e49\u7684 C \u51fd\u6570\u63d0\u4f9b\u4e86\u4e30\u5bcc\u7684\u7f16\u7801\u793a\u4f8b\uff09\u3002\n   </p><p>\n    \u5f53\u524d\u4ec5\u6709\u4e00\u79cd\u8c03\u7528\u7ea6\u5b9a\u88ab\u7528\u4e8e C \u51fd\u6570\uff08<span>\u201c<span>\u7248\u672c 1</span>\u201d</span>\uff09\u3002\u5982\u4e0b\u6587\u6240\u793a\uff0c\u4e3a\u51fd\u6570\u7f16\u5199\u4e00\u4e2a <code>PG_FUNCTION_INFO_V1()</code> \u5b8f\u5c31\u80fd\u6307\u793a\u5bf9\u8be5\u8c03\u7528\u7ea6\u5b9a\u7684\u652f\u6301\u3002\n   </p><p><a href=\"/zh/docs/19/xfunc-c.html\" rel=\"nofollow\">\u67e5\u770b\u5b8c\u6574\u4e2d\u6587\u624b\u518c\u4e0e\u4e0a\u4e0b\u6587</a>\u3002</p>", "source_revalidation": {"kind": "static-same-version-source-and-manual-replay", "audit": "wiki-audit-20261023", "runtime_rerun": false, "compared_fields": "entity membership and source-derived facts; presentation markup normalized", "source_revision": "af105fc8e960fc836a09fc2cd7f582b49fd17675d9d36631abe3a565bfd7d701", "previous_source_revision": "83157ee9c599d03b2f7a3d73ef3a56ec24e0e79cc2b3501a64d1364f56398c86"}}, "20": {"facts": [{"label": "\u79cd\u7c7b", "value": "\u539f\u751f\u51fd\u6570\u8bed\u8a00"}, {"label": "\u53ef\u4fe1", "value": "f"}, {"label": "\u6821\u9a8c\u51fd\u6570", "value": "fmgr_c_validator"}], "tables": [], "aliases": [], "catalog": {"oid": "13", "descr": "dynamically-loaded C functions", "lanacl": "_null_", "lanispl": "f", "lanname": "c", "lanowner": "POSTGRES", "laninline": "0", "oid_symbol": "ClanguageId", "lanpltrusted": "f", "lanvalidator": "fmgr_c_validator", "lanplcallfoid": "0"}, "related": [], "release": {"ref": "https://ftp.postgresql.org/pub/snapshot/dev/postgresql-snapshot.tar.bz2", "label": "20devel", "major": "20", "channel": "devel", "revision": "49c73aa4c9cacef8ca979276a28ac416c08e9e54c9baee4ae5fd116a35fa13ac", "source_sha256": "49c73aa4c9cacef8ca979276a28ac416c08e9e54c9baee4ae5fd116a35fa13ac", "catalog_fingerprint": "1ae459dc2ba59b6e0a27d5cbeebb27c417dd0be8ddf853fb0c1e533d4e449c9a"}, "sources": [{"url": "https://ftp.postgresql.org/pub/snapshot/dev/postgresql-snapshot.tar.bz2", "label": "Matching PostgreSQL source archive", "sha256": "49c73aa4c9cacef8ca979276a28ac416c08e9e54c9baee4ae5fd116a35fa13ac"}, {"url": "/docs/devel/xfunc-c.html", "path": "xfunc-c.html", "label": "PostgreSQL 20 English manual", "sha256": "0003dcff991ff364968b79dd0fdb6b924e96b55fad2a70c4f92c0f8da168f685"}], "zh_from": {"kind": "same-version-chinese-manual-with-source-derived-structured-summary", "manual": {"url": "/zh/docs/devel/xfunc-c.html", "anchor": "", "locale": "zh-Hans", "version": "20", "build_id": 111, "page_key": "xfunc-c.html", "extraction": "concept-introduction", "source_hash": "86fab5bc71abfcba0f2e2768ce33ccba556db994c873080f5b2b0de9ec8752d0", "fragment_sha256": "5c62a4cdf3760f946fb5dacce6f317d43425c53eeb0bcd7a7e8f6b17ea70f850", "source_revision": "sha256:49c73aa4c9cacef8ca979276a28ac416c08e9e54c9baee4ae5fd116a35fa13ac", "translation_revision": "git:b1b500221dbe5437cfca004d6b04d3f6e422765d;html-sha256:98c980963b401d40bd50df72b909e7523e3148b8fdb48edd897de2efb67e5235", "translated_from_revision": "sha256:49c73aa4c9cacef8ca979276a28ac416c08e9e54c9baee4ae5fd116a35fa13ac"}, "body_sha256": "c21f66343757f68d50a2a72c0a679c09055779f1e554c4214ffc6a36a81cdfb7", "runtime_rerun": false, "authored_translation": "source-derived-structured-summary", "source_facts_revision": "49c73aa4c9cacef8ca979276a28ac416c08e9e54c9baee4ae5fd116a35fa13ac"}, "facts_zh": [{"label": "\u79cd\u7c7b", "value": "\u539f\u751f\u51fd\u6570\u8bed\u8a00"}, {"label": "\u53ef\u4fe1", "value": "f"}, {"label": "\u6821\u9a8c\u51fd\u6570", "value": "fmgr_c_validator"}], "sections": [], "center_zh": {"title": "c", "locale": "zh-Hans", "source": {"key": "c", "locale": "zh-Hans", "version": "20", "text_hash": "842fba9edd7088b5b2187862e0750693bb6e8c521a070dda5f77ad8eb9e66e27", "collection": "language", "dataset_hash": "7c31b524dfe136022d39a6ae8dcfac6b3bbd5f8fdaf422536599981252aff0c9", "source_database": "center", "source_revision": "49c73aa4c9cacef8ca979276a28ac416c08e9e54c9baee4ae5fd116a35fa13ac"}, "payload": {"facts": [{"label": "\u79cd\u7c7b", "value": "\u539f\u751f\u51fd\u6570\u8bed\u8a00"}, {"label": "\u53ef\u4fe1", "value": "f"}, {"label": "\u6821\u9a8c\u51fd\u6570", "value": "fmgr_c_validator"}], "tables": [], "zh_from": {"kind": "same-version-chinese-manual-with-source-derived-structured-summary", "manual": {"url": "/zh/docs/devel/xfunc-c.html", "anchor": "", "locale": "zh-Hans", "version": "20", "build_id": 111, "page_key": "xfunc-c.html", "extraction": "concept-introduction", "source_hash": "86fab5bc71abfcba0f2e2768ce33ccba556db994c873080f5b2b0de9ec8752d0", "fragment_sha256": "5c62a4cdf3760f946fb5dacce6f317d43425c53eeb0bcd7a7e8f6b17ea70f850", "source_revision": "sha256:49c73aa4c9cacef8ca979276a28ac416c08e9e54c9baee4ae5fd116a35fa13ac", "translation_revision": "git:b1b500221dbe5437cfca004d6b04d3f6e422765d;html-sha256:98c980963b401d40bd50df72b909e7523e3148b8fdb48edd897de2efb67e5235", "translated_from_revision": "sha256:49c73aa4c9cacef8ca979276a28ac416c08e9e54c9baee4ae5fd116a35fa13ac"}, "body_sha256": "c21f66343757f68d50a2a72c0a679c09055779f1e554c4214ffc6a36a81cdfb7", "runtime_rerun": false, "authored_translation": "source-derived-structured-summary", "source_facts_revision": "49c73aa4c9cacef8ca979276a28ac416c08e9e54c9baee4ae5fd116a35fa13ac"}, "sections": [], "description_zh": "\u8fc7\u7a0b\u8bed\u8a00 c\u3002", "description_zh_html": "<p>\u8fc7\u7a0b\u8bed\u8a00 c\u3002</p><dl><dt>\u53d7\u4fe1\u4efb</dt><dd><code>\u5426</code></dd><dt>\u9a8c\u8bc1\u51fd\u6570</dt><dd><code>fmgr_c_validator</code></dd></dl><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u8282\u9009</h3><p>\n    \u7528\u6237\u5b9a\u4e49\u7684\u51fd\u6570\u53ef\u4ee5\u7528 C \u7f16\u5199\uff08\u6216\u8005\u53ef\u4ee5\u4e0e C \u517c\u5bb9\u7684\u8bed\u8a00\uff0c\u4f8b\u5982 C++\uff09\u3002\u8fd9\u7c7b\u51fd\u6570\u88ab\u7f16\u8bd1\u6210\u52a8\u6001\u8f7d\u5165\u5bf9\u8c61\uff08\u4e5f\u88ab\u79f0\u4e3a\u5171\u4eab\u5e93\uff09\u5e76\u4e14\u7531\u670d\u52a1\u5668\u5728\u9700\u8981\u65f6\u8f7d\u5165\u3002\u52a8\u6001\u8f7d\u5165\u662f\u628a<span class=\"quote\">\u201c<span class=\"quote\">C \u8bed\u8a00</span>\u201d</span>\u51fd\u6570\u548c<span class=\"quote\">\u201c<span class=\"quote\">\u5185\u90e8</span>\u201d</span>\u51fd\u6570\u533a\u5206\u5f00\u7684\u7279\u6027 \u2014 \u4e24\u8005\u771f\u6b63\u7684\u7f16\u7801\u4e60\u60ef\u5b9e\u9645\u4e0a\u662f\u4e00\u6837\u7684\uff08\u56e0\u6b64\uff0c\u6807\u51c6\u5185\u90e8\u51fd\u6570\u5e93\u4e3a\u7528\u6237\u5b9a\u4e49\u7684 C \u51fd\u6570\u63d0\u4f9b\u4e86\u4e30\u5bcc\u7684\u7f16\u7801\u793a\u4f8b\uff09\u3002\n   </p><p>\n    \u5f53\u524d\u4ec5\u6709\u4e00\u79cd\u8c03\u7528\u7ea6\u5b9a\u88ab\u7528\u4e8e C \u51fd\u6570\uff08<span class=\"quote\">\u201c<span class=\"quote\">\u7248\u672c 1</span>\u201d</span>\uff09\u3002\u5982\u4e0b\u6587\u6240\u793a\uff0c\u4e3a\u51fd\u6570\u7f16\u5199\u4e00\u4e2a <code class=\"literal\">PG_FUNCTION_INFO_V1()</code> \u5b8f\u5c31\u80fd\u6307\u793a\u5bf9\u8be5\u8c03\u7528\u7ea6\u5b9a\u7684\u652f\u6301\u3002\n   </p><p><a href=\"/zh/docs/devel/xfunc-c.html\">\u67e5\u770b\u5b8c\u6574\u4e2d\u6587\u624b\u518c\u4e0e\u4e0a\u4e0b\u6587</a>\u3002</p>"}, "summary": "\u8fc7\u7a0b\u8bed\u8a00 c\u3002", "version": "20", "link_map": {"/zh/docs/devel/xfunc-c.html": "/docs/devel/xfunc-c.html"}, "body_html": "<p>\u8fc7\u7a0b\u8bed\u8a00 c\u3002</p><dl><dt>\u53d7\u4fe1\u4efb</dt><dd><code>\u5426</code></dd><dt>\u9a8c\u8bc1\u51fd\u6570</dt><dd><code>fmgr_c_validator</code></dd></dl><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u8282\u9009</h3><p>\n    \u7528\u6237\u5b9a\u4e49\u7684\u51fd\u6570\u53ef\u4ee5\u7528 C \u7f16\u5199\uff08\u6216\u8005\u53ef\u4ee5\u4e0e C \u517c\u5bb9\u7684\u8bed\u8a00\uff0c\u4f8b\u5982 C++\uff09\u3002\u8fd9\u7c7b\u51fd\u6570\u88ab\u7f16\u8bd1\u6210\u52a8\u6001\u8f7d\u5165\u5bf9\u8c61\uff08\u4e5f\u88ab\u79f0\u4e3a\u5171\u4eab\u5e93\uff09\u5e76\u4e14\u7531\u670d\u52a1\u5668\u5728\u9700\u8981\u65f6\u8f7d\u5165\u3002\u52a8\u6001\u8f7d\u5165\u662f\u628a<span>\u201c<span>C \u8bed\u8a00</span>\u201d</span>\u51fd\u6570\u548c<span>\u201c<span>\u5185\u90e8</span>\u201d</span>\u51fd\u6570\u533a\u5206\u5f00\u7684\u7279\u6027 \u2014 \u4e24\u8005\u771f\u6b63\u7684\u7f16\u7801\u4e60\u60ef\u5b9e\u9645\u4e0a\u662f\u4e00\u6837\u7684\uff08\u56e0\u6b64\uff0c\u6807\u51c6\u5185\u90e8\u51fd\u6570\u5e93\u4e3a\u7528\u6237\u5b9a\u4e49\u7684 C \u51fd\u6570\u63d0\u4f9b\u4e86\u4e30\u5bcc\u7684\u7f16\u7801\u793a\u4f8b\uff09\u3002\n   </p><p>\n    \u5f53\u524d\u4ec5\u6709\u4e00\u79cd\u8c03\u7528\u7ea6\u5b9a\u88ab\u7528\u4e8e C \u51fd\u6570\uff08<span>\u201c<span>\u7248\u672c 1</span>\u201d</span>\uff09\u3002\u5982\u4e0b\u6587\u6240\u793a\uff0c\u4e3a\u51fd\u6570\u7f16\u5199\u4e00\u4e2a <code>PG_FUNCTION_INFO_V1()</code> \u5b8f\u5c31\u80fd\u6307\u793a\u5bf9\u8be5\u8c03\u7528\u7ea6\u5b9a\u7684\u652f\u6301\u3002\n   </p><p><a href=\"/zh/docs/devel/xfunc-c.html\" rel=\"nofollow\">\u67e5\u770b\u5b8c\u6574\u4e2d\u6587\u624b\u518c\u4e0e\u4e0a\u4e0b\u6587</a>\u3002</p>", "body_sha256": "f340fabc221cad9379cc44dc5202ddd5ba7a7acb3982cd216289323057051afd", "content_hash": "842fba9edd7088b5b2187862e0750693bb6e8c521a070dda5f77ad8eb9e66e27", "source_database": "center", "source_revision": "49c73aa4c9cacef8ca979276a28ac416c08e9e54c9baee4ae5fd116a35fa13ac"}, "signature": "", "tables_zh": [], "attributes": {"kind": "Native function language", "handler": "", "trusted": "f", "validator": "fmgr_c_validator"}, "description": ["\u8fc7\u7a0b\u8bed\u8a00 c\u3002"], "manual_html": "", "manual_path": "/docs/devel/xfunc-c.html", "sections_zh": [], "localization": {"status": "complete", "sources": [{"url": "/docs/devel/protocol-overview.html", "method": "same-major semantic node", "sha256": "fe7aff6a941aef6be4870c7704bca095984a81fd5019f420b67c9917f3831028", "language": "zh", "matched_nodes": ["#PROTOCOL-OVERVIEW/div[9]/p[1]/span[2]/span[0]"]}, {"url": "/docs/devel/xfunc-c.html", "method": "same-major semantic node", "sha256": "19a7606d054b83bc9a0d8643e200db180e0d278d67acfdd6d5f84e3b3a3e4db7", "language": "zh", "matched_nodes": ["#XFUNC-C/div[0]", "#XFUNC-C/div[10]/div[2]/div[0]", "#XFUNC-C/div[10]/div[2]/p[2]", "#XFUNC-C/div[10]/div[3]/div[0]", "#XFUNC-C/div[10]/div[3]/div[2]/p[1]", "#XFUNC-C/div[10]/div[3]/div[3]/p[1]", "#XFUNC-C/div[10]/div[3]/div[3]/p[2]", "#XFUNC-C/div[10]/div[4]/div[0]", "#XFUNC-C/div[10]/div[4]/div[2]/p[1]", "#XFUNC-C/div[10]/div[4]/div[3]/p[1]", "#XFUNC-C/div[10]/div[4]/div[3]/p[2]", "#XFUNC-C/div[10]/div[4]/div[3]/p[3]", "#XFUNC-C/div[10]/div[4]/div[3]/p[4]", "#XFUNC-C/div[10]/div[4]/div[3]/p[5]", "#XFUNC-C/div[10]/p[1]", "#XFUNC-C/div[11]/p[10]", "#XFUNC-C/div[11]/p[1]", "#XFUNC-C/div[11]/p[2]", "#XFUNC-C/div[11]/p[6]", "#XFUNC-C/div[11]/p[7]", "#XFUNC-C/div[11]/p[8]", "#XFUNC-C/div[12]/div[7]/p[1]", "#XFUNC-C/div[12]/div[8]/p[1]", "#XFUNC-C/div[12]/p[11]", "#XFUNC-C/div[12]/p[13]", "#XFUNC-C/div[12]/p[14]", "#XFUNC-C/div[12]/p[16]", "#XFUNC-C/div[12]/p[18]", "#XFUNC-C/div[12]/p[19]", "#XFUNC-C/div[12]/p[1]", "#XFUNC-C/div[12]/p[21]", "#XFUNC-C/div[12]/p[22]", "#XFUNC-C/div[12]/p[24]", "#XFUNC-C/div[12]/p[25]", "#XFUNC-C/div[12]/p[27]", "#XFUNC-C/div[12]/p[28]", "#XFUNC-C/div[12]/p[3]", "#XFUNC-C/div[12]/p[4]", "#XFUNC-C/div[12]/p[6]", "#XFUNC-C/div[12]/p[9]", "#XFUNC-C/div[13]/div[19]/p[1]", "#XFUNC-C/div[13]/p[10]", "#XFUNC-C/div[13]/p[12]", "#XFUNC-C/div[13]/p[13]", "#XFUNC-C/div[13]/p[15]", "#XFUNC-C/div[13]/p[20]", "#XFUNC-C/div[13]/p[22]", "#XFUNC-C/div[13]/p[24]", "#XFUNC-C/div[13]/p[26]", "#XFUNC-C/div[13]/p[28]", "#XFUNC-C/div[13]/p[2]", "#XFUNC-C/div[13]/p[3]", "#XFUNC-C/div[13]/p[4]", "#XFUNC-C/div[13]/p[6]", "#XFUNC-C/div[13]/p[8]", "#XFUNC-C/div[14]/p[1]", "#XFUNC-C/div[14]/p[2]", "#XFUNC-C/div[14]/p[4]", "#XFUNC-C/div[14]/p[6]", "#XFUNC-C/div[15]/div[1]/div[0]", "#XFUNC-C/div[15]/div[1]/p[1]", "#XFUNC-C/div[15]/div[1]/p[3]", "#XFUNC-C/div[15]/div[1]/p[4]", "#XFUNC-C/div[15]/div[1]/p[5]", "#XFUNC-C/div[15]/div[2]/div[0]", "#XFUNC-C/div[15]/div[2]/p[1]", "#XFUNC-C/div[15]/div[2]/p[3]", "#XFUNC-C/div[15]/div[3]/div[0]", "#XFUNC-C/div[15]/div[3]/p[1]", "#XFUNC-C/div[15]/div[3]/p[3]", "#XFUNC-C/div[15]/div[3]/p[4]", "#XFUNC-C/div[15]/div[3]/p[5]", "#XFUNC-C/div[16]/div[1]/div[0]", "#XFUNC-C/div[16]/div[2]/div[0]", "#XFUNC-C/div[16]/div[2]/p[1]", "#XFUNC-C/div[16]/div[2]/p[3]", "#XFUNC-C/div[16]/div[2]/p[5]", "#XFUNC-C/div[16]/div[2]/p[6]", "#XFUNC-C/div[17]/p[1]", "#XFUNC-C/div[17]/p[3]", "#XFUNC-C/div[17]/p[4]", "#XFUNC-C/div[18]/p[10]", "#XFUNC-C/div[18]/p[12]", "#XFUNC-C/div[18]/p[13]", "#XFUNC-C/div[18]/p[15]", "#XFUNC-C/div[18]/p[16]", "#XFUNC-C/div[18]/p[18]", "#XFUNC-C/div[18]/p[19]", "#XFUNC-C/div[18]/p[1]", "#XFUNC-C/div[18]/p[20]", "#XFUNC-C/div[18]/p[3]", "#XFUNC-C/div[18]/p[4]", "#XFUNC-C/div[18]/p[6]", "#XFUNC-C/div[18]/p[7]", "#XFUNC-C/div[19]/p[10]", "#XFUNC-C/div[19]/p[1]", "#XFUNC-C/div[19]/p[2]", "#XFUNC-C/div[19]/p[4]", "#XFUNC-C/div[19]/p[6]", "#XFUNC-C/div[19]/p[7]", "#XFUNC-C/div[19]/p[8]", "#XFUNC-C/div[19]/p[9]", "#XFUNC-C/div[1]/dl[0]/dt[0]", "#XFUNC-C/div[1]/dl[0]/dt[10]", "#XFUNC-C/div[1]/dl[0]/dt[12]", "#XFUNC-C/div[1]/dl[0]/dt[13]", "#XFUNC-C/div[1]/dl[0]/dt[14]", "#XFUNC-C/div[1]/dl[0]/dt[15]", "#XFUNC-C/div[1]/dl[0]/dt[1]", "#XFUNC-C/div[1]/dl[0]/dt[2]", "#XFUNC-C/div[1]/dl[0]/dt[3]", "#XFUNC-C/div[1]/dl[0]/dt[4]", "#XFUNC-C/div[1]/dl[0]/dt[5]", "#XFUNC-C/div[1]/dl[0]/dt[6]", "#XFUNC-C/div[1]/dl[0]/dt[7]", "#XFUNC-C/div[1]/dl[0]/dt[8]", "#XFUNC-C/div[1]/dl[0]/dt[9]", "#XFUNC-C/div[20]/div[3]/ul[0]/li[0]", "#XFUNC-C/div[20]/div[3]/ul[0]/li[1]", "#XFUNC-C/div[20]/div[3]/ul[0]/li[2]", "#XFUNC-C/div[20]/p[2]", "#XFUNC-C/div[20]/p[4]", "#XFUNC-C/div[5]/div[4]/ol[0]/li[0]", "#XFUNC-C/div[5]/div[4]/ol[0]/li[1]", "#XFUNC-C/div[5]/div[4]/ol[0]/li[2]", "#XFUNC-C/div[5]/div[4]/ol[0]/li[3]", "#XFUNC-C/div[5]/div[9]/h3[0]", "#XFUNC-C/div[5]/div[9]/p[1]", "#XFUNC-C/div[5]/p[12]", "#XFUNC-C/div[5]/p[14]", "#XFUNC-C/div[5]/p[16]", "#XFUNC-C/div[5]/p[18]", "#XFUNC-C/div[5]/p[19]", "#XFUNC-C/div[5]/p[22]", "#XFUNC-C/div[5]/p[2]", "#XFUNC-C/div[5]/p[3]", "#XFUNC-C/div[5]/p[5]", "#XFUNC-C/div[5]/p[6]", "#XFUNC-C/div[5]/p[7]", "#XFUNC-C/div[5]/p[8]", "#XFUNC-C/div[6]/div[13]/h3[0]", "#XFUNC-C/div[6]/div[13]/p[1]", "#XFUNC-C/div[6]/div[21]/div[1]/table[0]/tbody[2]/tr[0]/td[2]", "#XFUNC-C/div[6]/div[21]/div[1]/table[0]/tbody[2]/tr[3]/td[2]", "#XFUNC-C/div[6]/div[21]/div[1]/table[0]/thead[1]/tr[0]/th[0]", "#XFUNC-C/div[6]/div[21]/div[1]/table[0]/thead[1]/tr[0]/th[1]", "#XFUNC-C/div[6]/div[21]/p[0]", "#XFUNC-C/div[6]/div[4]/ul[0]/li[0]", "#XFUNC-C/div[6]/div[4]/ul[0]/li[1]", "#XFUNC-C/div[6]/div[4]/ul[0]/li[2]", "#XFUNC-C/div[6]/p[10]", "#XFUNC-C/div[6]/p[11]", "#XFUNC-C/div[6]/p[12]", "#XFUNC-C/div[6]/p[14]", "#XFUNC-C/div[6]/p[16]", "#XFUNC-C/div[6]/p[17]", "#XFUNC-C/div[6]/p[19]", "#XFUNC-C/div[6]/p[20]", "#XFUNC-C/div[6]/p[20]/span[2]/span[0]", "#XFUNC-C/div[6]/p[23]", "#XFUNC-C/div[6]/p[2]", "#XFUNC-C/div[6]/p[3]", "#XFUNC-C/div[6]/p[5]", "#XFUNC-C/div[6]/p[7]", "#XFUNC-C/div[6]/p[8]", "#XFUNC-C/div[7]/p[10]", "#XFUNC-C/div[7]/p[13]", "#XFUNC-C/div[7]/p[16]", "#XFUNC-C/div[7]/p[17]", "#XFUNC-C/div[7]/p[18]", "#XFUNC-C/div[7]/p[1]", "#XFUNC-C/div[7]/p[20]", "#XFUNC-C/div[7]/p[3]", "#XFUNC-C/div[7]/p[5]", "#XFUNC-C/div[7]/p[6]", "#XFUNC-C/div[7]/p[7]", "#XFUNC-C/div[7]/p[8]", "#XFUNC-C/div[7]/p[9]", "#XFUNC-C/div[8]/div[3]/ul[0]/li[0]", "#XFUNC-C/div[8]/div[3]/ul[0]/li[1]", "#XFUNC-C/div[8]/div[3]/ul[0]/li[2]", "#XFUNC-C/div[8]/div[3]/ul[0]/li[3]", "#XFUNC-C/div[8]/div[3]/ul[0]/li[4]", "#XFUNC-C/div[8]/div[3]/ul[0]/li[5]", "#XFUNC-C/div[8]/div[3]/ul[0]/li[6]", "#XFUNC-C/div[8]/p[1]", "#XFUNC-C/div[8]/p[2]", "#XFUNC-C/div[9]/div[5]/dl[0]/dd[11]/p[0]", "#XFUNC-C/div[9]/div[5]/dl[0]/dd[1]/p[0]", "#XFUNC-C/div[9]/div[5]/dl[0]/dd[1]/p[2]", "#XFUNC-C/div[9]/div[5]/dl[0]/dd[3]/p[0]", "#XFUNC-C/div[9]/div[5]/dl[0]/dd[5]/p[0]", "#XFUNC-C/div[9]/div[5]/dl[0]/dd[7]/p[0]", "#XFUNC-C/div[9]/div[5]/dl[0]/dd[9]/p[0]", "#XFUNC-C/div[9]/div[6]/h3[0]", "#XFUNC-C/div[9]/div[6]/p[1]", "#XFUNC-C/div[9]/p[1]", "#XFUNC-C/div[9]/p[2]", "#XFUNC-C/div[9]/p[4]", "#XFUNC-C/div[9]/p[7]", "#XFUNC-C/div[9]/p[8]", "#XFUNC-C/p[3]"]}], "language": "zh", "original_text": {"/summary": "dynamically-loaded C functions", "/category": "Native function languages", "/versions/20/description/0": "dynamically-loaded C functions", "/versions/20/facts/0/label": "Kind", "/versions/20/facts/0/value": "Native function language", "/versions/20/facts/1/label": "Trusted", "/versions/20/facts/2/label": "Validator"}, "fallback_fields": [], "source_language": "en", "original_snapshot_sha256": "67a086fec10f7b84ed256f363644df8de3001be1b8f5c5d5a8a8489686669c64", "canonical_center_text_hash": "842fba9edd7088b5b2187862e0750693bb6e8c521a070dda5f77ad8eb9e66e27"}, "description_zh": "\u8fc7\u7a0b\u8bed\u8a00 c\u3002", "comparison_data": {"kind": "Native function language", "handler": "", "trusted": "f", "validator": "fmgr_c_validator"}, "comparison_hash": "e8a219c1a26602affef41a21da26d099cf721ba42739cb7b056898c9e2d6fbe6", "manual_language": "zh", "description_zh_html": "<p>\u8fc7\u7a0b\u8bed\u8a00 c\u3002</p><dl><dt>\u53d7\u4fe1\u4efb</dt><dd><code>\u5426</code></dd><dt>\u9a8c\u8bc1\u51fd\u6570</dt><dd><code>fmgr_c_validator</code></dd></dl><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u8282\u9009</h3><p>\n    \u7528\u6237\u5b9a\u4e49\u7684\u51fd\u6570\u53ef\u4ee5\u7528 C \u7f16\u5199\uff08\u6216\u8005\u53ef\u4ee5\u4e0e C \u517c\u5bb9\u7684\u8bed\u8a00\uff0c\u4f8b\u5982 C++\uff09\u3002\u8fd9\u7c7b\u51fd\u6570\u88ab\u7f16\u8bd1\u6210\u52a8\u6001\u8f7d\u5165\u5bf9\u8c61\uff08\u4e5f\u88ab\u79f0\u4e3a\u5171\u4eab\u5e93\uff09\u5e76\u4e14\u7531\u670d\u52a1\u5668\u5728\u9700\u8981\u65f6\u8f7d\u5165\u3002\u52a8\u6001\u8f7d\u5165\u662f\u628a<span>\u201c<span>C \u8bed\u8a00</span>\u201d</span>\u51fd\u6570\u548c<span>\u201c<span>\u5185\u90e8</span>\u201d</span>\u51fd\u6570\u533a\u5206\u5f00\u7684\u7279\u6027 \u2014 \u4e24\u8005\u771f\u6b63\u7684\u7f16\u7801\u4e60\u60ef\u5b9e\u9645\u4e0a\u662f\u4e00\u6837\u7684\uff08\u56e0\u6b64\uff0c\u6807\u51c6\u5185\u90e8\u51fd\u6570\u5e93\u4e3a\u7528\u6237\u5b9a\u4e49\u7684 C \u51fd\u6570\u63d0\u4f9b\u4e86\u4e30\u5bcc\u7684\u7f16\u7801\u793a\u4f8b\uff09\u3002\n   </p><p>\n    \u5f53\u524d\u4ec5\u6709\u4e00\u79cd\u8c03\u7528\u7ea6\u5b9a\u88ab\u7528\u4e8e C \u51fd\u6570\uff08<span>\u201c<span>\u7248\u672c 1</span>\u201d</span>\uff09\u3002\u5982\u4e0b\u6587\u6240\u793a\uff0c\u4e3a\u51fd\u6570\u7f16\u5199\u4e00\u4e2a <code>PG_FUNCTION_INFO_V1()</code> \u5b8f\u5c31\u80fd\u6307\u793a\u5bf9\u8be5\u8c03\u7528\u7ea6\u5b9a\u7684\u652f\u6301\u3002\n   </p><p><a href=\"/zh/docs/devel/xfunc-c.html\" rel=\"nofollow\">\u67e5\u770b\u5b8c\u6574\u4e2d\u6587\u624b\u518c\u4e0e\u4e0a\u4e0b\u6587</a>\u3002</p>", "source_revalidation": {"kind": "static-same-version-source-and-manual-replay", "audit": "wiki-audit-20261023", "runtime_rerun": false, "compared_fields": "entity membership and source-derived facts; presentation markup normalized", "source_revision": "49c73aa4c9cacef8ca979276a28ac416c08e9e54c9baee4ae5fd116a35fa13ac", "previous_source_revision": "4d3346909b201ac1648232cf290462a7070c119326f56196f1f0253ed80fae41"}}}}, "snapshot": {"facts": [{"label": "\u79cd\u7c7b", "value": "\u539f\u751f\u51fd\u6570\u8bed\u8a00"}, {"label": "\u53ef\u4fe1", "value": "f"}, {"label": "\u6821\u9a8c\u51fd\u6570", "value": "fmgr_c_validator"}], "tables": [], "aliases": [], "catalog": {"oid": "13", "descr": "dynamically-loaded C functions", "lanacl": "_null_", "lanispl": "f", "lanname": "c", "lanowner": "POSTGRES", "laninline": "0", "oid_symbol": "ClanguageId", "lanpltrusted": "f", "lanvalidator": "fmgr_c_validator", "lanplcallfoid": "0"}, "related": [], "release": {"ref": "https://ftp.postgresql.org/pub/source/v18.6/postgresql-18.6.tar.bz2", "label": "18.6", "major": "18", "channel": "stable", "revision": "555610c24d53e4316da5b7d3fc25c279d96856d5e0e23ee308c328c5fa881d9f", "source_sha256": "555610c24d53e4316da5b7d3fc25c279d96856d5e0e23ee308c328c5fa881d9f", "catalog_fingerprint": "65c93d6048ef30e61023a84f9680fa6a92b1c383b7eb226741170077eb078502"}, "sources": [{"url": "https://ftp.postgresql.org/pub/source/v18.6/postgresql-18.6.tar.bz2", "label": "Matching PostgreSQL source archive", "sha256": "555610c24d53e4316da5b7d3fc25c279d96856d5e0e23ee308c328c5fa881d9f"}, {"url": "/docs/18/xfunc-c.html", "path": "xfunc-c.html", "label": "PostgreSQL 18 English manual", "sha256": "d60592edc11f3240b19cecee91523a9a31f1caf68809fa7a39376360d957d68b"}], "zh_from": {"kind": "same-version-chinese-manual-with-source-derived-structured-summary", "manual": {"url": "/zh/docs/18/xfunc-c.html", "anchor": "", "locale": "zh-Hans", "version": "18", "build_id": 107, "page_key": "xfunc-c.html", "extraction": "concept-introduction", "source_hash": "bf3999f312e76302bd7f49e71ee9a12f07245ebec55eb8caec65d17f8a4a4a01", "fragment_sha256": "5c62a4cdf3760f946fb5dacce6f317d43425c53eeb0bcd7a7e8f6b17ea70f850", "source_revision": "unknown:rendered-translation-baseline", "translation_revision": "git:b1b500221dbe5437cfca004d6b04d3f6e422765d;html-sha256:08e987a66af27b98444a8057c256314eafa13611a3fb9e888214fc436824244b", "translated_from_revision": null}, "body_sha256": "a311902f245104ad6f522dad46ea3cf61ee46dabda49f22d21ab004be22ebf8e", "runtime_rerun": false, "authored_translation": "source-derived-structured-summary", "source_facts_revision": "555610c24d53e4316da5b7d3fc25c279d96856d5e0e23ee308c328c5fa881d9f"}, "facts_zh": [{"label": "\u79cd\u7c7b", "value": "\u539f\u751f\u51fd\u6570\u8bed\u8a00"}, {"label": "\u53ef\u4fe1", "value": "f"}, {"label": "\u6821\u9a8c\u51fd\u6570", "value": "fmgr_c_validator"}], "sections": [], "center_zh": {"title": "c", "locale": "zh-Hans", "source": {"key": "c", "locale": "zh-Hans", "version": "18", "text_hash": "8ef9cb20bd1f49ad6c7f3b994668d2a735f3cd23b14ea963e25594b2bc0fe8e0", "collection": "language", "dataset_hash": "7c31b524dfe136022d39a6ae8dcfac6b3bbd5f8fdaf422536599981252aff0c9", "source_database": "center", "source_revision": "555610c24d53e4316da5b7d3fc25c279d96856d5e0e23ee308c328c5fa881d9f"}, "payload": {"facts": [{"label": "\u79cd\u7c7b", "value": "\u539f\u751f\u51fd\u6570\u8bed\u8a00"}, {"label": "\u53ef\u4fe1", "value": "f"}, {"label": "\u6821\u9a8c\u51fd\u6570", "value": "fmgr_c_validator"}], "tables": [], "zh_from": {"kind": "same-version-chinese-manual-with-source-derived-structured-summary", "manual": {"url": "/zh/docs/18/xfunc-c.html", "anchor": "", "locale": "zh-Hans", "version": "18", "build_id": 107, "page_key": "xfunc-c.html", "extraction": "concept-introduction", "source_hash": "bf3999f312e76302bd7f49e71ee9a12f07245ebec55eb8caec65d17f8a4a4a01", "fragment_sha256": "5c62a4cdf3760f946fb5dacce6f317d43425c53eeb0bcd7a7e8f6b17ea70f850", "source_revision": "unknown:rendered-translation-baseline", "translation_revision": "git:b1b500221dbe5437cfca004d6b04d3f6e422765d;html-sha256:08e987a66af27b98444a8057c256314eafa13611a3fb9e888214fc436824244b", "translated_from_revision": null}, "body_sha256": "a311902f245104ad6f522dad46ea3cf61ee46dabda49f22d21ab004be22ebf8e", "runtime_rerun": false, "authored_translation": "source-derived-structured-summary", "source_facts_revision": "555610c24d53e4316da5b7d3fc25c279d96856d5e0e23ee308c328c5fa881d9f"}, "sections": [], "description_zh": "\u8fc7\u7a0b\u8bed\u8a00 c\u3002", "description_zh_html": "<p>\u8fc7\u7a0b\u8bed\u8a00 c\u3002</p><dl><dt>\u53d7\u4fe1\u4efb</dt><dd><code>\u5426</code></dd><dt>\u9a8c\u8bc1\u51fd\u6570</dt><dd><code>fmgr_c_validator</code></dd></dl><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u8282\u9009</h3><p>\n    \u7528\u6237\u5b9a\u4e49\u7684\u51fd\u6570\u53ef\u4ee5\u7528 C \u7f16\u5199\uff08\u6216\u8005\u53ef\u4ee5\u4e0e C \u517c\u5bb9\u7684\u8bed\u8a00\uff0c\u4f8b\u5982 C++\uff09\u3002\u8fd9\u7c7b\u51fd\u6570\u88ab\u7f16\u8bd1\u6210\u52a8\u6001\u8f7d\u5165\u5bf9\u8c61\uff08\u4e5f\u88ab\u79f0\u4e3a\u5171\u4eab\u5e93\uff09\u5e76\u4e14\u7531\u670d\u52a1\u5668\u5728\u9700\u8981\u65f6\u8f7d\u5165\u3002\u52a8\u6001\u8f7d\u5165\u662f\u628a<span class=\"quote\">\u201c<span class=\"quote\">C \u8bed\u8a00</span>\u201d</span>\u51fd\u6570\u548c<span class=\"quote\">\u201c<span class=\"quote\">\u5185\u90e8</span>\u201d</span>\u51fd\u6570\u533a\u5206\u5f00\u7684\u7279\u6027 \u2014 \u4e24\u8005\u771f\u6b63\u7684\u7f16\u7801\u4e60\u60ef\u5b9e\u9645\u4e0a\u662f\u4e00\u6837\u7684\uff08\u56e0\u6b64\uff0c\u6807\u51c6\u5185\u90e8\u51fd\u6570\u5e93\u4e3a\u7528\u6237\u5b9a\u4e49\u7684 C \u51fd\u6570\u63d0\u4f9b\u4e86\u4e30\u5bcc\u7684\u7f16\u7801\u793a\u4f8b\uff09\u3002\n   </p><p>\n    \u5f53\u524d\u4ec5\u6709\u4e00\u79cd\u8c03\u7528\u7ea6\u5b9a\u88ab\u7528\u4e8e C \u51fd\u6570\uff08<span class=\"quote\">\u201c<span class=\"quote\">\u7248\u672c 1</span>\u201d</span>\uff09\u3002\u5982\u4e0b\u6587\u6240\u793a\uff0c\u4e3a\u51fd\u6570\u7f16\u5199\u4e00\u4e2a <code class=\"literal\">PG_FUNCTION_INFO_V1()</code> \u5b8f\u5c31\u80fd\u6307\u793a\u5bf9\u8be5\u8c03\u7528\u7ea6\u5b9a\u7684\u652f\u6301\u3002\n   </p><p><a href=\"/zh/docs/18/xfunc-c.html\">\u67e5\u770b\u5b8c\u6574\u4e2d\u6587\u624b\u518c\u4e0e\u4e0a\u4e0b\u6587</a>\u3002</p>"}, "summary": "\u8fc7\u7a0b\u8bed\u8a00 c\u3002", "version": "18", "link_map": {"/zh/docs/18/xfunc-c.html": "/docs/18/xfunc-c.html"}, "body_html": "<p>\u8fc7\u7a0b\u8bed\u8a00 c\u3002</p><dl><dt>\u53d7\u4fe1\u4efb</dt><dd><code>\u5426</code></dd><dt>\u9a8c\u8bc1\u51fd\u6570</dt><dd><code>fmgr_c_validator</code></dd></dl><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u8282\u9009</h3><p>\n    \u7528\u6237\u5b9a\u4e49\u7684\u51fd\u6570\u53ef\u4ee5\u7528 C \u7f16\u5199\uff08\u6216\u8005\u53ef\u4ee5\u4e0e C \u517c\u5bb9\u7684\u8bed\u8a00\uff0c\u4f8b\u5982 C++\uff09\u3002\u8fd9\u7c7b\u51fd\u6570\u88ab\u7f16\u8bd1\u6210\u52a8\u6001\u8f7d\u5165\u5bf9\u8c61\uff08\u4e5f\u88ab\u79f0\u4e3a\u5171\u4eab\u5e93\uff09\u5e76\u4e14\u7531\u670d\u52a1\u5668\u5728\u9700\u8981\u65f6\u8f7d\u5165\u3002\u52a8\u6001\u8f7d\u5165\u662f\u628a<span>\u201c<span>C \u8bed\u8a00</span>\u201d</span>\u51fd\u6570\u548c<span>\u201c<span>\u5185\u90e8</span>\u201d</span>\u51fd\u6570\u533a\u5206\u5f00\u7684\u7279\u6027 \u2014 \u4e24\u8005\u771f\u6b63\u7684\u7f16\u7801\u4e60\u60ef\u5b9e\u9645\u4e0a\u662f\u4e00\u6837\u7684\uff08\u56e0\u6b64\uff0c\u6807\u51c6\u5185\u90e8\u51fd\u6570\u5e93\u4e3a\u7528\u6237\u5b9a\u4e49\u7684 C \u51fd\u6570\u63d0\u4f9b\u4e86\u4e30\u5bcc\u7684\u7f16\u7801\u793a\u4f8b\uff09\u3002\n   </p><p>\n    \u5f53\u524d\u4ec5\u6709\u4e00\u79cd\u8c03\u7528\u7ea6\u5b9a\u88ab\u7528\u4e8e C \u51fd\u6570\uff08<span>\u201c<span>\u7248\u672c 1</span>\u201d</span>\uff09\u3002\u5982\u4e0b\u6587\u6240\u793a\uff0c\u4e3a\u51fd\u6570\u7f16\u5199\u4e00\u4e2a <code>PG_FUNCTION_INFO_V1()</code> \u5b8f\u5c31\u80fd\u6307\u793a\u5bf9\u8be5\u8c03\u7528\u7ea6\u5b9a\u7684\u652f\u6301\u3002\n   </p><p><a href=\"/zh/docs/18/xfunc-c.html\" rel=\"nofollow\">\u67e5\u770b\u5b8c\u6574\u4e2d\u6587\u624b\u518c\u4e0e\u4e0a\u4e0b\u6587</a>\u3002</p>", "body_sha256": "e89153acac3bb9ea9ee1be9ab95316c5e02d94669cf37de31ceb94094b6d0271", "content_hash": "8ef9cb20bd1f49ad6c7f3b994668d2a735f3cd23b14ea963e25594b2bc0fe8e0", "source_database": "center", "source_revision": "555610c24d53e4316da5b7d3fc25c279d96856d5e0e23ee308c328c5fa881d9f"}, "signature": "", "tables_zh": [], "attributes": {"kind": "Native function language", "handler": "", "trusted": "f", "validator": "fmgr_c_validator"}, "description": ["\u8fc7\u7a0b\u8bed\u8a00 c\u3002"], "manual_html": "", "manual_path": "/docs/18/xfunc-c.html", "sections_zh": [], "localization": {"status": "complete", "sources": [{"url": "/docs/18/protocol-overview.html", "method": "same-major semantic node", "sha256": "3f1aa8bd4dbef58e9a82e8cf4c82829a4df7416cfa83dd61c18e9e25060f22da", "language": "zh", "matched_nodes": ["#PROTOCOL-OVERVIEW/div[9]/p[1]/span[2]/span[0]"]}, {"url": "/docs/18/xfunc-c.html", "method": "same-major semantic node", "sha256": "4b35ab16ac85cc22b5c37555941784a2fd0a1b66b507e9dfff9a239102c15e77", "language": "zh", "matched_nodes": ["#XFUNC-C/div[0]", "#XFUNC-C/div[10]/div[2]/div[0]", "#XFUNC-C/div[10]/div[2]/p[2]", "#XFUNC-C/div[10]/div[3]/div[0]", "#XFUNC-C/div[10]/div[3]/div[2]/p[1]", "#XFUNC-C/div[10]/div[3]/div[3]/p[1]", "#XFUNC-C/div[10]/div[3]/div[3]/p[2]", "#XFUNC-C/div[10]/div[4]/div[0]", "#XFUNC-C/div[10]/div[4]/div[2]/p[1]", "#XFUNC-C/div[10]/div[4]/div[3]/p[1]", "#XFUNC-C/div[10]/div[4]/div[3]/p[2]", "#XFUNC-C/div[10]/div[4]/div[3]/p[3]", "#XFUNC-C/div[10]/div[4]/div[3]/p[4]", "#XFUNC-C/div[10]/div[4]/div[3]/p[5]", "#XFUNC-C/div[10]/p[1]", "#XFUNC-C/div[11]/p[10]", "#XFUNC-C/div[11]/p[1]", "#XFUNC-C/div[11]/p[2]", "#XFUNC-C/div[11]/p[6]", "#XFUNC-C/div[11]/p[7]", "#XFUNC-C/div[11]/p[8]", "#XFUNC-C/div[12]/div[7]/p[1]", "#XFUNC-C/div[12]/div[8]/p[1]", "#XFUNC-C/div[12]/p[11]", "#XFUNC-C/div[12]/p[13]", "#XFUNC-C/div[12]/p[14]", "#XFUNC-C/div[12]/p[16]", "#XFUNC-C/div[12]/p[18]", "#XFUNC-C/div[12]/p[19]", "#XFUNC-C/div[12]/p[1]", "#XFUNC-C/div[12]/p[21]", "#XFUNC-C/div[12]/p[22]", "#XFUNC-C/div[12]/p[24]", "#XFUNC-C/div[12]/p[25]", "#XFUNC-C/div[12]/p[27]", "#XFUNC-C/div[12]/p[28]", "#XFUNC-C/div[12]/p[3]", "#XFUNC-C/div[12]/p[4]", "#XFUNC-C/div[12]/p[6]", "#XFUNC-C/div[12]/p[9]", "#XFUNC-C/div[13]/div[19]/p[1]", "#XFUNC-C/div[13]/p[10]", "#XFUNC-C/div[13]/p[12]", "#XFUNC-C/div[13]/p[13]", "#XFUNC-C/div[13]/p[15]", "#XFUNC-C/div[13]/p[20]", "#XFUNC-C/div[13]/p[22]", "#XFUNC-C/div[13]/p[24]", "#XFUNC-C/div[13]/p[26]", "#XFUNC-C/div[13]/p[28]", "#XFUNC-C/div[13]/p[2]", "#XFUNC-C/div[13]/p[3]", "#XFUNC-C/div[13]/p[4]", "#XFUNC-C/div[13]/p[6]", "#XFUNC-C/div[13]/p[8]", "#XFUNC-C/div[14]/p[1]", "#XFUNC-C/div[14]/p[2]", "#XFUNC-C/div[14]/p[4]", "#XFUNC-C/div[14]/p[6]", "#XFUNC-C/div[15]/div[1]/div[0]", "#XFUNC-C/div[15]/div[1]/p[3]", "#XFUNC-C/div[15]/div[1]/p[5]", "#XFUNC-C/div[15]/div[1]/p[6]", "#XFUNC-C/div[15]/div[1]/p[8]", "#XFUNC-C/div[15]/div[1]/p[9]", "#XFUNC-C/div[15]/div[2]/div[0]", "#XFUNC-C/div[15]/div[2]/p[1]", "#XFUNC-C/div[15]/div[2]/p[3]", "#XFUNC-C/div[15]/div[2]/p[5]", "#XFUNC-C/div[16]/div[1]/div[0]", "#XFUNC-C/div[16]/div[2]/div[0]", "#XFUNC-C/div[16]/div[2]/p[1]", "#XFUNC-C/div[16]/div[2]/p[3]", "#XFUNC-C/div[16]/div[2]/p[5]", "#XFUNC-C/div[16]/div[2]/p[6]", "#XFUNC-C/div[16]/div[2]/p[8]", "#XFUNC-C/div[17]/p[1]", "#XFUNC-C/div[17]/p[3]", "#XFUNC-C/div[17]/p[4]", "#XFUNC-C/div[18]/p[10]", "#XFUNC-C/div[18]/p[12]", "#XFUNC-C/div[18]/p[13]", "#XFUNC-C/div[18]/p[15]", "#XFUNC-C/div[18]/p[16]", "#XFUNC-C/div[18]/p[18]", "#XFUNC-C/div[18]/p[19]", "#XFUNC-C/div[18]/p[1]", "#XFUNC-C/div[18]/p[20]", "#XFUNC-C/div[18]/p[3]", "#XFUNC-C/div[18]/p[4]", "#XFUNC-C/div[18]/p[6]", "#XFUNC-C/div[18]/p[7]", "#XFUNC-C/div[19]/p[10]", "#XFUNC-C/div[19]/p[1]", "#XFUNC-C/div[19]/p[2]", "#XFUNC-C/div[19]/p[4]", "#XFUNC-C/div[19]/p[6]", "#XFUNC-C/div[19]/p[7]", "#XFUNC-C/div[19]/p[8]", "#XFUNC-C/div[19]/p[9]", "#XFUNC-C/div[1]/dl[0]/dt[0]", "#XFUNC-C/div[1]/dl[0]/dt[10]", "#XFUNC-C/div[1]/dl[0]/dt[12]", "#XFUNC-C/div[1]/dl[0]/dt[13]", "#XFUNC-C/div[1]/dl[0]/dt[14]", "#XFUNC-C/div[1]/dl[0]/dt[15]", "#XFUNC-C/div[1]/dl[0]/dt[1]", "#XFUNC-C/div[1]/dl[0]/dt[2]", "#XFUNC-C/div[1]/dl[0]/dt[3]", "#XFUNC-C/div[1]/dl[0]/dt[4]", "#XFUNC-C/div[1]/dl[0]/dt[5]", "#XFUNC-C/div[1]/dl[0]/dt[6]", "#XFUNC-C/div[1]/dl[0]/dt[7]", "#XFUNC-C/div[1]/dl[0]/dt[8]", "#XFUNC-C/div[1]/dl[0]/dt[9]", "#XFUNC-C/div[20]/div[3]/ul[0]/li[0]", "#XFUNC-C/div[20]/div[3]/ul[0]/li[1]", "#XFUNC-C/div[20]/div[3]/ul[0]/li[2]", "#XFUNC-C/div[20]/p[2]", "#XFUNC-C/div[20]/p[4]", "#XFUNC-C/div[5]/div[4]/ol[0]/li[0]", "#XFUNC-C/div[5]/div[4]/ol[0]/li[1]", "#XFUNC-C/div[5]/div[4]/ol[0]/li[2]", "#XFUNC-C/div[5]/div[4]/ol[0]/li[3]", "#XFUNC-C/div[5]/div[9]/h3[0]", "#XFUNC-C/div[5]/div[9]/p[1]", "#XFUNC-C/div[5]/p[12]", "#XFUNC-C/div[5]/p[14]", "#XFUNC-C/div[5]/p[16]", "#XFUNC-C/div[5]/p[18]", "#XFUNC-C/div[5]/p[19]", "#XFUNC-C/div[5]/p[22]", "#XFUNC-C/div[5]/p[2]", "#XFUNC-C/div[5]/p[3]", "#XFUNC-C/div[5]/p[5]", "#XFUNC-C/div[5]/p[6]", "#XFUNC-C/div[5]/p[7]", "#XFUNC-C/div[5]/p[8]", "#XFUNC-C/div[6]/div[13]/h3[0]", "#XFUNC-C/div[6]/div[13]/p[1]", "#XFUNC-C/div[6]/div[21]/div[1]/table[0]/tbody[2]/tr[0]/td[2]", "#XFUNC-C/div[6]/div[21]/div[1]/table[0]/tbody[2]/tr[3]/td[2]", "#XFUNC-C/div[6]/div[21]/div[1]/table[0]/thead[1]/tr[0]/th[0]", "#XFUNC-C/div[6]/div[21]/div[1]/table[0]/thead[1]/tr[0]/th[1]", "#XFUNC-C/div[6]/div[21]/p[0]", "#XFUNC-C/div[6]/div[4]/ul[0]/li[0]", "#XFUNC-C/div[6]/div[4]/ul[0]/li[1]", "#XFUNC-C/div[6]/div[4]/ul[0]/li[2]", "#XFUNC-C/div[6]/p[10]", "#XFUNC-C/div[6]/p[11]", "#XFUNC-C/div[6]/p[12]", "#XFUNC-C/div[6]/p[14]", "#XFUNC-C/div[6]/p[16]", "#XFUNC-C/div[6]/p[17]", "#XFUNC-C/div[6]/p[19]", "#XFUNC-C/div[6]/p[20]", "#XFUNC-C/div[6]/p[20]/span[2]/span[0]", "#XFUNC-C/div[6]/p[23]", "#XFUNC-C/div[6]/p[2]", "#XFUNC-C/div[6]/p[3]", "#XFUNC-C/div[6]/p[5]", "#XFUNC-C/div[6]/p[7]", "#XFUNC-C/div[6]/p[8]", "#XFUNC-C/div[7]/p[10]", "#XFUNC-C/div[7]/p[13]", "#XFUNC-C/div[7]/p[16]", "#XFUNC-C/div[7]/p[17]", "#XFUNC-C/div[7]/p[18]", "#XFUNC-C/div[7]/p[1]", "#XFUNC-C/div[7]/p[20]", "#XFUNC-C/div[7]/p[3]", "#XFUNC-C/div[7]/p[5]", "#XFUNC-C/div[7]/p[6]", "#XFUNC-C/div[7]/p[7]", "#XFUNC-C/div[7]/p[8]", "#XFUNC-C/div[7]/p[9]", "#XFUNC-C/div[8]/div[3]/ul[0]/li[0]", "#XFUNC-C/div[8]/div[3]/ul[0]/li[1]", "#XFUNC-C/div[8]/div[3]/ul[0]/li[2]", "#XFUNC-C/div[8]/div[3]/ul[0]/li[3]", "#XFUNC-C/div[8]/div[3]/ul[0]/li[4]", "#XFUNC-C/div[8]/div[3]/ul[0]/li[5]", "#XFUNC-C/div[8]/div[3]/ul[0]/li[6]", "#XFUNC-C/div[8]/p[1]", "#XFUNC-C/div[8]/p[2]", "#XFUNC-C/div[9]/div[5]/dl[0]/dd[11]/p[0]", "#XFUNC-C/div[9]/div[5]/dl[0]/dd[1]/p[0]", "#XFUNC-C/div[9]/div[5]/dl[0]/dd[1]/p[2]", "#XFUNC-C/div[9]/div[5]/dl[0]/dd[3]/p[0]", "#XFUNC-C/div[9]/div[5]/dl[0]/dd[5]/p[0]", "#XFUNC-C/div[9]/div[5]/dl[0]/dd[7]/p[0]", "#XFUNC-C/div[9]/div[5]/dl[0]/dd[9]/p[0]", "#XFUNC-C/div[9]/div[6]/h3[0]", "#XFUNC-C/div[9]/div[6]/p[1]", "#XFUNC-C/div[9]/p[1]", "#XFUNC-C/div[9]/p[2]", "#XFUNC-C/div[9]/p[4]", "#XFUNC-C/div[9]/p[7]", "#XFUNC-C/div[9]/p[8]", "#XFUNC-C/p[3]"]}], "language": "zh", "original_text": {"/versions/18/description/0": "dynamically-loaded C functions", "/versions/18/facts/0/label": "Kind", "/versions/18/facts/0/value": "Native function language", "/versions/18/facts/1/label": "Trusted", "/versions/18/facts/2/label": "Validator"}, "fallback_fields": [], "source_language": "en", "original_snapshot_sha256": "126e9ec2b5157e7be6f2d1aaace3449ca213b73b9f2a7d82748ff9e6afc13a05", "canonical_center_text_hash": "8ef9cb20bd1f49ad6c7f3b994668d2a735f3cd23b14ea963e25594b2bc0fe8e0"}, "description_zh": "\u8fc7\u7a0b\u8bed\u8a00 c\u3002", "comparison_data": {"kind": "Native function language", "handler": "", "trusted": "f", "validator": "fmgr_c_validator"}, "comparison_hash": "e8a219c1a26602affef41a21da26d099cf721ba42739cb7b056898c9e2d6fbe6", "manual_language": "zh", "description_zh_html": "<p>\u8fc7\u7a0b\u8bed\u8a00 c\u3002</p><dl><dt>\u53d7\u4fe1\u4efb</dt><dd><code>\u5426</code></dd><dt>\u9a8c\u8bc1\u51fd\u6570</dt><dd><code>fmgr_c_validator</code></dd></dl><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u8282\u9009</h3><p>\n    \u7528\u6237\u5b9a\u4e49\u7684\u51fd\u6570\u53ef\u4ee5\u7528 C \u7f16\u5199\uff08\u6216\u8005\u53ef\u4ee5\u4e0e C \u517c\u5bb9\u7684\u8bed\u8a00\uff0c\u4f8b\u5982 C++\uff09\u3002\u8fd9\u7c7b\u51fd\u6570\u88ab\u7f16\u8bd1\u6210\u52a8\u6001\u8f7d\u5165\u5bf9\u8c61\uff08\u4e5f\u88ab\u79f0\u4e3a\u5171\u4eab\u5e93\uff09\u5e76\u4e14\u7531\u670d\u52a1\u5668\u5728\u9700\u8981\u65f6\u8f7d\u5165\u3002\u52a8\u6001\u8f7d\u5165\u662f\u628a<span>\u201c<span>C \u8bed\u8a00</span>\u201d</span>\u51fd\u6570\u548c<span>\u201c<span>\u5185\u90e8</span>\u201d</span>\u51fd\u6570\u533a\u5206\u5f00\u7684\u7279\u6027 \u2014 \u4e24\u8005\u771f\u6b63\u7684\u7f16\u7801\u4e60\u60ef\u5b9e\u9645\u4e0a\u662f\u4e00\u6837\u7684\uff08\u56e0\u6b64\uff0c\u6807\u51c6\u5185\u90e8\u51fd\u6570\u5e93\u4e3a\u7528\u6237\u5b9a\u4e49\u7684 C \u51fd\u6570\u63d0\u4f9b\u4e86\u4e30\u5bcc\u7684\u7f16\u7801\u793a\u4f8b\uff09\u3002\n   </p><p>\n    \u5f53\u524d\u4ec5\u6709\u4e00\u79cd\u8c03\u7528\u7ea6\u5b9a\u88ab\u7528\u4e8e C \u51fd\u6570\uff08<span>\u201c<span>\u7248\u672c 1</span>\u201d</span>\uff09\u3002\u5982\u4e0b\u6587\u6240\u793a\uff0c\u4e3a\u51fd\u6570\u7f16\u5199\u4e00\u4e2a <code>PG_FUNCTION_INFO_V1()</code> \u5b8f\u5c31\u80fd\u6307\u793a\u5bf9\u8be5\u8c03\u7528\u7ea6\u5b9a\u7684\u652f\u6301\u3002\n   </p><p><a href=\"/zh/docs/18/xfunc-c.html\" rel=\"nofollow\">\u67e5\u770b\u5b8c\u6574\u4e2d\u6587\u624b\u518c\u4e0e\u4e0a\u4e0b\u6587</a>\u3002</p>", "center_zh_rendered": "<p>\u8fc7\u7a0b\u8bed\u8a00 c\u3002</p><dl><dt>\u53d7\u4fe1\u4efb</dt><dd><code>\u5426</code></dd><dt>\u9a8c\u8bc1\u51fd\u6570</dt><dd><code>fmgr_c_validator</code></dd></dl><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u8282\u9009</h3><p>\n    \u7528\u6237\u5b9a\u4e49\u7684\u51fd\u6570\u53ef\u4ee5\u7528 C \u7f16\u5199\uff08\u6216\u8005\u53ef\u4ee5\u4e0e C \u517c\u5bb9\u7684\u8bed\u8a00\uff0c\u4f8b\u5982 C++\uff09\u3002\u8fd9\u7c7b\u51fd\u6570\u88ab\u7f16\u8bd1\u6210\u52a8\u6001\u8f7d\u5165\u5bf9\u8c61\uff08\u4e5f\u88ab\u79f0\u4e3a\u5171\u4eab\u5e93\uff09\u5e76\u4e14\u7531\u670d\u52a1\u5668\u5728\u9700\u8981\u65f6\u8f7d\u5165\u3002\u52a8\u6001\u8f7d\u5165\u662f\u628a<span>\u201c<span>C \u8bed\u8a00</span>\u201d</span>\u51fd\u6570\u548c<span>\u201c<span>\u5185\u90e8</span>\u201d</span>\u51fd\u6570\u533a\u5206\u5f00\u7684\u7279\u6027 \u2014 \u4e24\u8005\u771f\u6b63\u7684\u7f16\u7801\u4e60\u60ef\u5b9e\u9645\u4e0a\u662f\u4e00\u6837\u7684\uff08\u56e0\u6b64\uff0c\u6807\u51c6\u5185\u90e8\u51fd\u6570\u5e93\u4e3a\u7528\u6237\u5b9a\u4e49\u7684 C \u51fd\u6570\u63d0\u4f9b\u4e86\u4e30\u5bcc\u7684\u7f16\u7801\u793a\u4f8b\uff09\u3002\n   </p><p>\n    \u5f53\u524d\u4ec5\u6709\u4e00\u79cd\u8c03\u7528\u7ea6\u5b9a\u88ab\u7528\u4e8e C \u51fd\u6570\uff08<span>\u201c<span>\u7248\u672c 1</span>\u201d</span>\uff09\u3002\u5982\u4e0b\u6587\u6240\u793a\uff0c\u4e3a\u51fd\u6570\u7f16\u5199\u4e00\u4e2a <code>PG_FUNCTION_INFO_V1()</code> \u5b8f\u5c31\u80fd\u6307\u793a\u5bf9\u8be5\u8c03\u7528\u7ea6\u5b9a\u7684\u652f\u6301\u3002\n   </p><p><a href=\"/docs/18/xfunc-c.html\">\u67e5\u770b\u5b8c\u6574\u4e2d\u6587\u624b\u518c\u4e0e\u4e0a\u4e0b\u6587</a>\u3002</p>"}, "comparison": {"left": "17", "right": "18", "status": "unchanged", "diff": ""}}