{"kind": "language", "major": "18", "item": {"slug": "plpython2u", "name": "plpython2u", "name_zh": "", "category": "PL/Python", "summary": "\u6240\u9009\u7248\u672c\u672a\u6536\u5f55\u6b64\u6761\u76ee\u3002", "aliases": [], "content_hash": "d15bec525b9a182df64b75db82a66351e40835a72cf7ae9f6b719124115f0e29", "versions": {"10": {"facts": [{"label": "\u79cd\u7c7b", "value": "\u968f\u6e90\u7801\u63d0\u4f9b\u7684\u8fc7\u7a0b\u8bed\u8a00\u53d8\u4f53"}, {"label": "\u64cd\u4f5c\u7b26\u5bb6\u65cf", "value": "PL/Python"}, {"label": "\u53ef\u4fe1", "value": "f"}, {"label": "\u5904\u7406\u51fd\u6570", "value": "plpython2_call_handler"}, {"label": "\u5185\u8054\u4ee3\u7801\u5904\u7406\u51fd\u6570", "value": "plpython2_inline_handler"}, {"label": "\u6821\u9a8c\u51fd\u6570", "value": "plpython2_validator"}, {"label": "\u5e93", "value": "$libdir/plpython2"}, {"label": "\u9ed8\u8ba4\u7248\u672c", "value": "1.0"}, {"label": "\u6a21\u5757\u8def\u5f84", "value": "$libdir/plpython2"}, {"label": "\u6ce8\u91ca", "value": "PL/Python2U \u975e\u53ef\u4fe1\u8fc7\u7a0b\u8bed\u8a00"}], "tables": [], "aliases": [], "related": [{"url": "/docs/10/plpython-data.html", "label": "\u6570\u636e\u503c"}, {"url": "/docs/10/plpython-database.html", "label": "\u6570\u636e\u5e93\u8bbf\u95ee"}, {"url": "/docs/10/plpython-do.html", "label": "\u533f\u540d\u4ee3\u7801\u5757"}, {"url": "/docs/10/plpython-envar.html", "label": "\u73af\u5883\u53d8\u91cf"}, {"url": "/docs/10/plpython-funcs.html", "label": "PL/Python \u51fd\u6570"}, {"url": "/docs/10/plpython-python23.html", "label": "plpython-python23"}, {"url": "/docs/10/plpython-sharing.html", "label": "\u5171\u4eab\u6570\u636e"}, {"url": "/docs/10/plpython-subtransaction.html", "label": "\u663e\u5f0f\u5b50\u4e8b\u52a1"}, {"url": "/docs/10/plpython-trigger.html", "label": "\u89e6\u53d1\u5668\u51fd\u6570"}, {"url": "/docs/10/plpython-util.html", "label": "\u8f85\u52a9\u51fd\u6570"}], "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/plpython.html", "path": "plpython.html", "label": "PostgreSQL 10 English manual", "sha256": "777855a2e6a6df222fc5e19074d038225bdeba971ad195673ff034adb58aeff1"}], "zh_from": {"kind": "same-version-chinese-manual-with-source-derived-structured-summary", "manual": {"url": "/zh/docs/10/plpython.html", "anchor": "", "locale": "zh-Hans", "version": "10", "build_id": 63, "page_key": "plpython.html", "extraction": "concept-introduction", "source_hash": "4f4e3be12b0d0f5f1adcc4e7007d4b7d9351ae46c70d8a69cb226a0055665a9a", "fragment_sha256": "4df1d89cd30392db16264df97cf58715d07ca94d90e189787ebda0184bd9b383", "source_revision": "unknown:rendered-translation-baseline", "translation_revision": "snapshot:sha256:62997ea80516ad012fbf6359de33f3b016b54c47e2df76e75606116b4baaf8e5", "translated_from_revision": null}, "body_sha256": "47a86a71f3bdeaef8a0392c54d5f4896cd6a3a8a5e6a79a1d064666ad92c2f5a", "runtime_rerun": false, "authored_translation": "source-derived-structured-summary", "source_facts_revision": "94a4b2528372458e5662c18d406629266667c437198160a18cdfd2c4a4d6eee9"}, "facts_zh": [{"label": "\u79cd\u7c7b", "value": "\u968f\u6e90\u7801\u63d0\u4f9b\u7684\u8fc7\u7a0b\u8bed\u8a00\u53d8\u4f53"}, {"label": "\u64cd\u4f5c\u7b26\u5bb6\u65cf", "value": "PL/Python"}, {"label": "\u53ef\u4fe1", "value": "f"}, {"label": "\u5904\u7406\u51fd\u6570", "value": "plpython2_call_handler"}, {"label": "\u5185\u8054\u4ee3\u7801\u5904\u7406\u51fd\u6570", "value": "plpython2_inline_handler"}, {"label": "\u6821\u9a8c\u51fd\u6570", "value": "plpython2_validator"}, {"label": "\u5e93", "value": "$libdir/plpython2"}, {"label": "\u9ed8\u8ba4\u7248\u672c", "value": "1.0"}, {"label": "\u6a21\u5757\u8def\u5f84", "value": "$libdir/plpython2"}, {"label": "\u6ce8\u91ca", "value": "PL/Python2U \u975e\u53ef\u4fe1\u8fc7\u7a0b\u8bed\u8a00"}], "sections": [{"code": "/* src/pl/plpython/plpython2u--1.0.sql */\n\n/*\n * Currently, all the interesting stuff is done by CREATE LANGUAGE.\n * Later we will probably \"dumb down\" that command and put more of the\n * knowledge into this script.\n */\n\nCREATE PROCEDURAL LANGUAGE plpython2u;\n\nCOMMENT ON PROCEDURAL LANGUAGE plpython2u IS 'PL/Python2U untrusted procedural language';", "title": "\u540c\u6784\u5efa\u6e90\u7801\u4e2d\u7684\u5b89\u88c5\u5b9a\u4e49", "paragraphs": ["\u6b64\u6269\u5c55\u968f\u6e90\u7801\u63d0\u4f9b\uff1b\u6536\u5f55\u5b83\u5e76\u4e0d\u8868\u793a\u5df2\u5b89\u88c5\u8be5\u8bed\u8a00\u6216\u5916\u90e8\u8fd0\u884c\u65f6\u3002"]}], "center_zh": {"title": "plpython2u", "locale": "zh-Hans", "source": {"key": "plpython2u", "locale": "zh-Hans", "version": "10", "text_hash": "0767f251b3a57d26dc3e388c865301788b24f054f7506cc150a8c5aa610ccde3", "collection": "language", "dataset_hash": "7c31b524dfe136022d39a6ae8dcfac6b3bbd5f8fdaf422536599981252aff0c9", "source_database": "center", "source_revision": "94a4b2528372458e5662c18d406629266667c437198160a18cdfd2c4a4d6eee9"}, "payload": {"facts": [{"label": "\u79cd\u7c7b", "value": "\u968f\u6e90\u7801\u63d0\u4f9b\u7684\u8fc7\u7a0b\u8bed\u8a00\u53d8\u4f53"}, {"label": "\u64cd\u4f5c\u7b26\u5bb6\u65cf", "value": "PL/Python"}, {"label": "\u53ef\u4fe1", "value": "f"}, {"label": "\u5904\u7406\u51fd\u6570", "value": "plpython2_call_handler"}, {"label": "\u5185\u8054\u4ee3\u7801\u5904\u7406\u51fd\u6570", "value": "plpython2_inline_handler"}, {"label": "\u6821\u9a8c\u51fd\u6570", "value": "plpython2_validator"}, {"label": "\u5e93", "value": "$libdir/plpython2"}, {"label": "\u9ed8\u8ba4\u7248\u672c", "value": "1.0"}, {"label": "\u6a21\u5757\u8def\u5f84", "value": "$libdir/plpython2"}, {"label": "\u6ce8\u91ca", "value": "PL/Python2U \u975e\u53ef\u4fe1\u8fc7\u7a0b\u8bed\u8a00"}], "tables": [], "zh_from": {"kind": "same-version-chinese-manual-with-source-derived-structured-summary", "manual": {"url": "/zh/docs/10/plpython.html", "anchor": "", "locale": "zh-Hans", "version": "10", "build_id": 63, "page_key": "plpython.html", "extraction": "concept-introduction", "source_hash": "4f4e3be12b0d0f5f1adcc4e7007d4b7d9351ae46c70d8a69cb226a0055665a9a", "fragment_sha256": "4df1d89cd30392db16264df97cf58715d07ca94d90e189787ebda0184bd9b383", "source_revision": "unknown:rendered-translation-baseline", "translation_revision": "snapshot:sha256:62997ea80516ad012fbf6359de33f3b016b54c47e2df76e75606116b4baaf8e5", "translated_from_revision": null}, "body_sha256": "47a86a71f3bdeaef8a0392c54d5f4896cd6a3a8a5e6a79a1d064666ad92c2f5a", "runtime_rerun": false, "authored_translation": "source-derived-structured-summary", "source_facts_revision": "94a4b2528372458e5662c18d406629266667c437198160a18cdfd2c4a4d6eee9"}, "sections": [{"code": "/* src/pl/plpython/plpython2u--1.0.sql */\n\n/*\n * Currently, all the interesting stuff is done by CREATE LANGUAGE.\n * Later we will probably \"dumb down\" that command and put more of the\n * knowledge into this script.\n */\n\nCREATE PROCEDURAL LANGUAGE plpython2u;\n\nCOMMENT ON PROCEDURAL LANGUAGE plpython2u IS 'PL/Python2U untrusted procedural language';", "title": "\u540c\u6784\u5efa\u6e90\u7801\u4e2d\u7684\u5b89\u88c5\u5b9a\u4e49", "paragraphs": ["\u6b64\u6269\u5c55\u968f\u6e90\u7801\u63d0\u4f9b\uff1b\u6536\u5f55\u5b83\u5e76\u4e0d\u8868\u793a\u5df2\u5b89\u88c5\u8be5\u8bed\u8a00\u6216\u5916\u90e8\u8fd0\u884c\u65f6\u3002"]}], "description_zh": "\u8fc7\u7a0b\u8bed\u8a00 plpython2u\u3002", "description_zh_html": "<p>\u8fc7\u7a0b\u8bed\u8a00 plpython2u\u3002</p><dl><dt>\u8fd0\u7b97\u7b26\u65cf</dt><dd><code>PL/Python</code></dd><dt>\u5904\u7406\u51fd\u6570</dt><dd><code>plpython2_call_handler</code></dd><dt>\u5e93</dt><dd><code>$libdir/plpython2</code></dd><dt>\u53d7\u4fe1\u4efb</dt><dd><code>\u5426</code></dd><dt>\u9a8c\u8bc1\u51fd\u6570</dt><dd><code>plpython2_validator</code></dd><dt>\u5185\u8054\u5904\u7406\u51fd\u6570</dt><dd><code>plpython2_inline_handler</code></dd><dt>\u9ed8\u8ba4\u7248\u672c</dt><dd><code>1.0</code></dd><dt>\u6a21\u5757\u8def\u5f84</dt><dd><code>$libdir/plpython2</code></dd></dl><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u8282\u9009</h3><p><span class=\"application\">PL/Python</span> \u8fc7\u7a0b\u8bed\u8a00\u5141\u8bb8\u7528 <a class=\"ulink\" href=\"http://www.python.org\">Python \u8bed\u8a00</a>\u7f16\u5199 <span class=\"productname\">PostgreSQL</span> \u51fd\u6570\u3002</p><p>  \u8981\u5728\u7279\u5b9a\u6570\u636e\u5e93\u4e2d\u5b89\u88c5 PL/Python\uff0c\u53ef\u4f7f\u7528 <code class=\"literal\">CREATE EXTENSION plpythonu</code>\uff08\u53e6\u89c1<a class=\"xref\" href=\"/zh/docs/10/plpython.html#PLPYTHON-PYTHON23\">\u7b2c\u00a045.1\u00a0\u8282</a>\uff09\u3002\n </p><p>  PL/Python \u53ea\u80fd\u4f5c\u4e3a\u4e00\u79cd<span class=\"quote\">\u201c<span class=\"quote\">\u4e0d\u53d7\u4fe1\u4efb\u7684</span>\u201d</span>\u8bed\u8a00\u4f7f\u7528\uff0c\u8fd9\u610f\u5473\u7740\u5b83\u4e0d\u63d0\u4f9b\u4efb\u4f55\u673a\u5236\u6765\u9650\u5236\u7528\u6237\u80fd\u5728\u5176\u4e2d\u505a\u4ec0\u4e48\uff0c\u56e0\u6b64\u5176\u540d\u79f0\u4e3a <code class=\"literal\">plpythonu</code>\u3002\u5982\u679c\u5c06\u6765\u80fd\u5728 Python \u4e2d\u5f00\u53d1\u51fa\u5b89\u5168\u7684\u6267\u884c\u673a\u5236\uff0c\u53d7\u4fe1\u4efb\u7684\u53d8\u4f53 <code class=\"literal\">plpython</code> \u53ef\u80fd\u4f1a\u51fa\u73b0\u3002\u4f7f\u7528\u4e0d\u53d7\u4fe1\u4efb\u7684 PL/Python \u7f16\u5199\u51fd\u6570\u65f6\uff0c\u51fd\u6570\u7f16\u5199\u8005\u5fc5\u987b\u786e\u4fdd\u8be5\u51fd\u6570\u4e0d\u4f1a\u88ab\u7528\u6765\u505a\u4efb\u4f55\u4e0d\u5e0c\u671b\u53d1\u751f\u7684\u4e8b\u60c5\uff0c\u56e0\u4e3a\u5b83\u80fd\u591f\u505a\u5230\u4efb\u4f55\u4ee5\u6570\u636e\u5e93\u7ba1\u7406\u5458\u8eab\u4efd\u767b\u5f55\u7684\u7528\u6237\u6240\u80fd\u505a\u7684\u4e8b\u60c5\u3002\u53ea\u6709\u8d85\u7ea7\u7528\u6237\u624d\u80fd\u5728 <code class=\"literal\">plpythonu</code> \u8fd9\u7c7b\u4e0d\u53d7\u4fe1\u4efb\u7684\u8bed\u8a00\u4e2d\u521b\u5efa\u51fd\u6570\u3002\n </p><p><a href=\"/zh/docs/10/plpython.html\">\u67e5\u770b\u5b8c\u6574\u4e2d\u6587\u624b\u518c\u4e0e\u4e0a\u4e0b\u6587</a>\u3002</p>"}, "summary": "\u8fc7\u7a0b\u8bed\u8a00 plpython2u\u3002", "version": "10", "link_map": {"/zh/docs/10/plpython.html": "/docs/10/plpython.html", "/zh/docs/10/plpython.html#PLPYTHON-PYTHON23": "/docs/10/plpython.html#PLPYTHON-PYTHON23"}, "body_html": "<p>\u8fc7\u7a0b\u8bed\u8a00 plpython2u\u3002</p><dl><dt>\u8fd0\u7b97\u7b26\u65cf</dt><dd><code>PL/Python</code></dd><dt>\u5904\u7406\u51fd\u6570</dt><dd><code>plpython2_call_handler</code></dd><dt>\u5e93</dt><dd><code>$libdir/plpython2</code></dd><dt>\u53d7\u4fe1\u4efb</dt><dd><code>\u5426</code></dd><dt>\u9a8c\u8bc1\u51fd\u6570</dt><dd><code>plpython2_validator</code></dd><dt>\u5185\u8054\u5904\u7406\u51fd\u6570</dt><dd><code>plpython2_inline_handler</code></dd><dt>\u9ed8\u8ba4\u7248\u672c</dt><dd><code>1.0</code></dd><dt>\u6a21\u5757\u8def\u5f84</dt><dd><code>$libdir/plpython2</code></dd></dl><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u8282\u9009</h3><p><span>PL/Python</span> \u8fc7\u7a0b\u8bed\u8a00\u5141\u8bb8\u7528 <a href=\"http://www.python.org\" rel=\"nofollow\">Python \u8bed\u8a00</a>\u7f16\u5199 <span>PostgreSQL</span> \u51fd\u6570\u3002</p><p>  \u8981\u5728\u7279\u5b9a\u6570\u636e\u5e93\u4e2d\u5b89\u88c5 PL/Python\uff0c\u53ef\u4f7f\u7528 <code>CREATE EXTENSION plpythonu</code>\uff08\u53e6\u89c1<a href=\"/zh/docs/10/plpython.html#PLPYTHON-PYTHON23\" rel=\"nofollow\">\u7b2c\u00a045.1\u00a0\u8282</a>\uff09\u3002\n </p><p>  PL/Python \u53ea\u80fd\u4f5c\u4e3a\u4e00\u79cd<span>\u201c<span>\u4e0d\u53d7\u4fe1\u4efb\u7684</span>\u201d</span>\u8bed\u8a00\u4f7f\u7528\uff0c\u8fd9\u610f\u5473\u7740\u5b83\u4e0d\u63d0\u4f9b\u4efb\u4f55\u673a\u5236\u6765\u9650\u5236\u7528\u6237\u80fd\u5728\u5176\u4e2d\u505a\u4ec0\u4e48\uff0c\u56e0\u6b64\u5176\u540d\u79f0\u4e3a <code>plpythonu</code>\u3002\u5982\u679c\u5c06\u6765\u80fd\u5728 Python \u4e2d\u5f00\u53d1\u51fa\u5b89\u5168\u7684\u6267\u884c\u673a\u5236\uff0c\u53d7\u4fe1\u4efb\u7684\u53d8\u4f53 <code>plpython</code> \u53ef\u80fd\u4f1a\u51fa\u73b0\u3002\u4f7f\u7528\u4e0d\u53d7\u4fe1\u4efb\u7684 PL/Python \u7f16\u5199\u51fd\u6570\u65f6\uff0c\u51fd\u6570\u7f16\u5199\u8005\u5fc5\u987b\u786e\u4fdd\u8be5\u51fd\u6570\u4e0d\u4f1a\u88ab\u7528\u6765\u505a\u4efb\u4f55\u4e0d\u5e0c\u671b\u53d1\u751f\u7684\u4e8b\u60c5\uff0c\u56e0\u4e3a\u5b83\u80fd\u591f\u505a\u5230\u4efb\u4f55\u4ee5\u6570\u636e\u5e93\u7ba1\u7406\u5458\u8eab\u4efd\u767b\u5f55\u7684\u7528\u6237\u6240\u80fd\u505a\u7684\u4e8b\u60c5\u3002\u53ea\u6709\u8d85\u7ea7\u7528\u6237\u624d\u80fd\u5728 <code>plpythonu</code> \u8fd9\u7c7b\u4e0d\u53d7\u4fe1\u4efb\u7684\u8bed\u8a00\u4e2d\u521b\u5efa\u51fd\u6570\u3002\n </p><p><a href=\"/zh/docs/10/plpython.html\" rel=\"nofollow\">\u67e5\u770b\u5b8c\u6574\u4e2d\u6587\u624b\u518c\u4e0e\u4e0a\u4e0b\u6587</a>\u3002</p>", "body_sha256": "c4a5098c961adecf8c07296b2997edfb528eceb395dadf3b75fe98c135e986bd", "content_hash": "0767f251b3a57d26dc3e388c865301788b24f054f7506cc150a8c5aa610ccde3", "source_database": "center", "source_revision": "94a4b2528372458e5662c18d406629266667c437198160a18cdfd2c4a4d6eee9"}, "signature": "", "tables_zh": [], "attributes": {"kind": "Bundled procedural-language variant", "family": "PL/Python", "comment": "PL/Python2U untrusted procedural language", "handler": "plpython2_call_handler", "library": "$libdir/plpython2", "trusted": "f", "validator": "plpython2_validator", "inline_handler": "plpython2_inline_handler", "default_version": "1.0", "module_pathname": "$libdir/plpython2"}, "description": ["\u8fc7\u7a0b\u8bed\u8a00 plpython2u\u3002"], "manual_html": "", "manual_path": "/docs/10/plpython.html", "sections_zh": [{"code": "/* src/pl/plpython/plpython2u--1.0.sql */\n\n/*\n * Currently, all the interesting stuff is done by CREATE LANGUAGE.\n * Later we will probably \"dumb down\" that command and put more of the\n * knowledge into this script.\n */\n\nCREATE PROCEDURAL LANGUAGE plpython2u;\n\nCOMMENT ON PROCEDURAL LANGUAGE plpython2u IS 'PL/Python2U untrusted procedural language';", "title": "\u540c\u6784\u5efa\u6e90\u7801\u4e2d\u7684\u5b89\u88c5\u5b9a\u4e49", "paragraphs": ["\u6b64\u6269\u5c55\u968f\u6e90\u7801\u63d0\u4f9b\uff1b\u6536\u5f55\u5b83\u5e76\u4e0d\u8868\u793a\u5df2\u5b89\u88c5\u8be5\u8bed\u8a00\u6216\u5916\u90e8\u8fd0\u884c\u65f6\u3002"]}], "localization": {"status": "complete", "sources": [{"url": "/docs/10/plpython-data.html", "method": "same-major semantic node", "sha256": "e4220772a2b28ea3e4638b1ce4135fa910152956d5680caf0dbf7e909d0eabb2", "language": "zh", "matched_nodes": ["page-title/h2"]}, {"url": "/docs/10/plpython-database.html", "method": "same-major semantic node", "sha256": "9589d6ec7f61f98a440bbe8c7a2259e4f8964ad127c31971ba52f3d44e20ac21", "language": "zh", "matched_nodes": ["page-title/h2"]}, {"url": "/docs/10/plpython-do.html", "method": "same-major semantic node", "sha256": "643b5021861b4a9374e20903a9eb85b1707c11144990c35ac221e3c52e146776", "language": "zh", "matched_nodes": ["page-title/h2"]}, {"url": "/docs/10/plpython-envar.html", "method": "same-major semantic node", "sha256": "c79ca8728df0f1face330e5c545944d99a00837a7016643dd03064ad9642a40d", "language": "zh", "matched_nodes": ["page-title/h2"]}, {"url": "/docs/10/plpython-funcs.html", "method": "same-major semantic node", "sha256": "143ac8077d3d7cfb08b04324ccc55ea0e05e6fc8cb16c411ef3cfa9d65616e3b", "language": "zh", "matched_nodes": ["page-title/h2"]}, {"url": "/docs/10/plpython-sharing.html", "method": "same-major semantic node", "sha256": "7531b33091c90fb0a4c672d28ebf8621def3ab8ea8be09687cdc53babc24b9e1", "language": "zh", "matched_nodes": ["page-title/h2"]}, {"url": "/docs/10/plpython-subtransaction.html", "method": "same-major semantic node", "sha256": "a9b5f431a9988fd1ca6d29d1a578d270fb8c0312de279eb618d5013f7a15647b", "language": "zh", "matched_nodes": ["page-title/h2"]}, {"url": "/docs/10/plpython-trigger.html", "method": "same-major semantic node", "sha256": "498a545b8de7b47a04d2e560837baa9ed7830a49e9fa8b57f0084085a89fd00c", "language": "zh", "matched_nodes": ["page-title/h2"]}, {"url": "/docs/10/plpython-util.html", "method": "same-major semantic node", "sha256": "d121c159cf8ddd85765ed1382b2068dc7f594bba77a4ba32adea53505c3c6da8", "language": "zh", "matched_nodes": ["page-title/h2"]}, {"url": "/docs/10/plpython.html", "method": "same-major semantic node", "sha256": "4fcc10b7c72551a84bead734ecd8c7194f429d337fe25a6e1e77c822a6a69d99", "language": "zh", "matched_nodes": ["#PLPYTHON/h3[0]", "#PLPYTHON/h3[1]", "#PLPYTHON/p[1]", "#PLPYTHON/p[2]", "#PLPYTHON/p[3]", "#PLPYTHON/p[4]", "#PLPYTHON/p[5]"]}], "language": "zh", "original_text": {"/versions/10/description/0": "PL/Python2U untrusted procedural language", "/versions/10/facts/0/label": "Kind", "/versions/10/facts/0/value": "Bundled procedural-language variant", "/versions/10/facts/1/label": "Family", "/versions/10/facts/2/label": "Trusted", "/versions/10/facts/3/label": "Handler", "/versions/10/facts/4/label": "Inline handler", "/versions/10/facts/5/label": "Validator", "/versions/10/facts/6/label": "Library", "/versions/10/facts/7/label": "Default version", "/versions/10/facts/8/label": "Module pathname", "/versions/10/facts/9/label": "Comment", "/versions/10/facts/9/value": "PL/Python2U untrusted procedural language", "/versions/10/related/0/label": "plpython-data", "/versions/10/related/1/label": "plpython-database", "/versions/10/related/2/label": "plpython-do", "/versions/10/related/3/label": "plpython-envar", "/versions/10/related/4/label": "plpython-funcs", "/versions/10/related/6/label": "plpython-sharing", "/versions/10/related/7/label": "plpython-subtransaction", "/versions/10/related/8/label": "plpython-trigger", "/versions/10/related/9/label": "plpython-util", "/versions/10/sections/0/title": "Installation definition from the matching source archive", "/versions/10/sections/0/paragraphs/0": "This extension is shipped with the source. Its presence does not establish that the language or external runtime is installed."}, "fallback_fields": [], "source_language": "en", "original_snapshot_sha256": "a9fcaa4b44600b3b03fff67f731fdefe8917a57c1edad83b3a1842475b029ca0", "canonical_center_text_hash": "0767f251b3a57d26dc3e388c865301788b24f054f7506cc150a8c5aa610ccde3"}, "source_files": {"src/pl/plpython/plpython2u.control": "c09792a1d7b0e512559e1c4c72b0c3e1ab0bf37b85dd5c8ebec16e0c3b333209", "src/pl/plpython/plpython2u--1.0.sql": "8a526d5cefc57917393eff8a5a1ce4d468affb31c1e63de71a6cd57cdf2575cf"}, "description_zh": "\u8fc7\u7a0b\u8bed\u8a00 plpython2u\u3002", "comparison_data": {"kind": "Bundled procedural-language variant", "family": "PL/Python", "handler": "plpython2_call_handler", "library": "$libdir/plpython2", "trusted": "f", "validator": "plpython2_validator", "inline_handler": "plpython2_inline_handler", "default_version": "1.0"}, "comparison_hash": "97802e2b3133abfc2be638d7f109df527604bcc726c8a2ce9fdc47a82b753410", "manual_language": "zh", "description_zh_html": "<p>\u8fc7\u7a0b\u8bed\u8a00 plpython2u\u3002</p><dl><dt>\u8fd0\u7b97\u7b26\u65cf</dt><dd><code>PL/Python</code></dd><dt>\u5904\u7406\u51fd\u6570</dt><dd><code>plpython2_call_handler</code></dd><dt>\u5e93</dt><dd><code>$libdir/plpython2</code></dd><dt>\u53d7\u4fe1\u4efb</dt><dd><code>\u5426</code></dd><dt>\u9a8c\u8bc1\u51fd\u6570</dt><dd><code>plpython2_validator</code></dd><dt>\u5185\u8054\u5904\u7406\u51fd\u6570</dt><dd><code>plpython2_inline_handler</code></dd><dt>\u9ed8\u8ba4\u7248\u672c</dt><dd><code>1.0</code></dd><dt>\u6a21\u5757\u8def\u5f84</dt><dd><code>$libdir/plpython2</code></dd></dl><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u8282\u9009</h3><p><span>PL/Python</span> \u8fc7\u7a0b\u8bed\u8a00\u5141\u8bb8\u7528 <a href=\"http://www.python.org\" rel=\"nofollow\">Python \u8bed\u8a00</a>\u7f16\u5199 <span>PostgreSQL</span> \u51fd\u6570\u3002</p><p>  \u8981\u5728\u7279\u5b9a\u6570\u636e\u5e93\u4e2d\u5b89\u88c5 PL/Python\uff0c\u53ef\u4f7f\u7528 <code>CREATE EXTENSION plpythonu</code>\uff08\u53e6\u89c1<a href=\"/zh/docs/10/plpython.html#PLPYTHON-PYTHON23\" rel=\"nofollow\">\u7b2c\u00a045.1\u00a0\u8282</a>\uff09\u3002\n </p><p>  PL/Python \u53ea\u80fd\u4f5c\u4e3a\u4e00\u79cd<span>\u201c<span>\u4e0d\u53d7\u4fe1\u4efb\u7684</span>\u201d</span>\u8bed\u8a00\u4f7f\u7528\uff0c\u8fd9\u610f\u5473\u7740\u5b83\u4e0d\u63d0\u4f9b\u4efb\u4f55\u673a\u5236\u6765\u9650\u5236\u7528\u6237\u80fd\u5728\u5176\u4e2d\u505a\u4ec0\u4e48\uff0c\u56e0\u6b64\u5176\u540d\u79f0\u4e3a <code>plpythonu</code>\u3002\u5982\u679c\u5c06\u6765\u80fd\u5728 Python \u4e2d\u5f00\u53d1\u51fa\u5b89\u5168\u7684\u6267\u884c\u673a\u5236\uff0c\u53d7\u4fe1\u4efb\u7684\u53d8\u4f53 <code>plpython</code> \u53ef\u80fd\u4f1a\u51fa\u73b0\u3002\u4f7f\u7528\u4e0d\u53d7\u4fe1\u4efb\u7684 PL/Python \u7f16\u5199\u51fd\u6570\u65f6\uff0c\u51fd\u6570\u7f16\u5199\u8005\u5fc5\u987b\u786e\u4fdd\u8be5\u51fd\u6570\u4e0d\u4f1a\u88ab\u7528\u6765\u505a\u4efb\u4f55\u4e0d\u5e0c\u671b\u53d1\u751f\u7684\u4e8b\u60c5\uff0c\u56e0\u4e3a\u5b83\u80fd\u591f\u505a\u5230\u4efb\u4f55\u4ee5\u6570\u636e\u5e93\u7ba1\u7406\u5458\u8eab\u4efd\u767b\u5f55\u7684\u7528\u6237\u6240\u80fd\u505a\u7684\u4e8b\u60c5\u3002\u53ea\u6709\u8d85\u7ea7\u7528\u6237\u624d\u80fd\u5728 <code>plpythonu</code> \u8fd9\u7c7b\u4e0d\u53d7\u4fe1\u4efb\u7684\u8bed\u8a00\u4e2d\u521b\u5efa\u51fd\u6570\u3002\n </p><p><a href=\"/zh/docs/10/plpython.html\" rel=\"nofollow\">\u67e5\u770b\u5b8c\u6574\u4e2d\u6587\u624b\u518c\u4e0e\u4e0a\u4e0b\u6587</a>\u3002</p>"}, "11": {"facts": [{"label": "\u79cd\u7c7b", "value": "\u968f\u6e90\u7801\u63d0\u4f9b\u7684\u8fc7\u7a0b\u8bed\u8a00\u53d8\u4f53"}, {"label": "\u64cd\u4f5c\u7b26\u5bb6\u65cf", "value": "PL/Python"}, {"label": "\u53ef\u4fe1", "value": "f"}, {"label": "\u5904\u7406\u51fd\u6570", "value": "plpython2_call_handler"}, {"label": "\u5185\u8054\u4ee3\u7801\u5904\u7406\u51fd\u6570", "value": "plpython2_inline_handler"}, {"label": "\u6821\u9a8c\u51fd\u6570", "value": "plpython2_validator"}, {"label": "\u5e93", "value": "$libdir/plpython2"}, {"label": "\u9ed8\u8ba4\u7248\u672c", "value": "1.0"}, {"label": "\u6a21\u5757\u8def\u5f84", "value": "$libdir/plpython2"}, {"label": "\u6ce8\u91ca", "value": "PL/Python2U \u975e\u53ef\u4fe1\u8fc7\u7a0b\u8bed\u8a00"}], "tables": [], "aliases": [], "related": [{"url": "/docs/11/plpython-data.html", "label": "\u6570\u636e\u503c"}, {"url": "/docs/11/plpython-database.html", "label": "\u6570\u636e\u5e93\u8bbf\u95ee"}, {"url": "/docs/11/plpython-do.html", "label": "\u533f\u540d\u4ee3\u7801\u5757"}, {"url": "/docs/11/plpython-envar.html", "label": "\u73af\u5883\u53d8\u91cf"}, {"url": "/docs/11/plpython-funcs.html", "label": "PL/Python \u51fd\u6570"}, {"url": "/docs/11/plpython-python23.html", "label": "plpython-python23"}, {"url": "/docs/11/plpython-sharing.html", "label": "\u5171\u4eab\u6570\u636e"}, {"url": "/docs/11/plpython-subtransaction.html", "label": "\u663e\u5f0f\u5b50\u4e8b\u52a1"}, {"url": "/docs/11/plpython-transactions.html", "label": "\u4e8b\u52a1\u7ba1\u7406"}, {"url": "/docs/11/plpython-trigger.html", "label": "\u89e6\u53d1\u5668\u51fd\u6570"}, {"url": "/docs/11/plpython-util.html", "label": "\u8f85\u52a9\u51fd\u6570"}], "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/plpython.html", "path": "plpython.html", "label": "PostgreSQL 11 English manual", "sha256": "6612b4c6b8dba6b9955dcd42a8c833715fe386b40b40aac2c9ea3743516726c1"}], "zh_from": {"kind": "same-version-chinese-manual-with-source-derived-structured-summary", "manual": {"url": "/zh/docs/11/plpython.html", "anchor": "", "locale": "zh-Hans", "version": "11", "build_id": 64, "page_key": "plpython.html", "extraction": "concept-introduction", "source_hash": "6fbdd5d4c3ceb9304bc005941f67d74fcd9a29ef4c1c3ca5615a5e3fd412093f", "fragment_sha256": "f29e90398f38eb74a99a63162364b860f0c3b8405e3edb249acafa22e6bdaeff", "source_revision": "unknown:rendered-translation-baseline", "translation_revision": "snapshot:sha256:ef5c7bc074acae9795db16e6b7482aea3b222bd4bcce0f76831332b97a21e8a1", "translated_from_revision": null}, "body_sha256": "fcf2f033f40dceae14111c1433dedbb44008cb6895e30fc12f5a8f24da829179", "runtime_rerun": false, "authored_translation": "source-derived-structured-summary", "source_facts_revision": "2cb7c97d7a0d7278851bbc9c61f467b69c094c72b81740b751108e7892ebe1f0"}, "facts_zh": [{"label": "\u79cd\u7c7b", "value": "\u968f\u6e90\u7801\u63d0\u4f9b\u7684\u8fc7\u7a0b\u8bed\u8a00\u53d8\u4f53"}, {"label": "\u64cd\u4f5c\u7b26\u5bb6\u65cf", "value": "PL/Python"}, {"label": "\u53ef\u4fe1", "value": "f"}, {"label": "\u5904\u7406\u51fd\u6570", "value": "plpython2_call_handler"}, {"label": "\u5185\u8054\u4ee3\u7801\u5904\u7406\u51fd\u6570", "value": "plpython2_inline_handler"}, {"label": "\u6821\u9a8c\u51fd\u6570", "value": "plpython2_validator"}, {"label": "\u5e93", "value": "$libdir/plpython2"}, {"label": "\u9ed8\u8ba4\u7248\u672c", "value": "1.0"}, {"label": "\u6a21\u5757\u8def\u5f84", "value": "$libdir/plpython2"}, {"label": "\u6ce8\u91ca", "value": "PL/Python2U \u975e\u53ef\u4fe1\u8fc7\u7a0b\u8bed\u8a00"}], "sections": [{"code": "/* src/pl/plpython/plpython2u--1.0.sql */\n\n/*\n * Currently, all the interesting stuff is done by CREATE LANGUAGE.\n * Later we will probably \"dumb down\" that command and put more of the\n * knowledge into this script.\n */\n\nCREATE PROCEDURAL LANGUAGE plpython2u;\n\nCOMMENT ON PROCEDURAL LANGUAGE plpython2u IS 'PL/Python2U untrusted procedural language';", "title": "\u540c\u6784\u5efa\u6e90\u7801\u4e2d\u7684\u5b89\u88c5\u5b9a\u4e49", "paragraphs": ["\u6b64\u6269\u5c55\u968f\u6e90\u7801\u63d0\u4f9b\uff1b\u6536\u5f55\u5b83\u5e76\u4e0d\u8868\u793a\u5df2\u5b89\u88c5\u8be5\u8bed\u8a00\u6216\u5916\u90e8\u8fd0\u884c\u65f6\u3002"]}], "center_zh": {"title": "plpython2u", "locale": "zh-Hans", "source": {"key": "plpython2u", "locale": "zh-Hans", "version": "11", "text_hash": "9368f2fedd0e0923ea50618cac6fcadf858383ba5e93fcede524e0e35b173967", "collection": "language", "dataset_hash": "7c31b524dfe136022d39a6ae8dcfac6b3bbd5f8fdaf422536599981252aff0c9", "source_database": "center", "source_revision": "2cb7c97d7a0d7278851bbc9c61f467b69c094c72b81740b751108e7892ebe1f0"}, "payload": {"facts": [{"label": "\u79cd\u7c7b", "value": "\u968f\u6e90\u7801\u63d0\u4f9b\u7684\u8fc7\u7a0b\u8bed\u8a00\u53d8\u4f53"}, {"label": "\u64cd\u4f5c\u7b26\u5bb6\u65cf", "value": "PL/Python"}, {"label": "\u53ef\u4fe1", "value": "f"}, {"label": "\u5904\u7406\u51fd\u6570", "value": "plpython2_call_handler"}, {"label": "\u5185\u8054\u4ee3\u7801\u5904\u7406\u51fd\u6570", "value": "plpython2_inline_handler"}, {"label": "\u6821\u9a8c\u51fd\u6570", "value": "plpython2_validator"}, {"label": "\u5e93", "value": "$libdir/plpython2"}, {"label": "\u9ed8\u8ba4\u7248\u672c", "value": "1.0"}, {"label": "\u6a21\u5757\u8def\u5f84", "value": "$libdir/plpython2"}, {"label": "\u6ce8\u91ca", "value": "PL/Python2U \u975e\u53ef\u4fe1\u8fc7\u7a0b\u8bed\u8a00"}], "tables": [], "zh_from": {"kind": "same-version-chinese-manual-with-source-derived-structured-summary", "manual": {"url": "/zh/docs/11/plpython.html", "anchor": "", "locale": "zh-Hans", "version": "11", "build_id": 64, "page_key": "plpython.html", "extraction": "concept-introduction", "source_hash": "6fbdd5d4c3ceb9304bc005941f67d74fcd9a29ef4c1c3ca5615a5e3fd412093f", "fragment_sha256": "f29e90398f38eb74a99a63162364b860f0c3b8405e3edb249acafa22e6bdaeff", "source_revision": "unknown:rendered-translation-baseline", "translation_revision": "snapshot:sha256:ef5c7bc074acae9795db16e6b7482aea3b222bd4bcce0f76831332b97a21e8a1", "translated_from_revision": null}, "body_sha256": "fcf2f033f40dceae14111c1433dedbb44008cb6895e30fc12f5a8f24da829179", "runtime_rerun": false, "authored_translation": "source-derived-structured-summary", "source_facts_revision": "2cb7c97d7a0d7278851bbc9c61f467b69c094c72b81740b751108e7892ebe1f0"}, "sections": [{"code": "/* src/pl/plpython/plpython2u--1.0.sql */\n\n/*\n * Currently, all the interesting stuff is done by CREATE LANGUAGE.\n * Later we will probably \"dumb down\" that command and put more of the\n * knowledge into this script.\n */\n\nCREATE PROCEDURAL LANGUAGE plpython2u;\n\nCOMMENT ON PROCEDURAL LANGUAGE plpython2u IS 'PL/Python2U untrusted procedural language';", "title": "\u540c\u6784\u5efa\u6e90\u7801\u4e2d\u7684\u5b89\u88c5\u5b9a\u4e49", "paragraphs": ["\u6b64\u6269\u5c55\u968f\u6e90\u7801\u63d0\u4f9b\uff1b\u6536\u5f55\u5b83\u5e76\u4e0d\u8868\u793a\u5df2\u5b89\u88c5\u8be5\u8bed\u8a00\u6216\u5916\u90e8\u8fd0\u884c\u65f6\u3002"]}], "description_zh": "\u8fc7\u7a0b\u8bed\u8a00 plpython2u\u3002", "description_zh_html": "<p>\u8fc7\u7a0b\u8bed\u8a00 plpython2u\u3002</p><dl><dt>\u8fd0\u7b97\u7b26\u65cf</dt><dd><code>PL/Python</code></dd><dt>\u5904\u7406\u51fd\u6570</dt><dd><code>plpython2_call_handler</code></dd><dt>\u5e93</dt><dd><code>$libdir/plpython2</code></dd><dt>\u53d7\u4fe1\u4efb</dt><dd><code>\u5426</code></dd><dt>\u9a8c\u8bc1\u51fd\u6570</dt><dd><code>plpython2_validator</code></dd><dt>\u5185\u8054\u5904\u7406\u51fd\u6570</dt><dd><code>plpython2_inline_handler</code></dd><dt>\u9ed8\u8ba4\u7248\u672c</dt><dd><code>1.0</code></dd><dt>\u6a21\u5757\u8def\u5f84</dt><dd><code>$libdir/plpython2</code></dd></dl><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u8282\u9009</h3><p>\n<span class=\"application\">PL/Python</span> \u8fc7\u7a0b\u8bed\u8a00\u5141\u8bb8\u4f7f\u7528 <a class=\"ulink\" href=\"https://www.python.org\">Python \u8bed\u8a00</a>\u7f16\u5199 <span class=\"productname\">PostgreSQL</span> \u51fd\u6570\u548c\u8fc7\u7a0b\u3002\n </p><p>\n  \u8981\u5728\u7279\u5b9a\u6570\u636e\u5e93\u4e2d\u5b89\u88c5 PL/Python\uff0c\u53ef\u4f7f\u7528 <code class=\"literal\">CREATE EXTENSION plpythonu</code>\uff08\u53e6\u89c1<a class=\"xref\" href=\"/zh/docs/11/plpython.html#PLPYTHON-PYTHON23\">\u7b2c\u00a046.1\u00a0\u8282</a>\uff09\u3002\n </p><p>\n  PL/Python \u53ea\u80fd\u4f5c\u4e3a\u4e00\u79cd<span class=\"quote\">\u201c<span class=\"quote\">\u4e0d\u53d7\u4fe1\u4efb\u7684</span>\u201d</span>\u8bed\u8a00\u4f7f\u7528\uff0c\u8fd9\u610f\u5473\u7740\u5b83\u4e0d\u63d0\u4f9b\u4efb\u4f55\u673a\u5236\u6765\u9650\u5236\u7528\u6237\u80fd\u5728\u5176\u4e2d\u505a\u4ec0\u4e48\uff0c\u56e0\u6b64\u5176\u540d\u79f0\u4e3a <code class=\"literal\">plpythonu</code>\u3002\u5982\u679c\u5c06\u6765\u80fd\u5728 Python \u4e2d\u5f00\u53d1\u51fa\u5b89\u5168\u7684\u6267\u884c\u673a\u5236\uff0c\u53d7\u4fe1\u4efb\u7684\u53d8\u4f53 <code class=\"literal\">plpython</code> \u53ef\u80fd\u4f1a\u51fa\u73b0\u3002\u4f7f\u7528\u4e0d\u53d7\u4fe1\u4efb\u7684 PL/Python \u7f16\u5199\u51fd\u6570\u65f6\uff0c\u51fd\u6570\u7f16\u5199\u8005\u5fc5\u987b\u786e\u4fdd\u8be5\u51fd\u6570\u4e0d\u4f1a\u88ab\u7528\u6765\u505a\u4efb\u4f55\u4e0d\u5e0c\u671b\u53d1\u751f\u7684\u4e8b\u60c5\uff0c\u56e0\u4e3a\u5b83\u80fd\u591f\u505a\u5230\u4efb\u4f55\u4ee5\u6570\u636e\u5e93\u7ba1\u7406\u5458\u8eab\u4efd\u767b\u5f55\u7684\u7528\u6237\u6240\u80fd\u505a\u7684\u4e8b\u60c5\u3002\u53ea\u6709\u8d85\u7ea7\u7528\u6237\u624d\u80fd\u5728 <code class=\"literal\">plpythonu</code> \u8fd9\u7c7b\u4e0d\u53d7\u4fe1\u4efb\u7684\u8bed\u8a00\u4e2d\u521b\u5efa\u51fd\u6570\u3002\n </p><p><a href=\"/zh/docs/11/plpython.html\">\u67e5\u770b\u5b8c\u6574\u4e2d\u6587\u624b\u518c\u4e0e\u4e0a\u4e0b\u6587</a>\u3002</p>"}, "summary": "\u8fc7\u7a0b\u8bed\u8a00 plpython2u\u3002", "version": "11", "link_map": {"/zh/docs/11/plpython.html": "/docs/11/plpython.html", "/zh/docs/11/plpython.html#PLPYTHON-PYTHON23": "/docs/11/plpython.html#PLPYTHON-PYTHON23"}, "body_html": "<p>\u8fc7\u7a0b\u8bed\u8a00 plpython2u\u3002</p><dl><dt>\u8fd0\u7b97\u7b26\u65cf</dt><dd><code>PL/Python</code></dd><dt>\u5904\u7406\u51fd\u6570</dt><dd><code>plpython2_call_handler</code></dd><dt>\u5e93</dt><dd><code>$libdir/plpython2</code></dd><dt>\u53d7\u4fe1\u4efb</dt><dd><code>\u5426</code></dd><dt>\u9a8c\u8bc1\u51fd\u6570</dt><dd><code>plpython2_validator</code></dd><dt>\u5185\u8054\u5904\u7406\u51fd\u6570</dt><dd><code>plpython2_inline_handler</code></dd><dt>\u9ed8\u8ba4\u7248\u672c</dt><dd><code>1.0</code></dd><dt>\u6a21\u5757\u8def\u5f84</dt><dd><code>$libdir/plpython2</code></dd></dl><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u8282\u9009</h3><p>\n<span>PL/Python</span> \u8fc7\u7a0b\u8bed\u8a00\u5141\u8bb8\u4f7f\u7528 <a href=\"https://www.python.org\" rel=\"nofollow\">Python \u8bed\u8a00</a>\u7f16\u5199 <span>PostgreSQL</span> \u51fd\u6570\u548c\u8fc7\u7a0b\u3002\n </p><p>\n  \u8981\u5728\u7279\u5b9a\u6570\u636e\u5e93\u4e2d\u5b89\u88c5 PL/Python\uff0c\u53ef\u4f7f\u7528 <code>CREATE EXTENSION plpythonu</code>\uff08\u53e6\u89c1<a href=\"/zh/docs/11/plpython.html#PLPYTHON-PYTHON23\" rel=\"nofollow\">\u7b2c\u00a046.1\u00a0\u8282</a>\uff09\u3002\n </p><p>\n  PL/Python \u53ea\u80fd\u4f5c\u4e3a\u4e00\u79cd<span>\u201c<span>\u4e0d\u53d7\u4fe1\u4efb\u7684</span>\u201d</span>\u8bed\u8a00\u4f7f\u7528\uff0c\u8fd9\u610f\u5473\u7740\u5b83\u4e0d\u63d0\u4f9b\u4efb\u4f55\u673a\u5236\u6765\u9650\u5236\u7528\u6237\u80fd\u5728\u5176\u4e2d\u505a\u4ec0\u4e48\uff0c\u56e0\u6b64\u5176\u540d\u79f0\u4e3a <code>plpythonu</code>\u3002\u5982\u679c\u5c06\u6765\u80fd\u5728 Python \u4e2d\u5f00\u53d1\u51fa\u5b89\u5168\u7684\u6267\u884c\u673a\u5236\uff0c\u53d7\u4fe1\u4efb\u7684\u53d8\u4f53 <code>plpython</code> \u53ef\u80fd\u4f1a\u51fa\u73b0\u3002\u4f7f\u7528\u4e0d\u53d7\u4fe1\u4efb\u7684 PL/Python \u7f16\u5199\u51fd\u6570\u65f6\uff0c\u51fd\u6570\u7f16\u5199\u8005\u5fc5\u987b\u786e\u4fdd\u8be5\u51fd\u6570\u4e0d\u4f1a\u88ab\u7528\u6765\u505a\u4efb\u4f55\u4e0d\u5e0c\u671b\u53d1\u751f\u7684\u4e8b\u60c5\uff0c\u56e0\u4e3a\u5b83\u80fd\u591f\u505a\u5230\u4efb\u4f55\u4ee5\u6570\u636e\u5e93\u7ba1\u7406\u5458\u8eab\u4efd\u767b\u5f55\u7684\u7528\u6237\u6240\u80fd\u505a\u7684\u4e8b\u60c5\u3002\u53ea\u6709\u8d85\u7ea7\u7528\u6237\u624d\u80fd\u5728 <code>plpythonu</code> \u8fd9\u7c7b\u4e0d\u53d7\u4fe1\u4efb\u7684\u8bed\u8a00\u4e2d\u521b\u5efa\u51fd\u6570\u3002\n </p><p><a href=\"/zh/docs/11/plpython.html\" rel=\"nofollow\">\u67e5\u770b\u5b8c\u6574\u4e2d\u6587\u624b\u518c\u4e0e\u4e0a\u4e0b\u6587</a>\u3002</p>", "body_sha256": "2b2a400bed55da50eaf1d843668cd3ca927c709872c74745d48cf36bf2c1095d", "content_hash": "9368f2fedd0e0923ea50618cac6fcadf858383ba5e93fcede524e0e35b173967", "source_database": "center", "source_revision": "2cb7c97d7a0d7278851bbc9c61f467b69c094c72b81740b751108e7892ebe1f0"}, "signature": "", "tables_zh": [], "attributes": {"kind": "Bundled procedural-language variant", "family": "PL/Python", "comment": "PL/Python2U untrusted procedural language", "handler": "plpython2_call_handler", "library": "$libdir/plpython2", "trusted": "f", "validator": "plpython2_validator", "inline_handler": "plpython2_inline_handler", "default_version": "1.0", "module_pathname": "$libdir/plpython2"}, "description": ["\u8fc7\u7a0b\u8bed\u8a00 plpython2u\u3002"], "manual_html": "", "manual_path": "/docs/11/plpython.html", "sections_zh": [{"code": "/* src/pl/plpython/plpython2u--1.0.sql */\n\n/*\n * Currently, all the interesting stuff is done by CREATE LANGUAGE.\n * Later we will probably \"dumb down\" that command and put more of the\n * knowledge into this script.\n */\n\nCREATE PROCEDURAL LANGUAGE plpython2u;\n\nCOMMENT ON PROCEDURAL LANGUAGE plpython2u IS 'PL/Python2U untrusted procedural language';", "title": "\u540c\u6784\u5efa\u6e90\u7801\u4e2d\u7684\u5b89\u88c5\u5b9a\u4e49", "paragraphs": ["\u6b64\u6269\u5c55\u968f\u6e90\u7801\u63d0\u4f9b\uff1b\u6536\u5f55\u5b83\u5e76\u4e0d\u8868\u793a\u5df2\u5b89\u88c5\u8be5\u8bed\u8a00\u6216\u5916\u90e8\u8fd0\u884c\u65f6\u3002"]}], "localization": {"status": "complete", "sources": [{"url": "/docs/11/plpython-data.html", "method": "same-major semantic node", "sha256": "f92102890cb634e02ba0721d96e8cd0d1a586e73fd0f62dfd7222d4f2c738a1a", "language": "zh", "matched_nodes": ["page-title/h2"]}, {"url": "/docs/11/plpython-database.html", "method": "same-major semantic node", "sha256": "7faf93b18525108eb8d4e65c5b9e3e2858e432e17cae9a711c7b499371ca195b", "language": "zh", "matched_nodes": ["page-title/h2"]}, {"url": "/docs/11/plpython-do.html", "method": "same-major semantic node", "sha256": "63f82de5387305aef6106abec1707f807da3b448129785b91efd15dc76b89593", "language": "zh", "matched_nodes": ["page-title/h2"]}, {"url": "/docs/11/plpython-envar.html", "method": "same-major semantic node", "sha256": "d4baaf2fc2f94e5bc20672626b1f3afbd3ac6ed6d8a09ea613ba1162e1975e9f", "language": "zh", "matched_nodes": ["page-title/h2"]}, {"url": "/docs/11/plpython-funcs.html", "method": "same-major semantic node", "sha256": "d96f97154ad397c197f4e96699c6176591512204776d8bb385ca77391ade269a", "language": "zh", "matched_nodes": ["page-title/h2"]}, {"url": "/docs/11/plpython-sharing.html", "method": "same-major semantic node", "sha256": "08f876aaa9339c495c63e5c7679c86daf16c4dac89cb78c1fdfea27b16212434", "language": "zh", "matched_nodes": ["page-title/h2"]}, {"url": "/docs/11/plpython-subtransaction.html", "method": "same-major semantic node", "sha256": "d31579f22ab904df15ad65a186373e190ec27b416fc12aae1cf2e77006c2b4bb", "language": "zh", "matched_nodes": ["page-title/h2"]}, {"url": "/docs/11/plpython-transactions.html", "method": "same-major semantic node", "sha256": "b4df6796a02e70412a7d0f700db45a56c2c4721b9bfbf97e98a88f7e13b858e2", "language": "zh", "matched_nodes": ["page-title/h2"]}, {"url": "/docs/11/plpython-trigger.html", "method": "same-major semantic node", "sha256": "d00395b3146774ec69b97c79d7a61f59ecfd528c7aba3c265b28d7e03d5dd0ce", "language": "zh", "matched_nodes": ["page-title/h2"]}, {"url": "/docs/11/plpython-util.html", "method": "same-major semantic node", "sha256": "2141b62ee41f7cbf479ddc0cb8ca66177cbe07bd35acc1a2aac347eb5ce012d6", "language": "zh", "matched_nodes": ["page-title/h2"]}, {"url": "/docs/11/plpython.html", "method": "same-major semantic node", "sha256": "cf9a52450dce86ac9ba6ceffb5b8b7079c352787c6b17443e515ca8fa027e069", "language": "zh", "matched_nodes": ["#PLPYTHON/h3[0]", "#PLPYTHON/h3[1]", "#PLPYTHON/p[1]", "#PLPYTHON/p[2]", "#PLPYTHON/p[3]", "#PLPYTHON/p[4]", "#PLPYTHON/p[5]"]}], "language": "zh", "original_text": {"/versions/11/description/0": "PL/Python2U untrusted procedural language", "/versions/11/facts/0/label": "Kind", "/versions/11/facts/0/value": "Bundled procedural-language variant", "/versions/11/facts/1/label": "Family", "/versions/11/facts/2/label": "Trusted", "/versions/11/facts/3/label": "Handler", "/versions/11/facts/4/label": "Inline handler", "/versions/11/facts/5/label": "Validator", "/versions/11/facts/6/label": "Library", "/versions/11/facts/7/label": "Default version", "/versions/11/facts/8/label": "Module pathname", "/versions/11/facts/9/label": "Comment", "/versions/11/facts/9/value": "PL/Python2U untrusted procedural language", "/versions/11/related/0/label": "plpython-data", "/versions/11/related/1/label": "plpython-database", "/versions/11/related/2/label": "plpython-do", "/versions/11/related/3/label": "plpython-envar", "/versions/11/related/4/label": "plpython-funcs", "/versions/11/related/6/label": "plpython-sharing", "/versions/11/related/7/label": "plpython-subtransaction", "/versions/11/related/8/label": "plpython-transactions", "/versions/11/related/9/label": "plpython-trigger", "/versions/11/related/10/label": "plpython-util", "/versions/11/sections/0/title": "Installation definition from the matching source archive", "/versions/11/sections/0/paragraphs/0": "This extension is shipped with the source. Its presence does not establish that the language or external runtime is installed."}, "fallback_fields": [], "source_language": "en", "original_snapshot_sha256": "9c8c19ee15b9f32986792e8ae898a593192ce2570c69e2f1e79b84bd0075ca40", "canonical_center_text_hash": "9368f2fedd0e0923ea50618cac6fcadf858383ba5e93fcede524e0e35b173967"}, "source_files": {"src/pl/plpython/plpython2u.control": "c09792a1d7b0e512559e1c4c72b0c3e1ab0bf37b85dd5c8ebec16e0c3b333209", "src/pl/plpython/plpython2u--1.0.sql": "8a526d5cefc57917393eff8a5a1ce4d468affb31c1e63de71a6cd57cdf2575cf"}, "description_zh": "\u8fc7\u7a0b\u8bed\u8a00 plpython2u\u3002", "comparison_data": {"kind": "Bundled procedural-language variant", "family": "PL/Python", "handler": "plpython2_call_handler", "library": "$libdir/plpython2", "trusted": "f", "validator": "plpython2_validator", "inline_handler": "plpython2_inline_handler", "default_version": "1.0"}, "comparison_hash": "97802e2b3133abfc2be638d7f109df527604bcc726c8a2ce9fdc47a82b753410", "manual_language": "zh", "description_zh_html": "<p>\u8fc7\u7a0b\u8bed\u8a00 plpython2u\u3002</p><dl><dt>\u8fd0\u7b97\u7b26\u65cf</dt><dd><code>PL/Python</code></dd><dt>\u5904\u7406\u51fd\u6570</dt><dd><code>plpython2_call_handler</code></dd><dt>\u5e93</dt><dd><code>$libdir/plpython2</code></dd><dt>\u53d7\u4fe1\u4efb</dt><dd><code>\u5426</code></dd><dt>\u9a8c\u8bc1\u51fd\u6570</dt><dd><code>plpython2_validator</code></dd><dt>\u5185\u8054\u5904\u7406\u51fd\u6570</dt><dd><code>plpython2_inline_handler</code></dd><dt>\u9ed8\u8ba4\u7248\u672c</dt><dd><code>1.0</code></dd><dt>\u6a21\u5757\u8def\u5f84</dt><dd><code>$libdir/plpython2</code></dd></dl><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u8282\u9009</h3><p>\n<span>PL/Python</span> \u8fc7\u7a0b\u8bed\u8a00\u5141\u8bb8\u4f7f\u7528 <a href=\"https://www.python.org\" rel=\"nofollow\">Python \u8bed\u8a00</a>\u7f16\u5199 <span>PostgreSQL</span> \u51fd\u6570\u548c\u8fc7\u7a0b\u3002\n </p><p>\n  \u8981\u5728\u7279\u5b9a\u6570\u636e\u5e93\u4e2d\u5b89\u88c5 PL/Python\uff0c\u53ef\u4f7f\u7528 <code>CREATE EXTENSION plpythonu</code>\uff08\u53e6\u89c1<a href=\"/zh/docs/11/plpython.html#PLPYTHON-PYTHON23\" rel=\"nofollow\">\u7b2c\u00a046.1\u00a0\u8282</a>\uff09\u3002\n </p><p>\n  PL/Python \u53ea\u80fd\u4f5c\u4e3a\u4e00\u79cd<span>\u201c<span>\u4e0d\u53d7\u4fe1\u4efb\u7684</span>\u201d</span>\u8bed\u8a00\u4f7f\u7528\uff0c\u8fd9\u610f\u5473\u7740\u5b83\u4e0d\u63d0\u4f9b\u4efb\u4f55\u673a\u5236\u6765\u9650\u5236\u7528\u6237\u80fd\u5728\u5176\u4e2d\u505a\u4ec0\u4e48\uff0c\u56e0\u6b64\u5176\u540d\u79f0\u4e3a <code>plpythonu</code>\u3002\u5982\u679c\u5c06\u6765\u80fd\u5728 Python \u4e2d\u5f00\u53d1\u51fa\u5b89\u5168\u7684\u6267\u884c\u673a\u5236\uff0c\u53d7\u4fe1\u4efb\u7684\u53d8\u4f53 <code>plpython</code> \u53ef\u80fd\u4f1a\u51fa\u73b0\u3002\u4f7f\u7528\u4e0d\u53d7\u4fe1\u4efb\u7684 PL/Python \u7f16\u5199\u51fd\u6570\u65f6\uff0c\u51fd\u6570\u7f16\u5199\u8005\u5fc5\u987b\u786e\u4fdd\u8be5\u51fd\u6570\u4e0d\u4f1a\u88ab\u7528\u6765\u505a\u4efb\u4f55\u4e0d\u5e0c\u671b\u53d1\u751f\u7684\u4e8b\u60c5\uff0c\u56e0\u4e3a\u5b83\u80fd\u591f\u505a\u5230\u4efb\u4f55\u4ee5\u6570\u636e\u5e93\u7ba1\u7406\u5458\u8eab\u4efd\u767b\u5f55\u7684\u7528\u6237\u6240\u80fd\u505a\u7684\u4e8b\u60c5\u3002\u53ea\u6709\u8d85\u7ea7\u7528\u6237\u624d\u80fd\u5728 <code>plpythonu</code> \u8fd9\u7c7b\u4e0d\u53d7\u4fe1\u4efb\u7684\u8bed\u8a00\u4e2d\u521b\u5efa\u51fd\u6570\u3002\n </p><p><a href=\"/zh/docs/11/plpython.html\" rel=\"nofollow\">\u67e5\u770b\u5b8c\u6574\u4e2d\u6587\u624b\u518c\u4e0e\u4e0a\u4e0b\u6587</a>\u3002</p>"}, "12": {"facts": [{"label": "\u79cd\u7c7b", "value": "\u968f\u6e90\u7801\u63d0\u4f9b\u7684\u8fc7\u7a0b\u8bed\u8a00\u53d8\u4f53"}, {"label": "\u64cd\u4f5c\u7b26\u5bb6\u65cf", "value": "PL/Python"}, {"label": "\u53ef\u4fe1", "value": "f"}, {"label": "\u5904\u7406\u51fd\u6570", "value": "plpython2_call_handler"}, {"label": "\u5185\u8054\u4ee3\u7801\u5904\u7406\u51fd\u6570", "value": "plpython2_inline_handler"}, {"label": "\u6821\u9a8c\u51fd\u6570", "value": "plpython2_validator"}, {"label": "\u5e93", "value": "$libdir/plpython2"}, {"label": "\u9ed8\u8ba4\u7248\u672c", "value": "1.0"}, {"label": "\u6a21\u5757\u8def\u5f84", "value": "$libdir/plpython2"}, {"label": "\u6ce8\u91ca", "value": "PL/Python2U \u975e\u53ef\u4fe1\u8fc7\u7a0b\u8bed\u8a00"}], "tables": [], "aliases": [], "related": [{"url": "/docs/12/plpython-data.html", "label": "\u6570\u636e\u503c"}, {"url": "/docs/12/plpython-database.html", "label": "\u6570\u636e\u5e93\u8bbf\u95ee"}, {"url": "/docs/12/plpython-do.html", "label": "\u533f\u540d\u4ee3\u7801\u5757"}, {"url": "/docs/12/plpython-envar.html", "label": "\u73af\u5883\u53d8\u91cf"}, {"url": "/docs/12/plpython-funcs.html", "label": "PL/Python \u51fd\u6570"}, {"url": "/docs/12/plpython-python23.html", "label": "plpython-python23"}, {"url": "/docs/12/plpython-sharing.html", "label": "\u5171\u4eab\u6570\u636e"}, {"url": "/docs/12/plpython-subtransaction.html", "label": "\u663e\u5f0f\u5b50\u4e8b\u52a1"}, {"url": "/docs/12/plpython-transactions.html", "label": "\u4e8b\u52a1\u7ba1\u7406"}, {"url": "/docs/12/plpython-trigger.html", "label": "\u89e6\u53d1\u5668\u51fd\u6570"}, {"url": "/docs/12/plpython-util.html", "label": "\u8f85\u52a9\u51fd\u6570"}], "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/plpython.html", "path": "plpython.html", "label": "PostgreSQL 12 English manual", "sha256": "0f4eac1e31aff3e6ae5dc99e7bc6c34c50ab44222ab12d1c578a86ea5af19a33"}], "zh_from": {"kind": "same-version-chinese-manual-with-source-derived-structured-summary", "manual": {"url": "/zh/docs/12/plpython.html", "anchor": "", "locale": "zh-Hans", "version": "12", "build_id": 65, "page_key": "plpython.html", "extraction": "concept-introduction", "source_hash": "fc45ab533e86574c5513a9ca8c4b2404cbb2fe4e4a727c70a84d0b49dd6549a1", "fragment_sha256": "11683c78fa3b42e1bf9455613c09a44a05f577189c7f4e4d5fd68dfb09c45b9f", "source_revision": "unknown:rendered-translation-baseline", "translation_revision": "snapshot:sha256:86d2ff781f93e1de17122ebc514d5e64fcb63fed15941f496d7e146c6dcc7a49", "translated_from_revision": null}, "body_sha256": "782ae9b1db2dbb6f558697dc096c9a646c45d6c628c99a302028f3de2c08f205", "runtime_rerun": false, "authored_translation": "source-derived-structured-summary", "source_facts_revision": "8df3c0474782589d3c6f374b5133b1bd14d168086edbc13c6e72e67dd4527a3b"}, "facts_zh": [{"label": "\u79cd\u7c7b", "value": "\u968f\u6e90\u7801\u63d0\u4f9b\u7684\u8fc7\u7a0b\u8bed\u8a00\u53d8\u4f53"}, {"label": "\u64cd\u4f5c\u7b26\u5bb6\u65cf", "value": "PL/Python"}, {"label": "\u53ef\u4fe1", "value": "f"}, {"label": "\u5904\u7406\u51fd\u6570", "value": "plpython2_call_handler"}, {"label": "\u5185\u8054\u4ee3\u7801\u5904\u7406\u51fd\u6570", "value": "plpython2_inline_handler"}, {"label": "\u6821\u9a8c\u51fd\u6570", "value": "plpython2_validator"}, {"label": "\u5e93", "value": "$libdir/plpython2"}, {"label": "\u9ed8\u8ba4\u7248\u672c", "value": "1.0"}, {"label": "\u6a21\u5757\u8def\u5f84", "value": "$libdir/plpython2"}, {"label": "\u6ce8\u91ca", "value": "PL/Python2U \u975e\u53ef\u4fe1\u8fc7\u7a0b\u8bed\u8a00"}], "sections": [{"code": "/* src/pl/plpython/plpython2u--1.0.sql */\n\n/*\n * Currently, all the interesting stuff is done by CREATE LANGUAGE.\n * Later we will probably \"dumb down\" that command and put more of the\n * knowledge into this script.\n */\n\nCREATE LANGUAGE plpython2u;\n\nCOMMENT ON LANGUAGE plpython2u IS 'PL/Python2U untrusted procedural language';", "title": "\u540c\u6784\u5efa\u6e90\u7801\u4e2d\u7684\u5b89\u88c5\u5b9a\u4e49", "paragraphs": ["\u6b64\u6269\u5c55\u968f\u6e90\u7801\u63d0\u4f9b\uff1b\u6536\u5f55\u5b83\u5e76\u4e0d\u8868\u793a\u5df2\u5b89\u88c5\u8be5\u8bed\u8a00\u6216\u5916\u90e8\u8fd0\u884c\u65f6\u3002"]}], "center_zh": {"title": "plpython2u", "locale": "zh-Hans", "source": {"key": "plpython2u", "locale": "zh-Hans", "version": "12", "text_hash": "5de83080b617dbff3d5e2b4e4abc71f62a65f9a417e8db7408ce1ccd75cdba3a", "collection": "language", "dataset_hash": "7c31b524dfe136022d39a6ae8dcfac6b3bbd5f8fdaf422536599981252aff0c9", "source_database": "center", "source_revision": "8df3c0474782589d3c6f374b5133b1bd14d168086edbc13c6e72e67dd4527a3b"}, "payload": {"facts": [{"label": "\u79cd\u7c7b", "value": "\u968f\u6e90\u7801\u63d0\u4f9b\u7684\u8fc7\u7a0b\u8bed\u8a00\u53d8\u4f53"}, {"label": "\u64cd\u4f5c\u7b26\u5bb6\u65cf", "value": "PL/Python"}, {"label": "\u53ef\u4fe1", "value": "f"}, {"label": "\u5904\u7406\u51fd\u6570", "value": "plpython2_call_handler"}, {"label": "\u5185\u8054\u4ee3\u7801\u5904\u7406\u51fd\u6570", "value": "plpython2_inline_handler"}, {"label": "\u6821\u9a8c\u51fd\u6570", "value": "plpython2_validator"}, {"label": "\u5e93", "value": "$libdir/plpython2"}, {"label": "\u9ed8\u8ba4\u7248\u672c", "value": "1.0"}, {"label": "\u6a21\u5757\u8def\u5f84", "value": "$libdir/plpython2"}, {"label": "\u6ce8\u91ca", "value": "PL/Python2U \u975e\u53ef\u4fe1\u8fc7\u7a0b\u8bed\u8a00"}], "tables": [], "zh_from": {"kind": "same-version-chinese-manual-with-source-derived-structured-summary", "manual": {"url": "/zh/docs/12/plpython.html", "anchor": "", "locale": "zh-Hans", "version": "12", "build_id": 65, "page_key": "plpython.html", "extraction": "concept-introduction", "source_hash": "fc45ab533e86574c5513a9ca8c4b2404cbb2fe4e4a727c70a84d0b49dd6549a1", "fragment_sha256": "11683c78fa3b42e1bf9455613c09a44a05f577189c7f4e4d5fd68dfb09c45b9f", "source_revision": "unknown:rendered-translation-baseline", "translation_revision": "snapshot:sha256:86d2ff781f93e1de17122ebc514d5e64fcb63fed15941f496d7e146c6dcc7a49", "translated_from_revision": null}, "body_sha256": "782ae9b1db2dbb6f558697dc096c9a646c45d6c628c99a302028f3de2c08f205", "runtime_rerun": false, "authored_translation": "source-derived-structured-summary", "source_facts_revision": "8df3c0474782589d3c6f374b5133b1bd14d168086edbc13c6e72e67dd4527a3b"}, "sections": [{"code": "/* src/pl/plpython/plpython2u--1.0.sql */\n\n/*\n * Currently, all the interesting stuff is done by CREATE LANGUAGE.\n * Later we will probably \"dumb down\" that command and put more of the\n * knowledge into this script.\n */\n\nCREATE LANGUAGE plpython2u;\n\nCOMMENT ON LANGUAGE plpython2u IS 'PL/Python2U untrusted procedural language';", "title": "\u540c\u6784\u5efa\u6e90\u7801\u4e2d\u7684\u5b89\u88c5\u5b9a\u4e49", "paragraphs": ["\u6b64\u6269\u5c55\u968f\u6e90\u7801\u63d0\u4f9b\uff1b\u6536\u5f55\u5b83\u5e76\u4e0d\u8868\u793a\u5df2\u5b89\u88c5\u8be5\u8bed\u8a00\u6216\u5916\u90e8\u8fd0\u884c\u65f6\u3002"]}], "description_zh": "\u8fc7\u7a0b\u8bed\u8a00 plpython2u\u3002", "description_zh_html": "<p>\u8fc7\u7a0b\u8bed\u8a00 plpython2u\u3002</p><dl><dt>\u8fd0\u7b97\u7b26\u65cf</dt><dd><code>PL/Python</code></dd><dt>\u5904\u7406\u51fd\u6570</dt><dd><code>plpython2_call_handler</code></dd><dt>\u5e93</dt><dd><code>$libdir/plpython2</code></dd><dt>\u53d7\u4fe1\u4efb</dt><dd><code>\u5426</code></dd><dt>\u9a8c\u8bc1\u51fd\u6570</dt><dd><code>plpython2_validator</code></dd><dt>\u5185\u8054\u5904\u7406\u51fd\u6570</dt><dd><code>plpython2_inline_handler</code></dd><dt>\u9ed8\u8ba4\u7248\u672c</dt><dd><code>1.0</code></dd><dt>\u6a21\u5757\u8def\u5f84</dt><dd><code>$libdir/plpython2</code></dd></dl><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u8282\u9009</h3><p>\n<span class=\"application\">PL/Python</span> \u8fc7\u7a0b\u8bed\u8a00\u5141\u8bb8\u4f7f\u7528 <a class=\"ulink\" href=\"https://www.python.org\">Python \u8bed\u8a00</a>\u7f16\u5199 <span class=\"productname\">PostgreSQL</span> \u51fd\u6570\u548c\u8fc7\u7a0b\u3002\n </p><p>\n  \u8981\u5728\u7279\u5b9a\u6570\u636e\u5e93\u4e2d\u5b89\u88c5 PL/Python\uff0c\u53ef\u4f7f\u7528 <code class=\"literal\">CREATE EXTENSION plpythonu</code>\uff08\u53e6\u89c1<a class=\"xref\" href=\"/zh/docs/12/plpython.html#PLPYTHON-PYTHON23\">\u7b2c\u00a045.1\u00a0\u8282</a>\uff09\u3002\n </p><p>\n  PL/Python \u53ea\u80fd\u4f5c\u4e3a\u4e00\u79cd<span class=\"quote\">\u201c<span class=\"quote\">\u4e0d\u53d7\u4fe1\u4efb\u7684</span>\u201d</span>\u8bed\u8a00\u4f7f\u7528\uff0c\u8fd9\u610f\u5473\u7740\u5b83\u4e0d\u63d0\u4f9b\u4efb\u4f55\u673a\u5236\u6765\u9650\u5236\u7528\u6237\u80fd\u5728\u5176\u4e2d\u505a\u4ec0\u4e48\uff0c\u56e0\u6b64\u5176\u540d\u79f0\u4e3a <code class=\"literal\">plpythonu</code>\u3002\u5982\u679c\u5c06\u6765\u80fd\u5728 Python \u4e2d\u5f00\u53d1\u51fa\u5b89\u5168\u7684\u6267\u884c\u673a\u5236\uff0c\u53d7\u4fe1\u4efb\u7684\u53d8\u4f53 <code class=\"literal\">plpython</code> \u53ef\u80fd\u4f1a\u51fa\u73b0\u3002\u4f7f\u7528\u4e0d\u53d7\u4fe1\u4efb\u7684 PL/Python \u7f16\u5199\u51fd\u6570\u65f6\uff0c\u51fd\u6570\u7f16\u5199\u8005\u5fc5\u987b\u786e\u4fdd\u8be5\u51fd\u6570\u4e0d\u4f1a\u88ab\u7528\u6765\u505a\u4efb\u4f55\u4e0d\u5e0c\u671b\u53d1\u751f\u7684\u4e8b\u60c5\uff0c\u56e0\u4e3a\u5b83\u80fd\u591f\u505a\u5230\u4efb\u4f55\u4ee5\u6570\u636e\u5e93\u7ba1\u7406\u5458\u8eab\u4efd\u767b\u5f55\u7684\u7528\u6237\u6240\u80fd\u505a\u7684\u4e8b\u60c5\u3002\u53ea\u6709\u8d85\u7ea7\u7528\u6237\u624d\u80fd\u5728 <code class=\"literal\">plpythonu</code> \u8fd9\u7c7b\u4e0d\u53d7\u4fe1\u4efb\u7684\u8bed\u8a00\u4e2d\u521b\u5efa\u51fd\u6570\u3002\n </p><p><a href=\"/zh/docs/12/plpython.html\">\u67e5\u770b\u5b8c\u6574\u4e2d\u6587\u624b\u518c\u4e0e\u4e0a\u4e0b\u6587</a>\u3002</p>"}, "summary": "\u8fc7\u7a0b\u8bed\u8a00 plpython2u\u3002", "version": "12", "link_map": {"/zh/docs/12/plpython.html": "/docs/12/plpython.html", "/zh/docs/12/plpython.html#PLPYTHON-PYTHON23": "/docs/12/plpython.html#PLPYTHON-PYTHON23"}, "body_html": "<p>\u8fc7\u7a0b\u8bed\u8a00 plpython2u\u3002</p><dl><dt>\u8fd0\u7b97\u7b26\u65cf</dt><dd><code>PL/Python</code></dd><dt>\u5904\u7406\u51fd\u6570</dt><dd><code>plpython2_call_handler</code></dd><dt>\u5e93</dt><dd><code>$libdir/plpython2</code></dd><dt>\u53d7\u4fe1\u4efb</dt><dd><code>\u5426</code></dd><dt>\u9a8c\u8bc1\u51fd\u6570</dt><dd><code>plpython2_validator</code></dd><dt>\u5185\u8054\u5904\u7406\u51fd\u6570</dt><dd><code>plpython2_inline_handler</code></dd><dt>\u9ed8\u8ba4\u7248\u672c</dt><dd><code>1.0</code></dd><dt>\u6a21\u5757\u8def\u5f84</dt><dd><code>$libdir/plpython2</code></dd></dl><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u8282\u9009</h3><p>\n<span>PL/Python</span> \u8fc7\u7a0b\u8bed\u8a00\u5141\u8bb8\u4f7f\u7528 <a href=\"https://www.python.org\" rel=\"nofollow\">Python \u8bed\u8a00</a>\u7f16\u5199 <span>PostgreSQL</span> \u51fd\u6570\u548c\u8fc7\u7a0b\u3002\n </p><p>\n  \u8981\u5728\u7279\u5b9a\u6570\u636e\u5e93\u4e2d\u5b89\u88c5 PL/Python\uff0c\u53ef\u4f7f\u7528 <code>CREATE EXTENSION plpythonu</code>\uff08\u53e6\u89c1<a href=\"/zh/docs/12/plpython.html#PLPYTHON-PYTHON23\" rel=\"nofollow\">\u7b2c\u00a045.1\u00a0\u8282</a>\uff09\u3002\n </p><p>\n  PL/Python \u53ea\u80fd\u4f5c\u4e3a\u4e00\u79cd<span>\u201c<span>\u4e0d\u53d7\u4fe1\u4efb\u7684</span>\u201d</span>\u8bed\u8a00\u4f7f\u7528\uff0c\u8fd9\u610f\u5473\u7740\u5b83\u4e0d\u63d0\u4f9b\u4efb\u4f55\u673a\u5236\u6765\u9650\u5236\u7528\u6237\u80fd\u5728\u5176\u4e2d\u505a\u4ec0\u4e48\uff0c\u56e0\u6b64\u5176\u540d\u79f0\u4e3a <code>plpythonu</code>\u3002\u5982\u679c\u5c06\u6765\u80fd\u5728 Python \u4e2d\u5f00\u53d1\u51fa\u5b89\u5168\u7684\u6267\u884c\u673a\u5236\uff0c\u53d7\u4fe1\u4efb\u7684\u53d8\u4f53 <code>plpython</code> \u53ef\u80fd\u4f1a\u51fa\u73b0\u3002\u4f7f\u7528\u4e0d\u53d7\u4fe1\u4efb\u7684 PL/Python \u7f16\u5199\u51fd\u6570\u65f6\uff0c\u51fd\u6570\u7f16\u5199\u8005\u5fc5\u987b\u786e\u4fdd\u8be5\u51fd\u6570\u4e0d\u4f1a\u88ab\u7528\u6765\u505a\u4efb\u4f55\u4e0d\u5e0c\u671b\u53d1\u751f\u7684\u4e8b\u60c5\uff0c\u56e0\u4e3a\u5b83\u80fd\u591f\u505a\u5230\u4efb\u4f55\u4ee5\u6570\u636e\u5e93\u7ba1\u7406\u5458\u8eab\u4efd\u767b\u5f55\u7684\u7528\u6237\u6240\u80fd\u505a\u7684\u4e8b\u60c5\u3002\u53ea\u6709\u8d85\u7ea7\u7528\u6237\u624d\u80fd\u5728 <code>plpythonu</code> \u8fd9\u7c7b\u4e0d\u53d7\u4fe1\u4efb\u7684\u8bed\u8a00\u4e2d\u521b\u5efa\u51fd\u6570\u3002\n </p><p><a href=\"/zh/docs/12/plpython.html\" rel=\"nofollow\">\u67e5\u770b\u5b8c\u6574\u4e2d\u6587\u624b\u518c\u4e0e\u4e0a\u4e0b\u6587</a>\u3002</p>", "body_sha256": "04698eb45b4ffe90b6d64ce7e3845585f407b62268e40f4f71f50a75b53585c6", "content_hash": "5de83080b617dbff3d5e2b4e4abc71f62a65f9a417e8db7408ce1ccd75cdba3a", "source_database": "center", "source_revision": "8df3c0474782589d3c6f374b5133b1bd14d168086edbc13c6e72e67dd4527a3b"}, "signature": "", "tables_zh": [], "attributes": {"kind": "Bundled procedural-language variant", "family": "PL/Python", "comment": "PL/Python2U untrusted procedural language", "handler": "plpython2_call_handler", "library": "$libdir/plpython2", "trusted": "f", "validator": "plpython2_validator", "inline_handler": "plpython2_inline_handler", "default_version": "1.0", "module_pathname": "$libdir/plpython2"}, "description": ["\u8fc7\u7a0b\u8bed\u8a00 plpython2u\u3002"], "manual_html": "", "manual_path": "/docs/12/plpython.html", "sections_zh": [{"code": "/* src/pl/plpython/plpython2u--1.0.sql */\n\n/*\n * Currently, all the interesting stuff is done by CREATE LANGUAGE.\n * Later we will probably \"dumb down\" that command and put more of the\n * knowledge into this script.\n */\n\nCREATE LANGUAGE plpython2u;\n\nCOMMENT ON LANGUAGE plpython2u IS 'PL/Python2U untrusted procedural language';", "title": "\u540c\u6784\u5efa\u6e90\u7801\u4e2d\u7684\u5b89\u88c5\u5b9a\u4e49", "paragraphs": ["\u6b64\u6269\u5c55\u968f\u6e90\u7801\u63d0\u4f9b\uff1b\u6536\u5f55\u5b83\u5e76\u4e0d\u8868\u793a\u5df2\u5b89\u88c5\u8be5\u8bed\u8a00\u6216\u5916\u90e8\u8fd0\u884c\u65f6\u3002"]}], "localization": {"status": "complete", "sources": [{"url": "/docs/12/plpython-data.html", "method": "same-major semantic node", "sha256": "f488f6a97b1e71e55099632c70b2e892e379860e411936a8f03ceca1c4242cba", "language": "zh", "matched_nodes": ["page-title/h2"]}, {"url": "/docs/12/plpython-database.html", "method": "same-major semantic node", "sha256": "227b2f7bab7b22723ecb31a2982f3bb0e17ec5adfe3f57ece8bd42a5b5ea1211", "language": "zh", "matched_nodes": ["page-title/h2"]}, {"url": "/docs/12/plpython-do.html", "method": "same-major semantic node", "sha256": "e82e58583d85d3405630258e84a6df4715b5e279a8a242cfd5f2711a915b76cd", "language": "zh", "matched_nodes": ["page-title/h2"]}, {"url": "/docs/12/plpython-envar.html", "method": "same-major semantic node", "sha256": "263862906618d35847ea9e43f868acb389948451e767bbc3063cc47fa3a435e9", "language": "zh", "matched_nodes": ["page-title/h2"]}, {"url": "/docs/12/plpython-funcs.html", "method": "same-major semantic node", "sha256": "9ab95ab6c02878133a3e726e905bcff5878f671ca99ac3fb0cb6eef3c6bf23ad", "language": "zh", "matched_nodes": ["page-title/h2"]}, {"url": "/docs/12/plpython-sharing.html", "method": "same-major semantic node", "sha256": "db900924b34cda6c270aa5f9d9bd38632be3c5a809a4e2708565c83ea8693cc0", "language": "zh", "matched_nodes": ["page-title/h2"]}, {"url": "/docs/12/plpython-subtransaction.html", "method": "same-major semantic node", "sha256": "72ec295c7ff674969736baf432bc277dfb928b86eefbe45fad7e19394aaaf995", "language": "zh", "matched_nodes": ["page-title/h2"]}, {"url": "/docs/12/plpython-transactions.html", "method": "same-major semantic node", "sha256": "c2625b4550bc0cc580cfa25ed44853132ff01b962456183daba0b5f5ac960550", "language": "zh", "matched_nodes": ["page-title/h2"]}, {"url": "/docs/12/plpython-trigger.html", "method": "same-major semantic node", "sha256": "05cc3497f6ddfd3880efbcc02354f50df0f9efb4e6ca29477b3d10ce281e88e4", "language": "zh", "matched_nodes": ["page-title/h2"]}, {"url": "/docs/12/plpython-util.html", "method": "same-major semantic node", "sha256": "e89b618bd7153fedca316861c59cbf1031794fd4498f3b57d33b3ce66b9465ac", "language": "zh", "matched_nodes": ["page-title/h2"]}, {"url": "/docs/12/plpython.html", "method": "same-major semantic node", "sha256": "84fcb5aa6ae3d590e33266bd30f128007ff28c9d454ece03e444b272e79c0c5a", "language": "zh", "matched_nodes": ["#PLPYTHON/h3[0]", "#PLPYTHON/h3[1]", "#PLPYTHON/p[1]", "#PLPYTHON/p[2]", "#PLPYTHON/p[3]", "#PLPYTHON/p[4]", "#PLPYTHON/p[5]"]}], "language": "zh", "original_text": {"/versions/12/description/0": "PL/Python2U untrusted procedural language", "/versions/12/facts/0/label": "Kind", "/versions/12/facts/0/value": "Bundled procedural-language variant", "/versions/12/facts/1/label": "Family", "/versions/12/facts/2/label": "Trusted", "/versions/12/facts/3/label": "Handler", "/versions/12/facts/4/label": "Inline handler", "/versions/12/facts/5/label": "Validator", "/versions/12/facts/6/label": "Library", "/versions/12/facts/7/label": "Default version", "/versions/12/facts/8/label": "Module pathname", "/versions/12/facts/9/label": "Comment", "/versions/12/facts/9/value": "PL/Python2U untrusted procedural language", "/versions/12/related/0/label": "plpython-data", "/versions/12/related/1/label": "plpython-database", "/versions/12/related/2/label": "plpython-do", "/versions/12/related/3/label": "plpython-envar", "/versions/12/related/4/label": "plpython-funcs", "/versions/12/related/6/label": "plpython-sharing", "/versions/12/related/7/label": "plpython-subtransaction", "/versions/12/related/8/label": "plpython-transactions", "/versions/12/related/9/label": "plpython-trigger", "/versions/12/related/10/label": "plpython-util", "/versions/12/sections/0/title": "Installation definition from the matching source archive", "/versions/12/sections/0/paragraphs/0": "This extension is shipped with the source. Its presence does not establish that the language or external runtime is installed."}, "fallback_fields": [], "source_language": "en", "original_snapshot_sha256": "dd9556387d68feafeb627b945382b5256057f003711f92b3e293bdc010471d02", "canonical_center_text_hash": "5de83080b617dbff3d5e2b4e4abc71f62a65f9a417e8db7408ce1ccd75cdba3a"}, "source_files": {"src/pl/plpython/plpython2u.control": "c09792a1d7b0e512559e1c4c72b0c3e1ab0bf37b85dd5c8ebec16e0c3b333209", "src/pl/plpython/plpython2u--1.0.sql": "58b7c3fcd5335fb56b4138a645975e53d6fd663b39b631a605fd0ae915b95daa"}, "description_zh": "\u8fc7\u7a0b\u8bed\u8a00 plpython2u\u3002", "comparison_data": {"kind": "Bundled procedural-language variant", "family": "PL/Python", "handler": "plpython2_call_handler", "library": "$libdir/plpython2", "trusted": "f", "validator": "plpython2_validator", "inline_handler": "plpython2_inline_handler", "default_version": "1.0"}, "comparison_hash": "97802e2b3133abfc2be638d7f109df527604bcc726c8a2ce9fdc47a82b753410", "manual_language": "zh", "description_zh_html": "<p>\u8fc7\u7a0b\u8bed\u8a00 plpython2u\u3002</p><dl><dt>\u8fd0\u7b97\u7b26\u65cf</dt><dd><code>PL/Python</code></dd><dt>\u5904\u7406\u51fd\u6570</dt><dd><code>plpython2_call_handler</code></dd><dt>\u5e93</dt><dd><code>$libdir/plpython2</code></dd><dt>\u53d7\u4fe1\u4efb</dt><dd><code>\u5426</code></dd><dt>\u9a8c\u8bc1\u51fd\u6570</dt><dd><code>plpython2_validator</code></dd><dt>\u5185\u8054\u5904\u7406\u51fd\u6570</dt><dd><code>plpython2_inline_handler</code></dd><dt>\u9ed8\u8ba4\u7248\u672c</dt><dd><code>1.0</code></dd><dt>\u6a21\u5757\u8def\u5f84</dt><dd><code>$libdir/plpython2</code></dd></dl><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u8282\u9009</h3><p>\n<span>PL/Python</span> \u8fc7\u7a0b\u8bed\u8a00\u5141\u8bb8\u4f7f\u7528 <a href=\"https://www.python.org\" rel=\"nofollow\">Python \u8bed\u8a00</a>\u7f16\u5199 <span>PostgreSQL</span> \u51fd\u6570\u548c\u8fc7\u7a0b\u3002\n </p><p>\n  \u8981\u5728\u7279\u5b9a\u6570\u636e\u5e93\u4e2d\u5b89\u88c5 PL/Python\uff0c\u53ef\u4f7f\u7528 <code>CREATE EXTENSION plpythonu</code>\uff08\u53e6\u89c1<a href=\"/zh/docs/12/plpython.html#PLPYTHON-PYTHON23\" rel=\"nofollow\">\u7b2c\u00a045.1\u00a0\u8282</a>\uff09\u3002\n </p><p>\n  PL/Python \u53ea\u80fd\u4f5c\u4e3a\u4e00\u79cd<span>\u201c<span>\u4e0d\u53d7\u4fe1\u4efb\u7684</span>\u201d</span>\u8bed\u8a00\u4f7f\u7528\uff0c\u8fd9\u610f\u5473\u7740\u5b83\u4e0d\u63d0\u4f9b\u4efb\u4f55\u673a\u5236\u6765\u9650\u5236\u7528\u6237\u80fd\u5728\u5176\u4e2d\u505a\u4ec0\u4e48\uff0c\u56e0\u6b64\u5176\u540d\u79f0\u4e3a <code>plpythonu</code>\u3002\u5982\u679c\u5c06\u6765\u80fd\u5728 Python \u4e2d\u5f00\u53d1\u51fa\u5b89\u5168\u7684\u6267\u884c\u673a\u5236\uff0c\u53d7\u4fe1\u4efb\u7684\u53d8\u4f53 <code>plpython</code> \u53ef\u80fd\u4f1a\u51fa\u73b0\u3002\u4f7f\u7528\u4e0d\u53d7\u4fe1\u4efb\u7684 PL/Python \u7f16\u5199\u51fd\u6570\u65f6\uff0c\u51fd\u6570\u7f16\u5199\u8005\u5fc5\u987b\u786e\u4fdd\u8be5\u51fd\u6570\u4e0d\u4f1a\u88ab\u7528\u6765\u505a\u4efb\u4f55\u4e0d\u5e0c\u671b\u53d1\u751f\u7684\u4e8b\u60c5\uff0c\u56e0\u4e3a\u5b83\u80fd\u591f\u505a\u5230\u4efb\u4f55\u4ee5\u6570\u636e\u5e93\u7ba1\u7406\u5458\u8eab\u4efd\u767b\u5f55\u7684\u7528\u6237\u6240\u80fd\u505a\u7684\u4e8b\u60c5\u3002\u53ea\u6709\u8d85\u7ea7\u7528\u6237\u624d\u80fd\u5728 <code>plpythonu</code> \u8fd9\u7c7b\u4e0d\u53d7\u4fe1\u4efb\u7684\u8bed\u8a00\u4e2d\u521b\u5efa\u51fd\u6570\u3002\n </p><p><a href=\"/zh/docs/12/plpython.html\" rel=\"nofollow\">\u67e5\u770b\u5b8c\u6574\u4e2d\u6587\u624b\u518c\u4e0e\u4e0a\u4e0b\u6587</a>\u3002</p>"}, "13": {"facts": [{"label": "\u79cd\u7c7b", "value": "\u968f\u6e90\u7801\u63d0\u4f9b\u7684\u8fc7\u7a0b\u8bed\u8a00\u53d8\u4f53"}, {"label": "\u64cd\u4f5c\u7b26\u5bb6\u65cf", "value": "PL/Python"}, {"label": "\u53ef\u4fe1", "value": "f"}, {"label": "\u5904\u7406\u51fd\u6570", "value": "plpython2_call_handler"}, {"label": "\u5185\u8054\u4ee3\u7801\u5904\u7406\u51fd\u6570", "value": "plpython2_inline_handler"}, {"label": "\u6821\u9a8c\u51fd\u6570", "value": "plpython2_validator"}, {"label": "\u5e93", "value": "$libdir/plpython2"}, {"label": "\u9ed8\u8ba4\u7248\u672c", "value": "1.0"}, {"label": "\u6a21\u5757\u8def\u5f84", "value": "$libdir/plpython2"}, {"label": "\u6ce8\u91ca", "value": "PL/Python2U \u975e\u53ef\u4fe1\u8fc7\u7a0b\u8bed\u8a00"}], "tables": [], "aliases": [], "related": [{"url": "/docs/13/plpython-data.html", "label": "\u6570\u636e\u503c"}, {"url": "/docs/13/plpython-database.html", "label": "\u6570\u636e\u5e93\u8bbf\u95ee"}, {"url": "/docs/13/plpython-do.html", "label": "\u533f\u540d\u4ee3\u7801\u5757"}, {"url": "/docs/13/plpython-envar.html", "label": "\u73af\u5883\u53d8\u91cf"}, {"url": "/docs/13/plpython-funcs.html", "label": "PL/Python \u51fd\u6570"}, {"url": "/docs/13/plpython-python23.html", "label": "plpython-python23"}, {"url": "/docs/13/plpython-sharing.html", "label": "\u5171\u4eab\u6570\u636e"}, {"url": "/docs/13/plpython-subtransaction.html", "label": "\u663e\u5f0f\u5b50\u4e8b\u52a1"}, {"url": "/docs/13/plpython-transactions.html", "label": "\u4e8b\u52a1\u7ba1\u7406"}, {"url": "/docs/13/plpython-trigger.html", "label": "\u89e6\u53d1\u5668\u51fd\u6570"}, {"url": "/docs/13/plpython-util.html", "label": "\u8f85\u52a9\u51fd\u6570"}], "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/plpython.html", "path": "plpython.html", "label": "PostgreSQL 13 English manual", "sha256": "5aee74b10a6edbfc58ef0eaea73e5b33975c31f01bdb30741676c261023e88c4"}], "zh_from": {"kind": "same-version-chinese-manual-with-source-derived-structured-summary", "manual": {"url": "/zh/docs/13/plpython.html", "anchor": "", "locale": "zh-Hans", "version": "13", "build_id": 66, "page_key": "plpython.html", "extraction": "concept-introduction", "source_hash": "263340d5c3d8082ff290790ad6a6803c1aaa772ad4b38c1d3bc8091dee3ab1ff", "fragment_sha256": "1fa259717a31573b483bef1d8e5608ce7928309da29bfd4ed83f8bc2c488e165", "source_revision": "unknown:rendered-translation-baseline", "translation_revision": "snapshot:sha256:a13a825c39f0268ef1cfe9137e283e38d0da73b2d7894f0733c7b26372a4f6a4", "translated_from_revision": null}, "body_sha256": "608193ce0821db369397b5aa953cb08f04e14f4e7edbfecbef3125e4f1ae8562", "runtime_rerun": false, "authored_translation": "source-derived-structured-summary", "source_facts_revision": "6ec3c82726af92b7dec873fa1cdf881eca92a4219787dfad05acb6b10e041fd6"}, "facts_zh": [{"label": "\u79cd\u7c7b", "value": "\u968f\u6e90\u7801\u63d0\u4f9b\u7684\u8fc7\u7a0b\u8bed\u8a00\u53d8\u4f53"}, {"label": "\u64cd\u4f5c\u7b26\u5bb6\u65cf", "value": "PL/Python"}, {"label": "\u53ef\u4fe1", "value": "f"}, {"label": "\u5904\u7406\u51fd\u6570", "value": "plpython2_call_handler"}, {"label": "\u5185\u8054\u4ee3\u7801\u5904\u7406\u51fd\u6570", "value": "plpython2_inline_handler"}, {"label": "\u6821\u9a8c\u51fd\u6570", "value": "plpython2_validator"}, {"label": "\u5e93", "value": "$libdir/plpython2"}, {"label": "\u9ed8\u8ba4\u7248\u672c", "value": "1.0"}, {"label": "\u6a21\u5757\u8def\u5f84", "value": "$libdir/plpython2"}, {"label": "\u6ce8\u91ca", "value": "PL/Python2U \u975e\u53ef\u4fe1\u8fc7\u7a0b\u8bed\u8a00"}], "sections": [{"code": "/* src/pl/plpython/plpython2u--1.0.sql */\n\nCREATE FUNCTION plpython2_call_handler() RETURNS language_handler\n  LANGUAGE c AS 'MODULE_PATHNAME';\n\nCREATE FUNCTION plpython2_inline_handler(internal) RETURNS void\n  STRICT LANGUAGE c AS 'MODULE_PATHNAME';\n\nCREATE FUNCTION plpython2_validator(oid) RETURNS void\n  STRICT LANGUAGE c AS 'MODULE_PATHNAME';\n\nCREATE LANGUAGE plpython2u\n  HANDLER plpython2_call_handler\n  INLINE plpython2_inline_handler\n  VALIDATOR plpython2_validator;\n\nCOMMENT ON LANGUAGE plpython2u IS 'PL/Python2U untrusted procedural language';", "title": "\u540c\u6784\u5efa\u6e90\u7801\u4e2d\u7684\u5b89\u88c5\u5b9a\u4e49", "paragraphs": ["\u6b64\u6269\u5c55\u968f\u6e90\u7801\u63d0\u4f9b\uff1b\u6536\u5f55\u5b83\u5e76\u4e0d\u8868\u793a\u5df2\u5b89\u88c5\u8be5\u8bed\u8a00\u6216\u5916\u90e8\u8fd0\u884c\u65f6\u3002"]}], "center_zh": {"title": "plpython2u", "locale": "zh-Hans", "source": {"key": "plpython2u", "locale": "zh-Hans", "version": "13", "text_hash": "25c98f897ed92e6e7537d98e519b51c7786d82bddf9d3af98f84899bbec70d71", "collection": "language", "dataset_hash": "7c31b524dfe136022d39a6ae8dcfac6b3bbd5f8fdaf422536599981252aff0c9", "source_database": "center", "source_revision": "6ec3c82726af92b7dec873fa1cdf881eca92a4219787dfad05acb6b10e041fd6"}, "payload": {"facts": [{"label": "\u79cd\u7c7b", "value": "\u968f\u6e90\u7801\u63d0\u4f9b\u7684\u8fc7\u7a0b\u8bed\u8a00\u53d8\u4f53"}, {"label": "\u64cd\u4f5c\u7b26\u5bb6\u65cf", "value": "PL/Python"}, {"label": "\u53ef\u4fe1", "value": "f"}, {"label": "\u5904\u7406\u51fd\u6570", "value": "plpython2_call_handler"}, {"label": "\u5185\u8054\u4ee3\u7801\u5904\u7406\u51fd\u6570", "value": "plpython2_inline_handler"}, {"label": "\u6821\u9a8c\u51fd\u6570", "value": "plpython2_validator"}, {"label": "\u5e93", "value": "$libdir/plpython2"}, {"label": "\u9ed8\u8ba4\u7248\u672c", "value": "1.0"}, {"label": "\u6a21\u5757\u8def\u5f84", "value": "$libdir/plpython2"}, {"label": "\u6ce8\u91ca", "value": "PL/Python2U \u975e\u53ef\u4fe1\u8fc7\u7a0b\u8bed\u8a00"}], "tables": [], "zh_from": {"kind": "same-version-chinese-manual-with-source-derived-structured-summary", "manual": {"url": "/zh/docs/13/plpython.html", "anchor": "", "locale": "zh-Hans", "version": "13", "build_id": 66, "page_key": "plpython.html", "extraction": "concept-introduction", "source_hash": "263340d5c3d8082ff290790ad6a6803c1aaa772ad4b38c1d3bc8091dee3ab1ff", "fragment_sha256": "1fa259717a31573b483bef1d8e5608ce7928309da29bfd4ed83f8bc2c488e165", "source_revision": "unknown:rendered-translation-baseline", "translation_revision": "snapshot:sha256:a13a825c39f0268ef1cfe9137e283e38d0da73b2d7894f0733c7b26372a4f6a4", "translated_from_revision": null}, "body_sha256": "608193ce0821db369397b5aa953cb08f04e14f4e7edbfecbef3125e4f1ae8562", "runtime_rerun": false, "authored_translation": "source-derived-structured-summary", "source_facts_revision": "6ec3c82726af92b7dec873fa1cdf881eca92a4219787dfad05acb6b10e041fd6"}, "sections": [{"code": "/* src/pl/plpython/plpython2u--1.0.sql */\n\nCREATE FUNCTION plpython2_call_handler() RETURNS language_handler\n  LANGUAGE c AS 'MODULE_PATHNAME';\n\nCREATE FUNCTION plpython2_inline_handler(internal) RETURNS void\n  STRICT LANGUAGE c AS 'MODULE_PATHNAME';\n\nCREATE FUNCTION plpython2_validator(oid) RETURNS void\n  STRICT LANGUAGE c AS 'MODULE_PATHNAME';\n\nCREATE LANGUAGE plpython2u\n  HANDLER plpython2_call_handler\n  INLINE plpython2_inline_handler\n  VALIDATOR plpython2_validator;\n\nCOMMENT ON LANGUAGE plpython2u IS 'PL/Python2U untrusted procedural language';", "title": "\u540c\u6784\u5efa\u6e90\u7801\u4e2d\u7684\u5b89\u88c5\u5b9a\u4e49", "paragraphs": ["\u6b64\u6269\u5c55\u968f\u6e90\u7801\u63d0\u4f9b\uff1b\u6536\u5f55\u5b83\u5e76\u4e0d\u8868\u793a\u5df2\u5b89\u88c5\u8be5\u8bed\u8a00\u6216\u5916\u90e8\u8fd0\u884c\u65f6\u3002"]}], "description_zh": "\u8fc7\u7a0b\u8bed\u8a00 plpython2u\u3002", "description_zh_html": "<p>\u8fc7\u7a0b\u8bed\u8a00 plpython2u\u3002</p><dl><dt>\u8fd0\u7b97\u7b26\u65cf</dt><dd><code>PL/Python</code></dd><dt>\u5904\u7406\u51fd\u6570</dt><dd><code>plpython2_call_handler</code></dd><dt>\u5e93</dt><dd><code>$libdir/plpython2</code></dd><dt>\u53d7\u4fe1\u4efb</dt><dd><code>\u5426</code></dd><dt>\u9a8c\u8bc1\u51fd\u6570</dt><dd><code>plpython2_validator</code></dd><dt>\u5185\u8054\u5904\u7406\u51fd\u6570</dt><dd><code>plpython2_inline_handler</code></dd><dt>\u9ed8\u8ba4\u7248\u672c</dt><dd><code>1.0</code></dd><dt>\u6a21\u5757\u8def\u5f84</dt><dd><code>$libdir/plpython2</code></dd></dl><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u8282\u9009</h3><p>\n<span class=\"application\">PL/Python</span> \u8fc7\u7a0b\u8bed\u8a00\u5141\u8bb8\u4f7f\u7528 <a class=\"ulink\" href=\"https://www.python.org\">Python \u8bed\u8a00</a>\u7f16\u5199 <span class=\"productname\">PostgreSQL</span> \u51fd\u6570\u548c\u8fc7\u7a0b\u3002\n </p><p>\n  \u8981\u5728\u7279\u5b9a\u6570\u636e\u5e93\u4e2d\u5b89\u88c5 PL/Python\uff0c\u53ef\u4f7f\u7528 <code class=\"literal\">CREATE EXTENSION plpythonu</code>\uff08\u53e6\u89c1<a class=\"xref\" href=\"/zh/docs/13/plpython.html#PLPYTHON-PYTHON23\">\u7b2c\u00a045.1\u00a0\u8282</a>\uff09\u3002\n </p><p>\n  PL/Python \u53ea\u80fd\u4f5c\u4e3a\u4e00\u79cd<span class=\"quote\">\u201c<span class=\"quote\">\u4e0d\u53d7\u4fe1\u4efb\u7684</span>\u201d</span>\u8bed\u8a00\u4f7f\u7528\uff0c\u8fd9\u610f\u5473\u7740\u5b83\u4e0d\u63d0\u4f9b\u4efb\u4f55\u673a\u5236\u6765\u9650\u5236\u7528\u6237\u80fd\u5728\u5176\u4e2d\u505a\u4ec0\u4e48\uff0c\u56e0\u6b64\u5176\u540d\u79f0\u4e3a <code class=\"literal\">plpythonu</code>\u3002\u5982\u679c\u5c06\u6765\u80fd\u5728 Python \u4e2d\u5f00\u53d1\u51fa\u5b89\u5168\u7684\u6267\u884c\u673a\u5236\uff0c\u53d7\u4fe1\u4efb\u7684\u53d8\u4f53 <code class=\"literal\">plpython</code> \u53ef\u80fd\u4f1a\u51fa\u73b0\u3002\u4f7f\u7528\u4e0d\u53d7\u4fe1\u4efb\u7684 PL/Python \u7f16\u5199\u51fd\u6570\u65f6\uff0c\u51fd\u6570\u7f16\u5199\u8005\u5fc5\u987b\u786e\u4fdd\u8be5\u51fd\u6570\u4e0d\u4f1a\u88ab\u7528\u6765\u505a\u4efb\u4f55\u4e0d\u5e0c\u671b\u53d1\u751f\u7684\u4e8b\u60c5\uff0c\u56e0\u4e3a\u5b83\u80fd\u591f\u505a\u5230\u4efb\u4f55\u4ee5\u6570\u636e\u5e93\u7ba1\u7406\u5458\u8eab\u4efd\u767b\u5f55\u7684\u7528\u6237\u6240\u80fd\u505a\u7684\u4e8b\u60c5\u3002\u53ea\u6709\u8d85\u7ea7\u7528\u6237\u624d\u80fd\u5728 <code class=\"literal\">plpythonu</code> \u8fd9\u7c7b\u4e0d\u53d7\u4fe1\u4efb\u7684\u8bed\u8a00\u4e2d\u521b\u5efa\u51fd\u6570\u3002\n </p><p><a href=\"/zh/docs/13/plpython.html\">\u67e5\u770b\u5b8c\u6574\u4e2d\u6587\u624b\u518c\u4e0e\u4e0a\u4e0b\u6587</a>\u3002</p>"}, "summary": "\u8fc7\u7a0b\u8bed\u8a00 plpython2u\u3002", "version": "13", "link_map": {"/zh/docs/13/plpython.html": "/docs/13/plpython.html", "/zh/docs/13/plpython.html#PLPYTHON-PYTHON23": "/docs/13/plpython.html#PLPYTHON-PYTHON23"}, "body_html": "<p>\u8fc7\u7a0b\u8bed\u8a00 plpython2u\u3002</p><dl><dt>\u8fd0\u7b97\u7b26\u65cf</dt><dd><code>PL/Python</code></dd><dt>\u5904\u7406\u51fd\u6570</dt><dd><code>plpython2_call_handler</code></dd><dt>\u5e93</dt><dd><code>$libdir/plpython2</code></dd><dt>\u53d7\u4fe1\u4efb</dt><dd><code>\u5426</code></dd><dt>\u9a8c\u8bc1\u51fd\u6570</dt><dd><code>plpython2_validator</code></dd><dt>\u5185\u8054\u5904\u7406\u51fd\u6570</dt><dd><code>plpython2_inline_handler</code></dd><dt>\u9ed8\u8ba4\u7248\u672c</dt><dd><code>1.0</code></dd><dt>\u6a21\u5757\u8def\u5f84</dt><dd><code>$libdir/plpython2</code></dd></dl><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u8282\u9009</h3><p>\n<span>PL/Python</span> \u8fc7\u7a0b\u8bed\u8a00\u5141\u8bb8\u4f7f\u7528 <a href=\"https://www.python.org\" rel=\"nofollow\">Python \u8bed\u8a00</a>\u7f16\u5199 <span>PostgreSQL</span> \u51fd\u6570\u548c\u8fc7\u7a0b\u3002\n </p><p>\n  \u8981\u5728\u7279\u5b9a\u6570\u636e\u5e93\u4e2d\u5b89\u88c5 PL/Python\uff0c\u53ef\u4f7f\u7528 <code>CREATE EXTENSION plpythonu</code>\uff08\u53e6\u89c1<a href=\"/zh/docs/13/plpython.html#PLPYTHON-PYTHON23\" rel=\"nofollow\">\u7b2c\u00a045.1\u00a0\u8282</a>\uff09\u3002\n </p><p>\n  PL/Python \u53ea\u80fd\u4f5c\u4e3a\u4e00\u79cd<span>\u201c<span>\u4e0d\u53d7\u4fe1\u4efb\u7684</span>\u201d</span>\u8bed\u8a00\u4f7f\u7528\uff0c\u8fd9\u610f\u5473\u7740\u5b83\u4e0d\u63d0\u4f9b\u4efb\u4f55\u673a\u5236\u6765\u9650\u5236\u7528\u6237\u80fd\u5728\u5176\u4e2d\u505a\u4ec0\u4e48\uff0c\u56e0\u6b64\u5176\u540d\u79f0\u4e3a <code>plpythonu</code>\u3002\u5982\u679c\u5c06\u6765\u80fd\u5728 Python \u4e2d\u5f00\u53d1\u51fa\u5b89\u5168\u7684\u6267\u884c\u673a\u5236\uff0c\u53d7\u4fe1\u4efb\u7684\u53d8\u4f53 <code>plpython</code> \u53ef\u80fd\u4f1a\u51fa\u73b0\u3002\u4f7f\u7528\u4e0d\u53d7\u4fe1\u4efb\u7684 PL/Python \u7f16\u5199\u51fd\u6570\u65f6\uff0c\u51fd\u6570\u7f16\u5199\u8005\u5fc5\u987b\u786e\u4fdd\u8be5\u51fd\u6570\u4e0d\u4f1a\u88ab\u7528\u6765\u505a\u4efb\u4f55\u4e0d\u5e0c\u671b\u53d1\u751f\u7684\u4e8b\u60c5\uff0c\u56e0\u4e3a\u5b83\u80fd\u591f\u505a\u5230\u4efb\u4f55\u4ee5\u6570\u636e\u5e93\u7ba1\u7406\u5458\u8eab\u4efd\u767b\u5f55\u7684\u7528\u6237\u6240\u80fd\u505a\u7684\u4e8b\u60c5\u3002\u53ea\u6709\u8d85\u7ea7\u7528\u6237\u624d\u80fd\u5728 <code>plpythonu</code> \u8fd9\u7c7b\u4e0d\u53d7\u4fe1\u4efb\u7684\u8bed\u8a00\u4e2d\u521b\u5efa\u51fd\u6570\u3002\n </p><p><a href=\"/zh/docs/13/plpython.html\" rel=\"nofollow\">\u67e5\u770b\u5b8c\u6574\u4e2d\u6587\u624b\u518c\u4e0e\u4e0a\u4e0b\u6587</a>\u3002</p>", "body_sha256": "32dd2454020ecfe88e424fd6669e40edee4562534f4ad9037e4e21bc2af48f73", "content_hash": "25c98f897ed92e6e7537d98e519b51c7786d82bddf9d3af98f84899bbec70d71", "source_database": "center", "source_revision": "6ec3c82726af92b7dec873fa1cdf881eca92a4219787dfad05acb6b10e041fd6"}, "signature": "", "tables_zh": [], "attributes": {"kind": "Bundled procedural-language variant", "family": "PL/Python", "comment": "PL/Python2U untrusted procedural language", "handler": "plpython2_call_handler", "library": "$libdir/plpython2", "trusted": "f", "validator": "plpython2_validator", "inline_handler": "plpython2_inline_handler", "default_version": "1.0", "module_pathname": "$libdir/plpython2"}, "description": ["\u8fc7\u7a0b\u8bed\u8a00 plpython2u\u3002"], "manual_html": "", "manual_path": "/docs/13/plpython.html", "sections_zh": [{"code": "/* src/pl/plpython/plpython2u--1.0.sql */\n\nCREATE FUNCTION plpython2_call_handler() RETURNS language_handler\n  LANGUAGE c AS 'MODULE_PATHNAME';\n\nCREATE FUNCTION plpython2_inline_handler(internal) RETURNS void\n  STRICT LANGUAGE c AS 'MODULE_PATHNAME';\n\nCREATE FUNCTION plpython2_validator(oid) RETURNS void\n  STRICT LANGUAGE c AS 'MODULE_PATHNAME';\n\nCREATE LANGUAGE plpython2u\n  HANDLER plpython2_call_handler\n  INLINE plpython2_inline_handler\n  VALIDATOR plpython2_validator;\n\nCOMMENT ON LANGUAGE plpython2u IS 'PL/Python2U untrusted procedural language';", "title": "\u540c\u6784\u5efa\u6e90\u7801\u4e2d\u7684\u5b89\u88c5\u5b9a\u4e49", "paragraphs": ["\u6b64\u6269\u5c55\u968f\u6e90\u7801\u63d0\u4f9b\uff1b\u6536\u5f55\u5b83\u5e76\u4e0d\u8868\u793a\u5df2\u5b89\u88c5\u8be5\u8bed\u8a00\u6216\u5916\u90e8\u8fd0\u884c\u65f6\u3002"]}], "localization": {"status": "complete", "sources": [{"url": "/docs/13/plpython-data.html", "method": "same-major semantic node", "sha256": "91fe00220d4b025bad9c5680c8ab25abda6101d6764671c30b8e57c460908cd2", "language": "zh", "matched_nodes": ["page-title/h2"]}, {"url": "/docs/13/plpython-database.html", "method": "same-major semantic node", "sha256": "26a7bd1527941c915fb8a232e1ac4383b7947cc5b22a19e776b6ca670ca35a94", "language": "zh", "matched_nodes": ["page-title/h2"]}, {"url": "/docs/13/plpython-do.html", "method": "same-major semantic node", "sha256": "7997ec146e66b831b0bcfbd45300ef4a18bc2dd9db9f3231347932539084169f", "language": "zh", "matched_nodes": ["page-title/h2"]}, {"url": "/docs/13/plpython-envar.html", "method": "same-major semantic node", "sha256": "1044aa28dc9f0b2249c56b7f00079eefed36d9e3b885e61a2fabf89e119b0f50", "language": "zh", "matched_nodes": ["page-title/h2"]}, {"url": "/docs/13/plpython-funcs.html", "method": "same-major semantic node", "sha256": "a69fd11cfe92f7358ae38ce0110fbed6e8c72b39d006a9e81952b4216a908a95", "language": "zh", "matched_nodes": ["page-title/h2"]}, {"url": "/docs/13/plpython-sharing.html", "method": "same-major semantic node", "sha256": "0799ab2a1d2a2a43cbb2326e552da819a34bedeb80eb6071e54d6826642afbbf", "language": "zh", "matched_nodes": ["page-title/h2"]}, {"url": "/docs/13/plpython-subtransaction.html", "method": "same-major semantic node", "sha256": "7521b68e3ecbb0e34017df86e15089daacbbc669ee769eff1b7f31da432115e9", "language": "zh", "matched_nodes": ["page-title/h2"]}, {"url": "/docs/13/plpython-transactions.html", "method": "same-major semantic node", "sha256": "6c5ce10571f6f375823b4eda83c346e8f43cee53873955d48f5e27d8e103c74c", "language": "zh", "matched_nodes": ["page-title/h2"]}, {"url": "/docs/13/plpython-trigger.html", "method": "same-major semantic node", "sha256": "536316cd0b0e638de95c02e91cd7c8df1e0bb3725a4a12d08d19850c8e16be60", "language": "zh", "matched_nodes": ["page-title/h2"]}, {"url": "/docs/13/plpython-util.html", "method": "same-major semantic node", "sha256": "cd294dba8cc9e555abfa13670de1df7bc2c4d947832bca1b460651fd9cbe28c4", "language": "zh", "matched_nodes": ["page-title/h2"]}, {"url": "/docs/13/plpython.html", "method": "same-major semantic node", "sha256": "ba208aa0503bb88a2d206f7228208348fb82bf3e79893a5a7fe344dfd8d7da17", "language": "zh", "matched_nodes": ["#PLPYTHON/h3[0]", "#PLPYTHON/h3[1]", "#PLPYTHON/p[1]", "#PLPYTHON/p[2]", "#PLPYTHON/p[3]", "#PLPYTHON/p[4]", "#PLPYTHON/p[5]"]}], "language": "zh", "original_text": {"/versions/13/description/0": "PL/Python2U untrusted procedural language", "/versions/13/facts/0/label": "Kind", "/versions/13/facts/0/value": "Bundled procedural-language variant", "/versions/13/facts/1/label": "Family", "/versions/13/facts/2/label": "Trusted", "/versions/13/facts/3/label": "Handler", "/versions/13/facts/4/label": "Inline handler", "/versions/13/facts/5/label": "Validator", "/versions/13/facts/6/label": "Library", "/versions/13/facts/7/label": "Default version", "/versions/13/facts/8/label": "Module pathname", "/versions/13/facts/9/label": "Comment", "/versions/13/facts/9/value": "PL/Python2U untrusted procedural language", "/versions/13/related/0/label": "plpython-data", "/versions/13/related/1/label": "plpython-database", "/versions/13/related/2/label": "plpython-do", "/versions/13/related/3/label": "plpython-envar", "/versions/13/related/4/label": "plpython-funcs", "/versions/13/related/6/label": "plpython-sharing", "/versions/13/related/7/label": "plpython-subtransaction", "/versions/13/related/8/label": "plpython-transactions", "/versions/13/related/9/label": "plpython-trigger", "/versions/13/related/10/label": "plpython-util", "/versions/13/sections/0/title": "Installation definition from the matching source archive", "/versions/13/sections/0/paragraphs/0": "This extension is shipped with the source. Its presence does not establish that the language or external runtime is installed."}, "fallback_fields": [], "source_language": "en", "original_snapshot_sha256": "7ed51296de40a8adb72216669aa8ed7de3d487f80dbb9f65d9d8dbcc61c470d2", "canonical_center_text_hash": "25c98f897ed92e6e7537d98e519b51c7786d82bddf9d3af98f84899bbec70d71"}, "source_files": {"src/pl/plpython/plpython2u.control": "c09792a1d7b0e512559e1c4c72b0c3e1ab0bf37b85dd5c8ebec16e0c3b333209", "src/pl/plpython/plpython2u--1.0.sql": "2e7dcdbf0cb5eddc11ffce175e5e0c89e27076ac26ab2764ca5a90180db99a70"}, "description_zh": "\u8fc7\u7a0b\u8bed\u8a00 plpython2u\u3002", "comparison_data": {"kind": "Bundled procedural-language variant", "family": "PL/Python", "handler": "plpython2_call_handler", "library": "$libdir/plpython2", "trusted": "f", "validator": "plpython2_validator", "inline_handler": "plpython2_inline_handler", "default_version": "1.0"}, "comparison_hash": "97802e2b3133abfc2be638d7f109df527604bcc726c8a2ce9fdc47a82b753410", "manual_language": "zh", "description_zh_html": "<p>\u8fc7\u7a0b\u8bed\u8a00 plpython2u\u3002</p><dl><dt>\u8fd0\u7b97\u7b26\u65cf</dt><dd><code>PL/Python</code></dd><dt>\u5904\u7406\u51fd\u6570</dt><dd><code>plpython2_call_handler</code></dd><dt>\u5e93</dt><dd><code>$libdir/plpython2</code></dd><dt>\u53d7\u4fe1\u4efb</dt><dd><code>\u5426</code></dd><dt>\u9a8c\u8bc1\u51fd\u6570</dt><dd><code>plpython2_validator</code></dd><dt>\u5185\u8054\u5904\u7406\u51fd\u6570</dt><dd><code>plpython2_inline_handler</code></dd><dt>\u9ed8\u8ba4\u7248\u672c</dt><dd><code>1.0</code></dd><dt>\u6a21\u5757\u8def\u5f84</dt><dd><code>$libdir/plpython2</code></dd></dl><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u8282\u9009</h3><p>\n<span>PL/Python</span> \u8fc7\u7a0b\u8bed\u8a00\u5141\u8bb8\u4f7f\u7528 <a href=\"https://www.python.org\" rel=\"nofollow\">Python \u8bed\u8a00</a>\u7f16\u5199 <span>PostgreSQL</span> \u51fd\u6570\u548c\u8fc7\u7a0b\u3002\n </p><p>\n  \u8981\u5728\u7279\u5b9a\u6570\u636e\u5e93\u4e2d\u5b89\u88c5 PL/Python\uff0c\u53ef\u4f7f\u7528 <code>CREATE EXTENSION plpythonu</code>\uff08\u53e6\u89c1<a href=\"/zh/docs/13/plpython.html#PLPYTHON-PYTHON23\" rel=\"nofollow\">\u7b2c\u00a045.1\u00a0\u8282</a>\uff09\u3002\n </p><p>\n  PL/Python \u53ea\u80fd\u4f5c\u4e3a\u4e00\u79cd<span>\u201c<span>\u4e0d\u53d7\u4fe1\u4efb\u7684</span>\u201d</span>\u8bed\u8a00\u4f7f\u7528\uff0c\u8fd9\u610f\u5473\u7740\u5b83\u4e0d\u63d0\u4f9b\u4efb\u4f55\u673a\u5236\u6765\u9650\u5236\u7528\u6237\u80fd\u5728\u5176\u4e2d\u505a\u4ec0\u4e48\uff0c\u56e0\u6b64\u5176\u540d\u79f0\u4e3a <code>plpythonu</code>\u3002\u5982\u679c\u5c06\u6765\u80fd\u5728 Python \u4e2d\u5f00\u53d1\u51fa\u5b89\u5168\u7684\u6267\u884c\u673a\u5236\uff0c\u53d7\u4fe1\u4efb\u7684\u53d8\u4f53 <code>plpython</code> \u53ef\u80fd\u4f1a\u51fa\u73b0\u3002\u4f7f\u7528\u4e0d\u53d7\u4fe1\u4efb\u7684 PL/Python \u7f16\u5199\u51fd\u6570\u65f6\uff0c\u51fd\u6570\u7f16\u5199\u8005\u5fc5\u987b\u786e\u4fdd\u8be5\u51fd\u6570\u4e0d\u4f1a\u88ab\u7528\u6765\u505a\u4efb\u4f55\u4e0d\u5e0c\u671b\u53d1\u751f\u7684\u4e8b\u60c5\uff0c\u56e0\u4e3a\u5b83\u80fd\u591f\u505a\u5230\u4efb\u4f55\u4ee5\u6570\u636e\u5e93\u7ba1\u7406\u5458\u8eab\u4efd\u767b\u5f55\u7684\u7528\u6237\u6240\u80fd\u505a\u7684\u4e8b\u60c5\u3002\u53ea\u6709\u8d85\u7ea7\u7528\u6237\u624d\u80fd\u5728 <code>plpythonu</code> \u8fd9\u7c7b\u4e0d\u53d7\u4fe1\u4efb\u7684\u8bed\u8a00\u4e2d\u521b\u5efa\u51fd\u6570\u3002\n </p><p><a href=\"/zh/docs/13/plpython.html\" rel=\"nofollow\">\u67e5\u770b\u5b8c\u6574\u4e2d\u6587\u624b\u518c\u4e0e\u4e0a\u4e0b\u6587</a>\u3002</p>"}, "14": {"facts": [{"label": "\u79cd\u7c7b", "value": "\u968f\u6e90\u7801\u63d0\u4f9b\u7684\u8fc7\u7a0b\u8bed\u8a00\u53d8\u4f53"}, {"label": "\u64cd\u4f5c\u7b26\u5bb6\u65cf", "value": "PL/Python"}, {"label": "\u53ef\u4fe1", "value": "f"}, {"label": "\u5904\u7406\u51fd\u6570", "value": "plpython2_call_handler"}, {"label": "\u5185\u8054\u4ee3\u7801\u5904\u7406\u51fd\u6570", "value": "plpython2_inline_handler"}, {"label": "\u6821\u9a8c\u51fd\u6570", "value": "plpython2_validator"}, {"label": "\u5e93", "value": "$libdir/plpython2"}, {"label": "\u9ed8\u8ba4\u7248\u672c", "value": "1.0"}, {"label": "\u6a21\u5757\u8def\u5f84", "value": "$libdir/plpython2"}, {"label": "\u6ce8\u91ca", "value": "PL/Python2U \u975e\u53ef\u4fe1\u8fc7\u7a0b\u8bed\u8a00"}], "tables": [], "aliases": [], "related": [{"url": "/docs/14/plpython-data.html", "label": "\u6570\u636e\u503c"}, {"url": "/docs/14/plpython-database.html", "label": "\u6570\u636e\u5e93\u8bbf\u95ee"}, {"url": "/docs/14/plpython-do.html", "label": "\u533f\u540d\u4ee3\u7801\u5757"}, {"url": "/docs/14/plpython-envar.html", "label": "\u73af\u5883\u53d8\u91cf"}, {"url": "/docs/14/plpython-funcs.html", "label": "PL/Python \u51fd\u6570"}, {"url": "/docs/14/plpython-python23.html", "label": "plpython-python23"}, {"url": "/docs/14/plpython-sharing.html", "label": "\u5171\u4eab\u6570\u636e"}, {"url": "/docs/14/plpython-subtransaction.html", "label": "\u663e\u5f0f\u5b50\u4e8b\u52a1"}, {"url": "/docs/14/plpython-transactions.html", "label": "\u4e8b\u52a1\u7ba1\u7406"}, {"url": "/docs/14/plpython-trigger.html", "label": "\u89e6\u53d1\u5668\u51fd\u6570"}, {"url": "/docs/14/plpython-util.html", "label": "\u8f85\u52a9\u51fd\u6570"}], "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/plpython.html", "path": "plpython.html", "label": "PostgreSQL 14 English manual", "sha256": "3c84c78db04798bdd98ee4320a8d26749337373d29e6f05c0a76997f03b73b61"}], "zh_from": {"kind": "same-version-chinese-manual-with-source-derived-structured-summary", "manual": {"url": "/zh/docs/14/plpython.html", "anchor": "", "locale": "zh-Hans", "version": "14", "build_id": 99, "page_key": "plpython.html", "extraction": "concept-introduction", "source_hash": "fae3939e6c9852e6944ca39b7757c86c8696d043fdd7f7e838f98b37879829b5", "fragment_sha256": "6fb8a4fe51d57cd773d8c8a19483e2791ae7ab9db689a17f7c531a746e600963", "source_revision": "unknown:rendered-translation-baseline", "translation_revision": "git:b1b500221dbe5437cfca004d6b04d3f6e422765d;html-sha256:87e6aa4fd6e1ec85c5f4a6de4f5647cfd9e5de734ca2c266d32b6d6192c662ef", "translated_from_revision": null}, "body_sha256": "d034428cb35106d84afd9b357a944368abcc8da60e3c8b552abd87096e5aa877", "runtime_rerun": false, "authored_translation": "source-derived-structured-summary", "source_facts_revision": "a7fa7ed3d558172355f51406097a7bd4f6b473be80f311ef7cda96bf383d8897"}, "facts_zh": [{"label": "\u79cd\u7c7b", "value": "\u968f\u6e90\u7801\u63d0\u4f9b\u7684\u8fc7\u7a0b\u8bed\u8a00\u53d8\u4f53"}, {"label": "\u64cd\u4f5c\u7b26\u5bb6\u65cf", "value": "PL/Python"}, {"label": "\u53ef\u4fe1", "value": "f"}, {"label": "\u5904\u7406\u51fd\u6570", "value": "plpython2_call_handler"}, {"label": "\u5185\u8054\u4ee3\u7801\u5904\u7406\u51fd\u6570", "value": "plpython2_inline_handler"}, {"label": "\u6821\u9a8c\u51fd\u6570", "value": "plpython2_validator"}, {"label": "\u5e93", "value": "$libdir/plpython2"}, {"label": "\u9ed8\u8ba4\u7248\u672c", "value": "1.0"}, {"label": "\u6a21\u5757\u8def\u5f84", "value": "$libdir/plpython2"}, {"label": "\u6ce8\u91ca", "value": "PL/Python2U \u975e\u53ef\u4fe1\u8fc7\u7a0b\u8bed\u8a00"}], "sections": [{"code": "/* src/pl/plpython/plpython2u--1.0.sql */\n\nCREATE FUNCTION plpython2_call_handler() RETURNS language_handler\n  LANGUAGE c AS 'MODULE_PATHNAME';\n\nCREATE FUNCTION plpython2_inline_handler(internal) RETURNS void\n  STRICT LANGUAGE c AS 'MODULE_PATHNAME';\n\nCREATE FUNCTION plpython2_validator(oid) RETURNS void\n  STRICT LANGUAGE c AS 'MODULE_PATHNAME';\n\nCREATE LANGUAGE plpython2u\n  HANDLER plpython2_call_handler\n  INLINE plpython2_inline_handler\n  VALIDATOR plpython2_validator;\n\nCOMMENT ON LANGUAGE plpython2u IS 'PL/Python2U untrusted procedural language';", "title": "\u540c\u6784\u5efa\u6e90\u7801\u4e2d\u7684\u5b89\u88c5\u5b9a\u4e49", "paragraphs": ["\u6b64\u6269\u5c55\u968f\u6e90\u7801\u63d0\u4f9b\uff1b\u6536\u5f55\u5b83\u5e76\u4e0d\u8868\u793a\u5df2\u5b89\u88c5\u8be5\u8bed\u8a00\u6216\u5916\u90e8\u8fd0\u884c\u65f6\u3002"]}], "center_zh": {"title": "plpython2u", "locale": "zh-Hans", "source": {"key": "plpython2u", "locale": "zh-Hans", "version": "14", "text_hash": "f68d64c2a3e00147f31e93ff42c94432e7b0da319846b29b2e47c6884c64b15c", "collection": "language", "dataset_hash": "7c31b524dfe136022d39a6ae8dcfac6b3bbd5f8fdaf422536599981252aff0c9", "source_database": "center", "source_revision": "a7fa7ed3d558172355f51406097a7bd4f6b473be80f311ef7cda96bf383d8897"}, "payload": {"facts": [{"label": "\u79cd\u7c7b", "value": "\u968f\u6e90\u7801\u63d0\u4f9b\u7684\u8fc7\u7a0b\u8bed\u8a00\u53d8\u4f53"}, {"label": "\u64cd\u4f5c\u7b26\u5bb6\u65cf", "value": "PL/Python"}, {"label": "\u53ef\u4fe1", "value": "f"}, {"label": "\u5904\u7406\u51fd\u6570", "value": "plpython2_call_handler"}, {"label": "\u5185\u8054\u4ee3\u7801\u5904\u7406\u51fd\u6570", "value": "plpython2_inline_handler"}, {"label": "\u6821\u9a8c\u51fd\u6570", "value": "plpython2_validator"}, {"label": "\u5e93", "value": "$libdir/plpython2"}, {"label": "\u9ed8\u8ba4\u7248\u672c", "value": "1.0"}, {"label": "\u6a21\u5757\u8def\u5f84", "value": "$libdir/plpython2"}, {"label": "\u6ce8\u91ca", "value": "PL/Python2U \u975e\u53ef\u4fe1\u8fc7\u7a0b\u8bed\u8a00"}], "tables": [], "zh_from": {"kind": "same-version-chinese-manual-with-source-derived-structured-summary", "manual": {"url": "/zh/docs/14/plpython.html", "anchor": "", "locale": "zh-Hans", "version": "14", "build_id": 99, "page_key": "plpython.html", "extraction": "concept-introduction", "source_hash": "fae3939e6c9852e6944ca39b7757c86c8696d043fdd7f7e838f98b37879829b5", "fragment_sha256": "6fb8a4fe51d57cd773d8c8a19483e2791ae7ab9db689a17f7c531a746e600963", "source_revision": "unknown:rendered-translation-baseline", "translation_revision": "git:b1b500221dbe5437cfca004d6b04d3f6e422765d;html-sha256:87e6aa4fd6e1ec85c5f4a6de4f5647cfd9e5de734ca2c266d32b6d6192c662ef", "translated_from_revision": null}, "body_sha256": "d034428cb35106d84afd9b357a944368abcc8da60e3c8b552abd87096e5aa877", "runtime_rerun": false, "authored_translation": "source-derived-structured-summary", "source_facts_revision": "a7fa7ed3d558172355f51406097a7bd4f6b473be80f311ef7cda96bf383d8897"}, "sections": [{"code": "/* src/pl/plpython/plpython2u--1.0.sql */\n\nCREATE FUNCTION plpython2_call_handler() RETURNS language_handler\n  LANGUAGE c AS 'MODULE_PATHNAME';\n\nCREATE FUNCTION plpython2_inline_handler(internal) RETURNS void\n  STRICT LANGUAGE c AS 'MODULE_PATHNAME';\n\nCREATE FUNCTION plpython2_validator(oid) RETURNS void\n  STRICT LANGUAGE c AS 'MODULE_PATHNAME';\n\nCREATE LANGUAGE plpython2u\n  HANDLER plpython2_call_handler\n  INLINE plpython2_inline_handler\n  VALIDATOR plpython2_validator;\n\nCOMMENT ON LANGUAGE plpython2u IS 'PL/Python2U untrusted procedural language';", "title": "\u540c\u6784\u5efa\u6e90\u7801\u4e2d\u7684\u5b89\u88c5\u5b9a\u4e49", "paragraphs": ["\u6b64\u6269\u5c55\u968f\u6e90\u7801\u63d0\u4f9b\uff1b\u6536\u5f55\u5b83\u5e76\u4e0d\u8868\u793a\u5df2\u5b89\u88c5\u8be5\u8bed\u8a00\u6216\u5916\u90e8\u8fd0\u884c\u65f6\u3002"]}], "description_zh": "\u8fc7\u7a0b\u8bed\u8a00 plpython2u\u3002", "description_zh_html": "<p>\u8fc7\u7a0b\u8bed\u8a00 plpython2u\u3002</p><dl><dt>\u8fd0\u7b97\u7b26\u65cf</dt><dd><code>PL/Python</code></dd><dt>\u5904\u7406\u51fd\u6570</dt><dd><code>plpython2_call_handler</code></dd><dt>\u5e93</dt><dd><code>$libdir/plpython2</code></dd><dt>\u53d7\u4fe1\u4efb</dt><dd><code>\u5426</code></dd><dt>\u9a8c\u8bc1\u51fd\u6570</dt><dd><code>plpython2_validator</code></dd><dt>\u5185\u8054\u5904\u7406\u51fd\u6570</dt><dd><code>plpython2_inline_handler</code></dd><dt>\u9ed8\u8ba4\u7248\u672c</dt><dd><code>1.0</code></dd><dt>\u6a21\u5757\u8def\u5f84</dt><dd><code>$libdir/plpython2</code></dd></dl><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u8282\u9009</h3><p>\n<span class=\"application\">PL/Python</span> \u8fc7\u7a0b\u8bed\u8a00\u5141\u8bb8\u4f7f\u7528 <a class=\"ulink\" href=\"https://www.python.org\">Python \u8bed\u8a00</a>\u7f16\u5199 <span class=\"productname\">PostgreSQL</span> \u51fd\u6570\u548c\u8fc7\u7a0b\u3002\n </p><p>\n  \u8981\u5728\u7279\u5b9a\u6570\u636e\u5e93\u4e2d\u5b89\u88c5 PL/Python\uff0c\u53ef\u4f7f\u7528 <code class=\"literal\">CREATE EXTENSION plpythonu</code>\uff08\u53e6\u89c1<a class=\"xref\" href=\"/zh/docs/14/plpython.html#PLPYTHON-PYTHON23\">\u7b2c\u00a046.1\u00a0\u8282</a>\uff09\u3002\n </p><p>\n  PL/Python \u53ea\u80fd\u4f5c\u4e3a\u4e00\u79cd<span class=\"quote\">\u201c<span class=\"quote\">\u4e0d\u53d7\u4fe1\u4efb\u7684</span>\u201d</span>\u8bed\u8a00\u4f7f\u7528\uff0c\u8fd9\u610f\u5473\u7740\u5b83\u4e0d\u63d0\u4f9b\u4efb\u4f55\u673a\u5236\u6765\u9650\u5236\u7528\u6237\u80fd\u5728\u5176\u4e2d\u505a\u4ec0\u4e48\uff0c\u56e0\u6b64\u5176\u540d\u79f0\u4e3a <code class=\"literal\">plpythonu</code>\u3002\u5982\u679c\u5c06\u6765\u80fd\u5728 Python \u4e2d\u5f00\u53d1\u51fa\u5b89\u5168\u7684\u6267\u884c\u673a\u5236\uff0c\u53d7\u4fe1\u4efb\u7684\u53d8\u4f53 <code class=\"literal\">plpython</code> \u53ef\u80fd\u4f1a\u51fa\u73b0\u3002\u4f7f\u7528\u4e0d\u53d7\u4fe1\u4efb\u7684 PL/Python \u7f16\u5199\u51fd\u6570\u65f6\uff0c\u51fd\u6570\u7f16\u5199\u8005\u5fc5\u987b\u786e\u4fdd\u8be5\u51fd\u6570\u4e0d\u4f1a\u88ab\u7528\u6765\u505a\u4efb\u4f55\u4e0d\u5e0c\u671b\u53d1\u751f\u7684\u4e8b\u60c5\uff0c\u56e0\u4e3a\u5b83\u80fd\u591f\u505a\u5230\u4efb\u4f55\u4ee5\u6570\u636e\u5e93\u7ba1\u7406\u5458\u8eab\u4efd\u767b\u5f55\u7684\u7528\u6237\u6240\u80fd\u505a\u7684\u4e8b\u60c5\u3002\u53ea\u6709\u8d85\u7ea7\u7528\u6237\u624d\u80fd\u5728 <code class=\"literal\">plpythonu</code> \u8fd9\u7c7b\u4e0d\u53d7\u4fe1\u4efb\u7684\u8bed\u8a00\u4e2d\u521b\u5efa\u51fd\u6570\u3002\n </p><p><a href=\"/zh/docs/14/plpython.html\">\u67e5\u770b\u5b8c\u6574\u4e2d\u6587\u624b\u518c\u4e0e\u4e0a\u4e0b\u6587</a>\u3002</p>"}, "summary": "\u8fc7\u7a0b\u8bed\u8a00 plpython2u\u3002", "version": "14", "link_map": {"/zh/docs/14/plpython.html": "/docs/14/plpython.html", "/zh/docs/14/plpython.html#PLPYTHON-PYTHON23": "/docs/14/plpython.html#PLPYTHON-PYTHON23"}, "body_html": "<p>\u8fc7\u7a0b\u8bed\u8a00 plpython2u\u3002</p><dl><dt>\u8fd0\u7b97\u7b26\u65cf</dt><dd><code>PL/Python</code></dd><dt>\u5904\u7406\u51fd\u6570</dt><dd><code>plpython2_call_handler</code></dd><dt>\u5e93</dt><dd><code>$libdir/plpython2</code></dd><dt>\u53d7\u4fe1\u4efb</dt><dd><code>\u5426</code></dd><dt>\u9a8c\u8bc1\u51fd\u6570</dt><dd><code>plpython2_validator</code></dd><dt>\u5185\u8054\u5904\u7406\u51fd\u6570</dt><dd><code>plpython2_inline_handler</code></dd><dt>\u9ed8\u8ba4\u7248\u672c</dt><dd><code>1.0</code></dd><dt>\u6a21\u5757\u8def\u5f84</dt><dd><code>$libdir/plpython2</code></dd></dl><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u8282\u9009</h3><p>\n<span>PL/Python</span> \u8fc7\u7a0b\u8bed\u8a00\u5141\u8bb8\u4f7f\u7528 <a href=\"https://www.python.org\" rel=\"nofollow\">Python \u8bed\u8a00</a>\u7f16\u5199 <span>PostgreSQL</span> \u51fd\u6570\u548c\u8fc7\u7a0b\u3002\n </p><p>\n  \u8981\u5728\u7279\u5b9a\u6570\u636e\u5e93\u4e2d\u5b89\u88c5 PL/Python\uff0c\u53ef\u4f7f\u7528 <code>CREATE EXTENSION plpythonu</code>\uff08\u53e6\u89c1<a href=\"/zh/docs/14/plpython.html#PLPYTHON-PYTHON23\" rel=\"nofollow\">\u7b2c\u00a046.1\u00a0\u8282</a>\uff09\u3002\n </p><p>\n  PL/Python \u53ea\u80fd\u4f5c\u4e3a\u4e00\u79cd<span>\u201c<span>\u4e0d\u53d7\u4fe1\u4efb\u7684</span>\u201d</span>\u8bed\u8a00\u4f7f\u7528\uff0c\u8fd9\u610f\u5473\u7740\u5b83\u4e0d\u63d0\u4f9b\u4efb\u4f55\u673a\u5236\u6765\u9650\u5236\u7528\u6237\u80fd\u5728\u5176\u4e2d\u505a\u4ec0\u4e48\uff0c\u56e0\u6b64\u5176\u540d\u79f0\u4e3a <code>plpythonu</code>\u3002\u5982\u679c\u5c06\u6765\u80fd\u5728 Python \u4e2d\u5f00\u53d1\u51fa\u5b89\u5168\u7684\u6267\u884c\u673a\u5236\uff0c\u53d7\u4fe1\u4efb\u7684\u53d8\u4f53 <code>plpython</code> \u53ef\u80fd\u4f1a\u51fa\u73b0\u3002\u4f7f\u7528\u4e0d\u53d7\u4fe1\u4efb\u7684 PL/Python \u7f16\u5199\u51fd\u6570\u65f6\uff0c\u51fd\u6570\u7f16\u5199\u8005\u5fc5\u987b\u786e\u4fdd\u8be5\u51fd\u6570\u4e0d\u4f1a\u88ab\u7528\u6765\u505a\u4efb\u4f55\u4e0d\u5e0c\u671b\u53d1\u751f\u7684\u4e8b\u60c5\uff0c\u56e0\u4e3a\u5b83\u80fd\u591f\u505a\u5230\u4efb\u4f55\u4ee5\u6570\u636e\u5e93\u7ba1\u7406\u5458\u8eab\u4efd\u767b\u5f55\u7684\u7528\u6237\u6240\u80fd\u505a\u7684\u4e8b\u60c5\u3002\u53ea\u6709\u8d85\u7ea7\u7528\u6237\u624d\u80fd\u5728 <code>plpythonu</code> \u8fd9\u7c7b\u4e0d\u53d7\u4fe1\u4efb\u7684\u8bed\u8a00\u4e2d\u521b\u5efa\u51fd\u6570\u3002\n </p><p><a href=\"/zh/docs/14/plpython.html\" rel=\"nofollow\">\u67e5\u770b\u5b8c\u6574\u4e2d\u6587\u624b\u518c\u4e0e\u4e0a\u4e0b\u6587</a>\u3002</p>", "body_sha256": "3b97e6125157b32d2430b56a6243a16355e4ac23a656971a21c01cbabdc56d09", "content_hash": "f68d64c2a3e00147f31e93ff42c94432e7b0da319846b29b2e47c6884c64b15c", "source_database": "center", "source_revision": "a7fa7ed3d558172355f51406097a7bd4f6b473be80f311ef7cda96bf383d8897"}, "signature": "", "tables_zh": [], "attributes": {"kind": "Bundled procedural-language variant", "family": "PL/Python", "comment": "PL/Python2U untrusted procedural language", "handler": "plpython2_call_handler", "library": "$libdir/plpython2", "trusted": "f", "validator": "plpython2_validator", "inline_handler": "plpython2_inline_handler", "default_version": "1.0", "module_pathname": "$libdir/plpython2"}, "description": ["\u8fc7\u7a0b\u8bed\u8a00 plpython2u\u3002"], "manual_html": "", "manual_path": "/docs/14/plpython.html", "sections_zh": [{"code": "/* src/pl/plpython/plpython2u--1.0.sql */\n\nCREATE FUNCTION plpython2_call_handler() RETURNS language_handler\n  LANGUAGE c AS 'MODULE_PATHNAME';\n\nCREATE FUNCTION plpython2_inline_handler(internal) RETURNS void\n  STRICT LANGUAGE c AS 'MODULE_PATHNAME';\n\nCREATE FUNCTION plpython2_validator(oid) RETURNS void\n  STRICT LANGUAGE c AS 'MODULE_PATHNAME';\n\nCREATE LANGUAGE plpython2u\n  HANDLER plpython2_call_handler\n  INLINE plpython2_inline_handler\n  VALIDATOR plpython2_validator;\n\nCOMMENT ON LANGUAGE plpython2u IS 'PL/Python2U untrusted procedural language';", "title": "\u540c\u6784\u5efa\u6e90\u7801\u4e2d\u7684\u5b89\u88c5\u5b9a\u4e49", "paragraphs": ["\u6b64\u6269\u5c55\u968f\u6e90\u7801\u63d0\u4f9b\uff1b\u6536\u5f55\u5b83\u5e76\u4e0d\u8868\u793a\u5df2\u5b89\u88c5\u8be5\u8bed\u8a00\u6216\u5916\u90e8\u8fd0\u884c\u65f6\u3002"]}], "localization": {"status": "complete", "sources": [{"url": "/docs/14/plpython-data.html", "method": "same-major semantic node", "sha256": "177e1d8d2aa7791808809b72417a982c4b0bb7c12069b266580ef0d7d93fbee9", "language": "zh", "matched_nodes": ["page-title/h2"]}, {"url": "/docs/14/plpython-database.html", "method": "same-major semantic node", "sha256": "a1b0b8d2cd2ddb274fe1ac35b5be35e3a68994b2c5f89a3b7b1610614043675d", "language": "zh", "matched_nodes": ["page-title/h2"]}, {"url": "/docs/14/plpython-do.html", "method": "same-major semantic node", "sha256": "19dada5307d92528838e5939a218e3713b5aded97fc7d8b17901e4cf227fbc44", "language": "zh", "matched_nodes": ["page-title/h2"]}, {"url": "/docs/14/plpython-envar.html", "method": "same-major semantic node", "sha256": "eaada9c8e2438fffeda89ac85c75caab26b991be48cd4edcbbc140918dcd8063", "language": "zh", "matched_nodes": ["page-title/h2"]}, {"url": "/docs/14/plpython-funcs.html", "method": "same-major semantic node", "sha256": "a4095930aa7cc4977ca5b4e5ceb148db75087eaca3dd8a45a6dff84444b11574", "language": "zh", "matched_nodes": ["page-title/h2"]}, {"url": "/docs/14/plpython-sharing.html", "method": "same-major semantic node", "sha256": "25419bc6e4cf4f20ee4afbfc659a4d5272da264709cf750fabaf49b56f381167", "language": "zh", "matched_nodes": ["page-title/h2"]}, {"url": "/docs/14/plpython-subtransaction.html", "method": "same-major semantic node", "sha256": "912f32bbb4b1ff6695b46fada307f3f9f4886e78873a5462738ffa0199794a43", "language": "zh", "matched_nodes": ["page-title/h2"]}, {"url": "/docs/14/plpython-transactions.html", "method": "same-major semantic node", "sha256": "6a2b0bd0b49893ca2ca1684fbad0350aac4d874ddbbcaf284c1cfd4d0d796a64", "language": "zh", "matched_nodes": ["page-title/h2"]}, {"url": "/docs/14/plpython-trigger.html", "method": "same-major semantic node", "sha256": "524a1cc3750b2e09dba2f434b11b503bb245f475baf0e7db84f206fdee1c1c99", "language": "zh", "matched_nodes": ["page-title/h2"]}, {"url": "/docs/14/plpython-util.html", "method": "same-major semantic node", "sha256": "3d86410d4d244de6c0cf20ef95552fa930ff50bd18ea3d70dd957b5a772aa344", "language": "zh", "matched_nodes": ["page-title/h2"]}, {"url": "/docs/14/plpython.html", "method": "same-major semantic node", "sha256": "970b6a414751b416498b035edb6818c2e91b8bdd668c7afbce5f7d905767231b", "language": "zh", "matched_nodes": ["#PLPYTHON/h3[0]", "#PLPYTHON/h3[1]", "#PLPYTHON/p[1]", "#PLPYTHON/p[2]", "#PLPYTHON/p[3]", "#PLPYTHON/p[4]", "#PLPYTHON/p[5]"]}], "language": "zh", "original_text": {"/summary": "PL/Python2U untrusted procedural language", "/versions/14/description/0": "PL/Python2U untrusted procedural language", "/versions/14/facts/0/label": "Kind", "/versions/14/facts/0/value": "Bundled procedural-language variant", "/versions/14/facts/1/label": "Family", "/versions/14/facts/2/label": "Trusted", "/versions/14/facts/3/label": "Handler", "/versions/14/facts/4/label": "Inline handler", "/versions/14/facts/5/label": "Validator", "/versions/14/facts/6/label": "Library", "/versions/14/facts/7/label": "Default version", "/versions/14/facts/8/label": "Module pathname", "/versions/14/facts/9/label": "Comment", "/versions/14/facts/9/value": "PL/Python2U untrusted procedural language", "/versions/14/related/0/label": "plpython-data", "/versions/14/related/1/label": "plpython-database", "/versions/14/related/2/label": "plpython-do", "/versions/14/related/3/label": "plpython-envar", "/versions/14/related/4/label": "plpython-funcs", "/versions/14/related/6/label": "plpython-sharing", "/versions/14/related/7/label": "plpython-subtransaction", "/versions/14/related/8/label": "plpython-transactions", "/versions/14/related/9/label": "plpython-trigger", "/versions/14/related/10/label": "plpython-util", "/versions/14/sections/0/title": "Installation definition from the matching source archive", "/versions/14/sections/0/paragraphs/0": "This extension is shipped with the source. Its presence does not establish that the language or external runtime is installed."}, "fallback_fields": [], "source_language": "en", "original_snapshot_sha256": "48c00a463997e7136e57ed2f37e2304b4cb55dee737de501f4779542ad1c62ab", "canonical_center_text_hash": "f68d64c2a3e00147f31e93ff42c94432e7b0da319846b29b2e47c6884c64b15c"}, "source_files": {"src/pl/plpython/plpython2u.control": "c09792a1d7b0e512559e1c4c72b0c3e1ab0bf37b85dd5c8ebec16e0c3b333209", "src/pl/plpython/plpython2u--1.0.sql": "2e7dcdbf0cb5eddc11ffce175e5e0c89e27076ac26ab2764ca5a90180db99a70"}, "description_zh": "\u8fc7\u7a0b\u8bed\u8a00 plpython2u\u3002", "comparison_data": {"kind": "Bundled procedural-language variant", "family": "PL/Python", "handler": "plpython2_call_handler", "library": "$libdir/plpython2", "trusted": "f", "validator": "plpython2_validator", "inline_handler": "plpython2_inline_handler", "default_version": "1.0"}, "comparison_hash": "97802e2b3133abfc2be638d7f109df527604bcc726c8a2ce9fdc47a82b753410", "manual_language": "zh", "description_zh_html": "<p>\u8fc7\u7a0b\u8bed\u8a00 plpython2u\u3002</p><dl><dt>\u8fd0\u7b97\u7b26\u65cf</dt><dd><code>PL/Python</code></dd><dt>\u5904\u7406\u51fd\u6570</dt><dd><code>plpython2_call_handler</code></dd><dt>\u5e93</dt><dd><code>$libdir/plpython2</code></dd><dt>\u53d7\u4fe1\u4efb</dt><dd><code>\u5426</code></dd><dt>\u9a8c\u8bc1\u51fd\u6570</dt><dd><code>plpython2_validator</code></dd><dt>\u5185\u8054\u5904\u7406\u51fd\u6570</dt><dd><code>plpython2_inline_handler</code></dd><dt>\u9ed8\u8ba4\u7248\u672c</dt><dd><code>1.0</code></dd><dt>\u6a21\u5757\u8def\u5f84</dt><dd><code>$libdir/plpython2</code></dd></dl><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u8282\u9009</h3><p>\n<span>PL/Python</span> \u8fc7\u7a0b\u8bed\u8a00\u5141\u8bb8\u4f7f\u7528 <a href=\"https://www.python.org\" rel=\"nofollow\">Python \u8bed\u8a00</a>\u7f16\u5199 <span>PostgreSQL</span> \u51fd\u6570\u548c\u8fc7\u7a0b\u3002\n </p><p>\n  \u8981\u5728\u7279\u5b9a\u6570\u636e\u5e93\u4e2d\u5b89\u88c5 PL/Python\uff0c\u53ef\u4f7f\u7528 <code>CREATE EXTENSION plpythonu</code>\uff08\u53e6\u89c1<a href=\"/zh/docs/14/plpython.html#PLPYTHON-PYTHON23\" rel=\"nofollow\">\u7b2c\u00a046.1\u00a0\u8282</a>\uff09\u3002\n </p><p>\n  PL/Python \u53ea\u80fd\u4f5c\u4e3a\u4e00\u79cd<span>\u201c<span>\u4e0d\u53d7\u4fe1\u4efb\u7684</span>\u201d</span>\u8bed\u8a00\u4f7f\u7528\uff0c\u8fd9\u610f\u5473\u7740\u5b83\u4e0d\u63d0\u4f9b\u4efb\u4f55\u673a\u5236\u6765\u9650\u5236\u7528\u6237\u80fd\u5728\u5176\u4e2d\u505a\u4ec0\u4e48\uff0c\u56e0\u6b64\u5176\u540d\u79f0\u4e3a <code>plpythonu</code>\u3002\u5982\u679c\u5c06\u6765\u80fd\u5728 Python \u4e2d\u5f00\u53d1\u51fa\u5b89\u5168\u7684\u6267\u884c\u673a\u5236\uff0c\u53d7\u4fe1\u4efb\u7684\u53d8\u4f53 <code>plpython</code> \u53ef\u80fd\u4f1a\u51fa\u73b0\u3002\u4f7f\u7528\u4e0d\u53d7\u4fe1\u4efb\u7684 PL/Python \u7f16\u5199\u51fd\u6570\u65f6\uff0c\u51fd\u6570\u7f16\u5199\u8005\u5fc5\u987b\u786e\u4fdd\u8be5\u51fd\u6570\u4e0d\u4f1a\u88ab\u7528\u6765\u505a\u4efb\u4f55\u4e0d\u5e0c\u671b\u53d1\u751f\u7684\u4e8b\u60c5\uff0c\u56e0\u4e3a\u5b83\u80fd\u591f\u505a\u5230\u4efb\u4f55\u4ee5\u6570\u636e\u5e93\u7ba1\u7406\u5458\u8eab\u4efd\u767b\u5f55\u7684\u7528\u6237\u6240\u80fd\u505a\u7684\u4e8b\u60c5\u3002\u53ea\u6709\u8d85\u7ea7\u7528\u6237\u624d\u80fd\u5728 <code>plpythonu</code> \u8fd9\u7c7b\u4e0d\u53d7\u4fe1\u4efb\u7684\u8bed\u8a00\u4e2d\u521b\u5efa\u51fd\u6570\u3002\n </p><p><a href=\"/zh/docs/14/plpython.html\" rel=\"nofollow\">\u67e5\u770b\u5b8c\u6574\u4e2d\u6587\u624b\u518c\u4e0e\u4e0a\u4e0b\u6587</a>\u3002</p>"}}}, "snapshot": null, "comparison": {"left": "17", "right": "18", "status": "unchanged", "diff": ""}}