{"kind": "psql", "major": "18", "item": {"slug": "cmd-65-66", "name": "\\ef", "name_zh": "", "category": "\u67e5\u8be2\u7f13\u51b2\u533a\u4e0e\u7f16\u8f91", "summary": "\u8fd9\u4e2a\u547d\u4ee4\u83b7\u53d6\u5e76\u7f16\u8f91\u6307\u5b9a\u51fd\u6570\u6216\u8fc7\u7a0b\u7684\u5b9a\u4e49\uff0c\u5f62\u5f0f\u4e3a CREATE OR REPLACE FUNCTION \u6216 CREATE OR REPLACE PROCEDURE \u547d\u4ee4\u3002\u7f16\u8f91\u65b9\u5f0f\u4e0e \\edit \u76f8\u540c\u3002\u5982\u679c\u5728\u4e0d\u4fdd\u5b58\u7684\u60c5\u51b5\u4e0b\u9000\u51fa\u7f16\u8f91\u5668\uff0c\u5219\u8be5\u8bed\u53e5\u4f1a\u88ab\u4e22\u5f03\u3002\u5982\u679c\u4fdd\u5b58\u5e76\u9000\u51fa\u7f16\u8f91\u5668\uff0c\u5e76\u5728\u5176\u4e2d\u6dfb\u52a0\u4e86\u5206\u53f7\uff0c\u5219\u66f4\u65b0\u540e\u7684\u547d\u4ee4\u4f1a\u7acb\u5373\u6267\u884c\u3002\u5426\u5219\u5b83\u4f1a\u91cd\u65b0\u663e\u793a\uff1b\u952e\u5165\u5206\u53f7\u6216 \\g \u53d1\u9001\u5b83\uff0c\u6216\u7528 \\r \u53d6\u6d88\u3002", "aliases": ["\\ef"], "content_hash": "e1951bda53cb70e0798d38cf3250c862131f5d1707d4f366e13ede6c0e57bc10", "versions": {"10": {"facts": [{"label": "\u5ba2\u6237\u7aef", "value": "psql 10.23"}, {"label": "\u533a\u5206\u5927\u5c0f\u5199\u7684\u5199\u6cd5", "value": "\\ef"}], "tables": [{"key": "spellings", "rows": [{"command": {"url": "/wiki/psql/cmd-65-66/?v=10", "text": "\\ef"}, "modifiers": "\u6b64\u8bed\u6cd5\u7b7e\u540d\u672a\u5217\u51fa"}], "title": "\u672c\u7248\u624b\u518c\u4e2d\u7684\u5199\u6cd5", "columns": [{"key": "command", "label": "\u547d\u4ee4"}, {"key": "modifiers", "label": "\u624b\u518c\u4e2d\u7684\u540e\u7f00\u4fee\u9970\u7b26"}]}], "command": "\\ef", "related": [{"url": "/wiki/tool/psql/?v=10", "label": "psql \u547d\u4ee4\u884c\u9009\u9879\u53ca\u5b8c\u6574\u624b\u518c"}], "release": {"ref": "https://ftp.postgresql.org/pub/source/v10.23/postgresql-10.23.tar.bz2", "label": "10.23", "major": "10", "channel": "historical", "manifest": {"pdf": {"A4": {"url": "/files/documentation/pdf/10/postgresql-10-A4.pdf", "bytes": 12631706, "pages": 2591, "sha256": "34497ab9efb45c5bdf1bd11b9016b5451354feb462fa029cf74557a5fa5fbbc1", "built_at": "2026-09-26"}, "US": {"url": "/files/documentation/pdf/10/postgresql-10-US.pdf", "bytes": 12531684, "pages": 2724, "sha256": "429cc7133ddf4f97c560aa466dc9caea4b718721a8321e293357037cf0af4733", "built_at": "2026-09-26"}}, "tree": "10", "index": "index.html", "major": "10", "pages": 1085, "release": "10.23", "source_url": "https://ftp.postgresql.org/pub/source/v10.23/postgresql-10.23.tar.bz2", "svg_assets": 0, "source_mode": "en HTML verified against the pinned official archive", "source_sha256": "94a4b2528372458e5662c18d406629266667c437198160a18cdfd2c4a4d6eee9"}, "revision": "f9301feba91e2e2566038a36b8cee0e4402db68989538f88670fddd20b1f78ea", "evidence_kind": "English manual and source declarations", "source_sha256": "94a4b2528372458e5662c18d406629266667c437198160a18cdfd2c4a4d6eee9"}, "sources": [{"url": "/docs/10/app-psql.html#APP-PSQL-META-COMMANDS", "file": "app-psql.html", "label": "10.23 English manual \u00b7 app-psql.html", "anchor": "APP-PSQL-META-COMMANDS", "sha256": "9e11fe3148cb8c085808f632ed972aa4514332a67758a083a080169101eeb7a4"}], "zh_from": {"kind": "same-version-chinese-manual-with-source-derived-identity", "manual": {"url": "/zh/docs/10/app-psql.html#APP-PSQL-META-COMMANDS", "anchor": "APP-PSQL-META-COMMANDS", "locale": "zh-Hans", "version": "10", "build_id": 63, "page_key": "app-psql.html", "extraction": "exact-definition", "source_hash": "d8122755e2eb3b6ec41a78b0f6218b4c63e0caac5190724266155c8abf3676f5", "fragment_sha256": "20aeb28c68e815ce3bbc514458859f97874220f61c4bc88b7ce3a791d2e830eb", "source_revision": "unknown:rendered-translation-baseline", "translation_revision": "snapshot:sha256:62997ea80516ad012fbf6359de33f3b016b54c47e2df76e75606116b4baaf8e5", "translated_from_revision": null}, "body_sha256": "a51db907869fc2e347cfb9f29f65d2d16c96960bb02fc31e64ff170715082eb6", "runtime_rerun": false, "authored_translation": "source-derived-identity", "source_facts_revision": "f9301feba91e2e2566038a36b8cee0e4402db68989538f88670fddd20b1f78ea"}, "facts_zh": [{"label": "\u5ba2\u6237\u7aef", "value": "psql 10.23"}, {"label": "\u533a\u5206\u5927\u5c0f\u5199\u7684\u5199\u6cd5", "value": "\\ef"}], "sections": [], "center_zh": {"title": "\\ef", "locale": "zh-Hans", "source": {"key": "cmd-65-66", "locale": "zh-Hans", "version": "10", "text_hash": "14f11ecea868cfcd7bd61e98ab7a4acf4ecccf9deb8b8925781ac6b3926a8376", "collection": "psql", "dataset_hash": "7c31b524dfe136022d39a6ae8dcfac6b3bbd5f8fdaf422536599981252aff0c9", "source_database": "center", "source_revision": "f9301feba91e2e2566038a36b8cee0e4402db68989538f88670fddd20b1f78ea"}, "payload": {"facts": [{"label": "\u5ba2\u6237\u7aef", "value": "psql 10.23"}, {"label": "\u533a\u5206\u5927\u5c0f\u5199\u7684\u5199\u6cd5", "value": "\\ef"}], "tables": [{"key": "spellings", "rows": [{"command": {"url": "/wiki/psql/cmd-65-66/?v=10", "text": "\\ef"}, "modifiers": "\u6b64\u8bed\u6cd5\u7b7e\u540d\u672a\u5217\u51fa"}], "title": "\u672c\u7248\u624b\u518c\u4e2d\u7684\u5199\u6cd5", "columns": [{"key": "command", "label": "\u547d\u4ee4"}, {"key": "modifiers", "label": "\u624b\u518c\u4e2d\u7684\u540e\u7f00\u4fee\u9970\u7b26"}]}], "zh_from": {"kind": "same-version-chinese-manual-with-source-derived-identity", "manual": {"url": "/zh/docs/10/app-psql.html#APP-PSQL-META-COMMANDS", "anchor": "APP-PSQL-META-COMMANDS", "locale": "zh-Hans", "version": "10", "build_id": 63, "page_key": "app-psql.html", "extraction": "exact-definition", "source_hash": "d8122755e2eb3b6ec41a78b0f6218b4c63e0caac5190724266155c8abf3676f5", "fragment_sha256": "20aeb28c68e815ce3bbc514458859f97874220f61c4bc88b7ce3a791d2e830eb", "source_revision": "unknown:rendered-translation-baseline", "translation_revision": "snapshot:sha256:62997ea80516ad012fbf6359de33f3b016b54c47e2df76e75606116b4baaf8e5", "translated_from_revision": null}, "body_sha256": "a51db907869fc2e347cfb9f29f65d2d16c96960bb02fc31e64ff170715082eb6", "runtime_rerun": false, "authored_translation": "source-derived-identity", "source_facts_revision": "f9301feba91e2e2566038a36b8cee0e4402db68989538f88670fddd20b1f78ea"}, "sections": [], "description_zh": "\u8fd9\u4e2a\u547d\u4ee4\u83b7\u53d6\u5e76\u7f16\u8f91\u6307\u5b9a\u51fd\u6570\u7684\u5b9a\u4e49\uff0c\u5f62\u5f0f\u4e3a CREATE OR REPLACE FUNCTION \u547d\u4ee4\u3002\u7f16\u8f91\u65b9\u5f0f\u4e0e \\edit \u76f8\u540c\u3002\u7f16\u8f91\u5668\u9000\u51fa\u540e\uff0c\u66f4\u65b0\u540e\u7684\u547d\u4ee4\u4f1a\u5728\u67e5\u8be2\u7f13\u51b2\u533a\u4e2d\u7b49\u5f85\uff1b\u952e\u5165\u5206\u53f7\u6216 \\g \u53d1\u9001\u5b83\uff0c\u6216\u7528 \\r \u53d6\u6d88\u3002 \u76ee\u6807\u51fd\u6570\u53ef\u4ee5\u53ea\u7528\u540d\u79f0\u6307\u5b9a\uff0c\u4e5f\u53ef\u4ee5\u540c\u65f6\u7ed9\u51fa\u540d\u79f0\u548c\u53c2\u6570\uff0c\u4f8b\u5982 foo(integer, text) \u3002\u5982\u679c\u5b58\u5728\u591a\u4e2a\u540c\u540d\u51fd\u6570\uff0c\u5c31\u5fc5\u987b\u7ed9\u51fa\u53c2\u6570\u7c7b\u578b\u3002 \u5982\u679c\u672a\u6307\u5b9a\u51fd\u6570\uff0c\u5219\u4f1a\u5448\u73b0\u4e00\u4e2a\u7a7a\u7684 CREATE FUNCTION \u6a21\u677f\u4f9b\u7f16\u8f91\u3002 \u5982\u679c\u6307\u5b9a\u4e86\u884c\u53f7\uff0c psql \u4f1a\u5c06\u5149\u6807\u5b9a\u4f4d\u5230\u51fd\u6570\u4f53\u4e2d\u7684\u6307\u5b9a\u884c\u3002\uff08\u8bf7\u6ce8\u610f\uff0c\u51fd\u6570\u4f53\u901a\u5e38\u5e76\u4e0d\u4ece\u6587\u4ef6\u7684\u7b2c\u4e00\u884c\u5f00\u59cb\u3002\uff09 \u4e0e\u5927\u591a\u6570\u5176\u4ed6\u5143\u547d\u4ee4\u4e0d\u540c\uff0c\u6574\u4e2a\u884c\u7684\u5269\u4f59\u90e8\u5206\u59cb\u7ec8\u88ab\u89c6\u4e3a \\ef \u7684\u53c2\u6570\uff0c\u53c2\u6570\u4e2d\u4e0d\u8fdb\u884c\u53d8\u91cf\u63d2\u503c\u6216\u53cd\u5f15\u53f7\u6269\u5c55\u3002 \u63d0\u793a \u6709\u5173\u5982\u4f55\u914d\u7f6e\u548c\u5b9a\u5236\u7f16\u8f91\u5668\uff0c\u8bf7\u53c2\u89c1\u4e0b\u9762\u7684 \u73af\u5883 \u3002", "description_zh_html": "<p>psql \u547d\u4ee4 \\ef [ function_description [ line_number ] ]\u3002</p><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u5b9a\u4e49</h3><dd><p>         \u8fd9\u4e2a\u547d\u4ee4\u83b7\u53d6\u5e76\u7f16\u8f91\u6307\u5b9a\u51fd\u6570\u7684\u5b9a\u4e49\uff0c\u5f62\u5f0f\u4e3a <code class=\"command\">CREATE OR REPLACE FUNCTION</code> \u547d\u4ee4\u3002\u7f16\u8f91\u65b9\u5f0f\u4e0e<code class=\"literal\">\\edit</code> \u76f8\u540c\u3002\u7f16\u8f91\u5668\u9000\u51fa\u540e\uff0c\u66f4\u65b0\u540e\u7684\u547d\u4ee4\u4f1a\u5728\u67e5\u8be2\u7f13\u51b2\u533a\u4e2d\u7b49\u5f85\uff1b\u952e\u5165\u5206\u53f7\u6216<code class=\"literal\">\\g</code> \u53d1\u9001\u5b83\uff0c\u6216\u7528<code class=\"literal\">\\r</code> \u53d6\u6d88\u3002\n        </p><p>\u76ee\u6807\u51fd\u6570\u53ef\u4ee5\u53ea\u7528\u540d\u79f0\u6307\u5b9a\uff0c\u4e5f\u53ef\u4ee5\u540c\u65f6\u7ed9\u51fa\u540d\u79f0\u548c\u53c2\u6570\uff0c\u4f8b\u5982 <code class=\"literal\">foo(integer, text)</code>\u3002\u5982\u679c\u5b58\u5728\u591a\u4e2a\u540c\u540d\u51fd\u6570\uff0c\u5c31\u5fc5\u987b\u7ed9\u51fa\u53c2\u6570\u7c7b\u578b\u3002</p><p>         \u5982\u679c\u672a\u6307\u5b9a\u51fd\u6570\uff0c\u5219\u4f1a\u5448\u73b0\u4e00\u4e2a\u7a7a\u7684 <code class=\"command\">CREATE FUNCTION</code> \u6a21\u677f\u4f9b\u7f16\u8f91\u3002\n        </p><p>\u5982\u679c\u6307\u5b9a\u4e86\u884c\u53f7\uff0c<span class=\"application\">psql</span> \u4f1a\u5c06\u5149\u6807\u5b9a\u4f4d\u5230\u51fd\u6570\u4f53\u4e2d\u7684\u6307\u5b9a\u884c\u3002\uff08\u8bf7\u6ce8\u610f\uff0c\u51fd\u6570\u4f53\u901a\u5e38\u5e76\u4e0d\u4ece\u6587\u4ef6\u7684\u7b2c\u4e00\u884c\u5f00\u59cb\u3002\uff09</p><p>        \u4e0e\u5927\u591a\u6570\u5176\u4ed6\u5143\u547d\u4ee4\u4e0d\u540c\uff0c\u6574\u4e2a\u884c\u7684\u5269\u4f59\u90e8\u5206\u59cb\u7ec8\u88ab\u89c6\u4e3a<code class=\"command\">\\ef</code> \u7684\u53c2\u6570\uff0c\u53c2\u6570\u4e2d\u4e0d\u8fdb\u884c\u53d8\u91cf\u63d2\u503c\u6216\u53cd\u5f15\u53f7\u6269\u5c55\u3002\n        </p><div class=\"tip\"><h3 class=\"title\">\u63d0\u793a</h3><p>\u6709\u5173\u5982\u4f55\u914d\u7f6e\u548c\u5b9a\u5236\u7f16\u8f91\u5668\uff0c\u8bf7\u53c2\u89c1\u4e0b\u9762\u7684<a class=\"xref\" href=\"/zh/docs/10/app-psql.html#APP-PSQL-ENVIRONMENT\">\u73af\u5883</a>\u3002</p></div></dd><p><a href=\"/zh/docs/10/app-psql.html#APP-PSQL-META-COMMANDS\">\u67e5\u770b\u5b8c\u6574\u4e2d\u6587\u624b\u518c\u4e0e\u4e0a\u4e0b\u6587</a>\u3002</p>"}, "summary": "\u8fd9\u4e2a\u547d\u4ee4\u83b7\u53d6\u5e76\u7f16\u8f91\u6307\u5b9a\u51fd\u6570\u7684\u5b9a\u4e49\uff0c\u5f62\u5f0f\u4e3a CREATE OR REPLACE FUNCTION \u547d\u4ee4\u3002\u7f16\u8f91\u65b9\u5f0f\u4e0e \\edit \u76f8\u540c\u3002\u7f16\u8f91\u5668\u9000\u51fa\u540e\uff0c\u66f4\u65b0\u540e\u7684\u547d\u4ee4\u4f1a\u5728\u67e5\u8be2\u7f13\u51b2\u533a\u4e2d\u7b49\u5f85\uff1b\u952e\u5165\u5206\u53f7\u6216 \\g \u53d1\u9001\u5b83\uff0c\u6216\u7528 \\r \u53d6\u6d88\u3002 \u76ee\u6807\u51fd\u6570\u53ef\u4ee5\u53ea\u7528\u540d\u79f0\u6307\u5b9a\uff0c\u4e5f\u53ef\u4ee5\u540c\u65f6\u7ed9\u51fa\u540d\u79f0\u548c\u53c2\u6570\uff0c\u4f8b\u5982 foo(integer, text) \u3002\u5982\u679c\u5b58\u5728\u591a\u4e2a\u540c\u540d\u51fd\u6570\uff0c\u5c31\u5fc5\u987b\u7ed9\u51fa\u53c2\u6570\u7c7b\u578b\u3002 \u5982\u679c\u672a\u6307\u5b9a\u51fd\u6570\uff0c\u5219\u4f1a\u5448\u73b0\u4e00\u4e2a\u7a7a\u7684 CREATE FUNCTION \u6a21\u677f\u4f9b\u7f16\u8f91\u3002 \u5982\u679c\u6307\u5b9a\u4e86\u884c\u53f7\uff0c psql \u4f1a\u5c06\u5149\u6807\u5b9a\u4f4d\u5230\u51fd\u6570\u4f53\u4e2d\u7684\u6307\u5b9a\u884c\u3002\uff08\u8bf7\u6ce8\u610f\uff0c\u51fd\u6570\u4f53\u901a\u5e38\u5e76\u4e0d\u4ece\u6587\u4ef6\u7684\u7b2c\u4e00\u884c\u5f00\u59cb\u3002\uff09 \u4e0e\u5927\u591a\u6570\u5176\u4ed6\u5143\u547d\u4ee4\u4e0d\u540c\uff0c\u6574\u4e2a\u884c\u7684\u5269\u4f59\u90e8\u5206\u59cb\u7ec8\u88ab\u89c6\u4e3a \\ef \u7684\u53c2\u6570\uff0c\u53c2\u6570\u4e2d\u4e0d\u8fdb\u884c\u53d8\u91cf\u63d2\u503c\u6216\u53cd\u5f15\u53f7\u6269\u5c55\u3002 \u63d0\u793a \u6709\u5173\u5982\u4f55\u914d\u7f6e\u548c\u5b9a\u5236\u7f16\u8f91\u5668\uff0c\u8bf7\u53c2\u89c1\u4e0b\u9762\u7684 \u73af\u5883 \u3002", "version": "10", "link_map": {"/zh/docs/10/app-psql.html#APP-PSQL-ENVIRONMENT": "/docs/10/app-psql.html#APP-PSQL-ENVIRONMENT", "/zh/docs/10/app-psql.html#APP-PSQL-META-COMMANDS": "/docs/10/app-psql.html#APP-PSQL-META-COMMANDS"}, "body_html": "<p>psql \u547d\u4ee4 \\ef [ function_description [ line_number ] ]\u3002</p><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u5b9a\u4e49</h3><dd><p>         \u8fd9\u4e2a\u547d\u4ee4\u83b7\u53d6\u5e76\u7f16\u8f91\u6307\u5b9a\u51fd\u6570\u7684\u5b9a\u4e49\uff0c\u5f62\u5f0f\u4e3a <code>CREATE OR REPLACE FUNCTION</code> \u547d\u4ee4\u3002\u7f16\u8f91\u65b9\u5f0f\u4e0e<code>\\edit</code> \u76f8\u540c\u3002\u7f16\u8f91\u5668\u9000\u51fa\u540e\uff0c\u66f4\u65b0\u540e\u7684\u547d\u4ee4\u4f1a\u5728\u67e5\u8be2\u7f13\u51b2\u533a\u4e2d\u7b49\u5f85\uff1b\u952e\u5165\u5206\u53f7\u6216<code>\\g</code> \u53d1\u9001\u5b83\uff0c\u6216\u7528<code>\\r</code> \u53d6\u6d88\u3002\n        </p><p>\u76ee\u6807\u51fd\u6570\u53ef\u4ee5\u53ea\u7528\u540d\u79f0\u6307\u5b9a\uff0c\u4e5f\u53ef\u4ee5\u540c\u65f6\u7ed9\u51fa\u540d\u79f0\u548c\u53c2\u6570\uff0c\u4f8b\u5982 <code>foo(integer, text)</code>\u3002\u5982\u679c\u5b58\u5728\u591a\u4e2a\u540c\u540d\u51fd\u6570\uff0c\u5c31\u5fc5\u987b\u7ed9\u51fa\u53c2\u6570\u7c7b\u578b\u3002</p><p>         \u5982\u679c\u672a\u6307\u5b9a\u51fd\u6570\uff0c\u5219\u4f1a\u5448\u73b0\u4e00\u4e2a\u7a7a\u7684 <code>CREATE FUNCTION</code> \u6a21\u677f\u4f9b\u7f16\u8f91\u3002\n        </p><p>\u5982\u679c\u6307\u5b9a\u4e86\u884c\u53f7\uff0c<span>psql</span> \u4f1a\u5c06\u5149\u6807\u5b9a\u4f4d\u5230\u51fd\u6570\u4f53\u4e2d\u7684\u6307\u5b9a\u884c\u3002\uff08\u8bf7\u6ce8\u610f\uff0c\u51fd\u6570\u4f53\u901a\u5e38\u5e76\u4e0d\u4ece\u6587\u4ef6\u7684\u7b2c\u4e00\u884c\u5f00\u59cb\u3002\uff09</p><p>        \u4e0e\u5927\u591a\u6570\u5176\u4ed6\u5143\u547d\u4ee4\u4e0d\u540c\uff0c\u6574\u4e2a\u884c\u7684\u5269\u4f59\u90e8\u5206\u59cb\u7ec8\u88ab\u89c6\u4e3a<code>\\ef</code> \u7684\u53c2\u6570\uff0c\u53c2\u6570\u4e2d\u4e0d\u8fdb\u884c\u53d8\u91cf\u63d2\u503c\u6216\u53cd\u5f15\u53f7\u6269\u5c55\u3002\n        </p><div><h3>\u63d0\u793a</h3><p>\u6709\u5173\u5982\u4f55\u914d\u7f6e\u548c\u5b9a\u5236\u7f16\u8f91\u5668\uff0c\u8bf7\u53c2\u89c1\u4e0b\u9762\u7684<a href=\"/zh/docs/10/app-psql.html#APP-PSQL-ENVIRONMENT\" rel=\"nofollow\">\u73af\u5883</a>\u3002</p></div></dd><p><a href=\"/zh/docs/10/app-psql.html#APP-PSQL-META-COMMANDS\" rel=\"nofollow\">\u67e5\u770b\u5b8c\u6574\u4e2d\u6587\u624b\u518c\u4e0e\u4e0a\u4e0b\u6587</a>\u3002</p>", "body_sha256": "986f3c6765953a0172dc0b5f4cc3937dd9743ff884c22862e245f671774a9aa1", "content_hash": "14f11ecea868cfcd7bd61e98ab7a4acf4ecccf9deb8b8925781ac6b3926a8376", "source_database": "center", "source_revision": "f9301feba91e2e2566038a36b8cee0e4402db68989538f88670fddd20b1f78ea"}, "modifiers": [], "signature": "\\ef [ function_description [ line_number ] ]", "spellings": ["\\ef"], "tables_zh": [{"key": "spellings", "rows": [{"command": {"url": "/wiki/psql/cmd-65-66/?v=10", "text": "\\ef"}, "modifiers": "\u6b64\u8bed\u6cd5\u7b7e\u540d\u672a\u5217\u51fa"}], "title": "\u672c\u7248\u624b\u518c\u4e2d\u7684\u5199\u6cd5", "columns": [{"key": "command", "label": "\u547d\u4ee4"}, {"key": "modifiers", "label": "\u624b\u518c\u4e2d\u7684\u540e\u7f00\u4fee\u9970\u7b26"}]}], "description": ["\u8fd9\u4e2a\u547d\u4ee4\u83b7\u53d6\u5e76\u7f16\u8f91\u6307\u5b9a\u51fd\u6570\u7684\u5b9a\u4e49\uff0c\u5f62\u5f0f\u4e3a CREATE OR REPLACE FUNCTION \u547d\u4ee4\u3002\u7f16\u8f91\u65b9\u5f0f\u4e0e \\edit \u76f8\u540c\u3002\u7f16\u8f91\u5668\u9000\u51fa\u540e\uff0c\u66f4\u65b0\u540e\u7684\u547d\u4ee4\u4f1a\u5728\u67e5\u8be2\u7f13\u51b2\u533a\u4e2d\u7b49\u5f85\uff1b\u952e\u5165\u5206\u53f7\u6216 \\g \u53d1\u9001\u5b83\uff0c\u6216\u7528 \\r \u53d6\u6d88\u3002 \u76ee\u6807\u51fd\u6570\u53ef\u4ee5\u53ea\u7528\u540d\u79f0\u6307\u5b9a\uff0c\u4e5f\u53ef\u4ee5\u540c\u65f6\u7ed9\u51fa\u540d\u79f0\u548c\u53c2\u6570\uff0c\u4f8b\u5982 foo(integer, text) \u3002\u5982\u679c\u5b58\u5728\u591a\u4e2a\u540c\u540d\u51fd\u6570\uff0c\u5c31\u5fc5\u987b\u7ed9\u51fa\u53c2\u6570\u7c7b\u578b\u3002 \u5982\u679c\u672a\u6307\u5b9a\u51fd\u6570\uff0c\u5219\u4f1a\u5448\u73b0\u4e00\u4e2a\u7a7a\u7684 CREATE FUNCTION \u6a21\u677f\u4f9b\u7f16\u8f91\u3002 \u5982\u679c\u6307\u5b9a\u4e86\u884c\u53f7\uff0c psql \u4f1a\u5c06\u5149\u6807\u5b9a\u4f4d\u5230\u51fd\u6570\u4f53\u4e2d\u7684\u6307\u5b9a\u884c\u3002\uff08\u8bf7\u6ce8\u610f\uff0c\u51fd\u6570\u4f53\u901a\u5e38\u5e76\u4e0d\u4ece\u6587\u4ef6\u7684\u7b2c\u4e00\u884c\u5f00\u59cb\u3002\uff09 \u4e0e\u5927\u591a\u6570\u5176\u4ed6\u5143\u547d\u4ee4\u4e0d\u540c\uff0c\u6574\u4e2a\u884c\u7684\u5269\u4f59\u90e8\u5206\u59cb\u7ec8\u88ab\u89c6\u4e3a \\ef \u7684\u53c2\u6570\uff0c\u53c2\u6570\u4e2d\u4e0d\u8fdb\u884c\u53d8\u91cf\u63d2\u503c\u6216\u53cd\u5f15\u53f7\u6269\u5c55\u3002 \u63d0\u793a \u6709\u5173\u5982\u4f55\u914d\u7f6e\u548c\u5b9a\u5236\u7f16\u8f91\u5668\uff0c\u8bf7\u53c2\u89c1\u4e0b\u9762\u7684 \u73af\u5883 \u3002"], "manual_html": "", "manual_path": "app-psql.html#APP-PSQL-META-COMMANDS", "sections_zh": [], "localization": {"status": "complete", "sources": [{"url": "/docs/10/app-psql.html", "method": "same-major semantic node", "sha256": "07e2383663e136e49c565dc43b76b773af4caa89393ce1854d32ec8cc15f2d3c", "language": "zh", "matched_nodes": ["#APP-PSQL/div[7]/div[3]/div[10]/dl[0]/dd[7]/div[1]/h3[0]", "#APP-PSQL/div[7]/div[3]/div[10]/dl[0]/dd[83]/div[3]/p[1]", "#APP-PSQL/div[7]/div[3]/div[10]/dl[0]/dd[87]/p[0]", "#APP-PSQL/div[7]/div[3]/div[10]/dl[0]/dd[87]/p[2]", "#APP-PSQL/div[7]/div[3]/div[10]/dl[0]/dd[87]/p[3]", "#APP-PSQL/div[7]/div[3]/div[10]/dl[0]/dd[87]/p[4]"]}], "language": "zh", "original_text": {"/versions/10/description/0": "This command fetches and edits the definition of the named function, in the form of a CREATE OR REPLACE FUNCTION command. Editing is done in the same way as for \\edit . After the editor exits, the updated command waits in the query buffer; type semicolon or \\g to send it, or \\r to cancel.", "/versions/10/facts/0/label": "Client", "/versions/10/facts/1/label": "Case-sensitive spelling", "/versions/10/tables/0/title": "Spellings in this manual definition", "/versions/10/related/0/label": "psql command-line options and complete manual", "/versions/10/tables/0/columns/0/label": "Command", "/versions/10/tables/0/columns/1/label": "Documented suffix modifiers", "/versions/10/tables/0/rows/0/modifiers": "None listed in this signature"}, "fallback_fields": [], "source_language": "en", "original_snapshot_sha256": "ada8c6fe85cec3c3b377ee15fea95beec8db0660c71630d859ef06bd286eb6f1", "canonical_center_text_hash": "14f11ecea868cfcd7bd61e98ab7a4acf4ecccf9deb8b8925781ac6b3926a8376"}, "description_zh": "\u8fd9\u4e2a\u547d\u4ee4\u83b7\u53d6\u5e76\u7f16\u8f91\u6307\u5b9a\u51fd\u6570\u7684\u5b9a\u4e49\uff0c\u5f62\u5f0f\u4e3a CREATE OR REPLACE FUNCTION \u547d\u4ee4\u3002\u7f16\u8f91\u65b9\u5f0f\u4e0e \\edit \u76f8\u540c\u3002\u7f16\u8f91\u5668\u9000\u51fa\u540e\uff0c\u66f4\u65b0\u540e\u7684\u547d\u4ee4\u4f1a\u5728\u67e5\u8be2\u7f13\u51b2\u533a\u4e2d\u7b49\u5f85\uff1b\u952e\u5165\u5206\u53f7\u6216 \\g \u53d1\u9001\u5b83\uff0c\u6216\u7528 \\r \u53d6\u6d88\u3002 \u76ee\u6807\u51fd\u6570\u53ef\u4ee5\u53ea\u7528\u540d\u79f0\u6307\u5b9a\uff0c\u4e5f\u53ef\u4ee5\u540c\u65f6\u7ed9\u51fa\u540d\u79f0\u548c\u53c2\u6570\uff0c\u4f8b\u5982 foo(integer, text) \u3002\u5982\u679c\u5b58\u5728\u591a\u4e2a\u540c\u540d\u51fd\u6570\uff0c\u5c31\u5fc5\u987b\u7ed9\u51fa\u53c2\u6570\u7c7b\u578b\u3002 \u5982\u679c\u672a\u6307\u5b9a\u51fd\u6570\uff0c\u5219\u4f1a\u5448\u73b0\u4e00\u4e2a\u7a7a\u7684 CREATE FUNCTION \u6a21\u677f\u4f9b\u7f16\u8f91\u3002 \u5982\u679c\u6307\u5b9a\u4e86\u884c\u53f7\uff0c psql \u4f1a\u5c06\u5149\u6807\u5b9a\u4f4d\u5230\u51fd\u6570\u4f53\u4e2d\u7684\u6307\u5b9a\u884c\u3002\uff08\u8bf7\u6ce8\u610f\uff0c\u51fd\u6570\u4f53\u901a\u5e38\u5e76\u4e0d\u4ece\u6587\u4ef6\u7684\u7b2c\u4e00\u884c\u5f00\u59cb\u3002\uff09 \u4e0e\u5927\u591a\u6570\u5176\u4ed6\u5143\u547d\u4ee4\u4e0d\u540c\uff0c\u6574\u4e2a\u884c\u7684\u5269\u4f59\u90e8\u5206\u59cb\u7ec8\u88ab\u89c6\u4e3a \\ef \u7684\u53c2\u6570\uff0c\u53c2\u6570\u4e2d\u4e0d\u8fdb\u884c\u53d8\u91cf\u63d2\u503c\u6216\u53cd\u5f15\u53f7\u6269\u5c55\u3002 \u63d0\u793a \u6709\u5173\u5982\u4f55\u914d\u7f6e\u548c\u5b9a\u5236\u7f16\u8f91\u5668\uff0c\u8bf7\u53c2\u89c1\u4e0b\u9762\u7684 \u73af\u5883 \u3002", "comparison_data": {"modifiers": [], "signature": "\\ef [ function_description [ line_number ] ]", "spellings": ["\\ef"], "definition": "This command fetches and edits the definition of the named function, in the form of a CREATE OR REPLACE FUNCTION command. Editing is done in the same way as for \\edit . After the editor exits, the updated command waits in the query buffer; type semicolon or \\g to send it, or \\r to cancel. The target function can be specified by name alone, or by name and arguments, for example foo(integer, text) . The argument types must be given if there is more than one function of the same name. If no function is specified, a blank CREATE FUNCTION template is presented for editing. If a line number is specified, psql will position the cursor on the specified line of the function body. (Note that the function body typically does not begin on the first line of the file.) Unlike most other meta-commands, the entire remainder of the line is always taken to be the argument(s) of \\ef , and neither variable interpolation nor backquote expansion are performed in the arguments. Tip See under Environment for how to configure and customize your editor."}, "comparison_hash": "260a48200affa3a517351b27958343b42b7784eccf961665afe784575e586343", "manual_language": "zh", "description_zh_html": "<p>psql \u547d\u4ee4 \\ef [ function_description [ line_number ] ]\u3002</p><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u5b9a\u4e49</h3><dd><p>         \u8fd9\u4e2a\u547d\u4ee4\u83b7\u53d6\u5e76\u7f16\u8f91\u6307\u5b9a\u51fd\u6570\u7684\u5b9a\u4e49\uff0c\u5f62\u5f0f\u4e3a <code>CREATE OR REPLACE FUNCTION</code> \u547d\u4ee4\u3002\u7f16\u8f91\u65b9\u5f0f\u4e0e<code>\\edit</code> \u76f8\u540c\u3002\u7f16\u8f91\u5668\u9000\u51fa\u540e\uff0c\u66f4\u65b0\u540e\u7684\u547d\u4ee4\u4f1a\u5728\u67e5\u8be2\u7f13\u51b2\u533a\u4e2d\u7b49\u5f85\uff1b\u952e\u5165\u5206\u53f7\u6216<code>\\g</code> \u53d1\u9001\u5b83\uff0c\u6216\u7528<code>\\r</code> \u53d6\u6d88\u3002\n        </p><p>\u76ee\u6807\u51fd\u6570\u53ef\u4ee5\u53ea\u7528\u540d\u79f0\u6307\u5b9a\uff0c\u4e5f\u53ef\u4ee5\u540c\u65f6\u7ed9\u51fa\u540d\u79f0\u548c\u53c2\u6570\uff0c\u4f8b\u5982 <code>foo(integer, text)</code>\u3002\u5982\u679c\u5b58\u5728\u591a\u4e2a\u540c\u540d\u51fd\u6570\uff0c\u5c31\u5fc5\u987b\u7ed9\u51fa\u53c2\u6570\u7c7b\u578b\u3002</p><p>         \u5982\u679c\u672a\u6307\u5b9a\u51fd\u6570\uff0c\u5219\u4f1a\u5448\u73b0\u4e00\u4e2a\u7a7a\u7684 <code>CREATE FUNCTION</code> \u6a21\u677f\u4f9b\u7f16\u8f91\u3002\n        </p><p>\u5982\u679c\u6307\u5b9a\u4e86\u884c\u53f7\uff0c<span>psql</span> \u4f1a\u5c06\u5149\u6807\u5b9a\u4f4d\u5230\u51fd\u6570\u4f53\u4e2d\u7684\u6307\u5b9a\u884c\u3002\uff08\u8bf7\u6ce8\u610f\uff0c\u51fd\u6570\u4f53\u901a\u5e38\u5e76\u4e0d\u4ece\u6587\u4ef6\u7684\u7b2c\u4e00\u884c\u5f00\u59cb\u3002\uff09</p><p>        \u4e0e\u5927\u591a\u6570\u5176\u4ed6\u5143\u547d\u4ee4\u4e0d\u540c\uff0c\u6574\u4e2a\u884c\u7684\u5269\u4f59\u90e8\u5206\u59cb\u7ec8\u88ab\u89c6\u4e3a<code>\\ef</code> \u7684\u53c2\u6570\uff0c\u53c2\u6570\u4e2d\u4e0d\u8fdb\u884c\u53d8\u91cf\u63d2\u503c\u6216\u53cd\u5f15\u53f7\u6269\u5c55\u3002\n        </p><div><h3>\u63d0\u793a</h3><p>\u6709\u5173\u5982\u4f55\u914d\u7f6e\u548c\u5b9a\u5236\u7f16\u8f91\u5668\uff0c\u8bf7\u53c2\u89c1\u4e0b\u9762\u7684<a href=\"/zh/docs/10/app-psql.html#APP-PSQL-ENVIRONMENT\" rel=\"nofollow\">\u73af\u5883</a>\u3002</p></div></dd><p><a href=\"/zh/docs/10/app-psql.html#APP-PSQL-META-COMMANDS\" rel=\"nofollow\">\u67e5\u770b\u5b8c\u6574\u4e2d\u6587\u624b\u518c\u4e0e\u4e0a\u4e0b\u6587</a>\u3002</p>"}, "11": {"facts": [{"label": "\u5ba2\u6237\u7aef", "value": "psql 11.22"}, {"label": "\u533a\u5206\u5927\u5c0f\u5199\u7684\u5199\u6cd5", "value": "\\ef"}], "tables": [{"key": "spellings", "rows": [{"command": {"url": "/wiki/psql/cmd-65-66/?v=11", "text": "\\ef"}, "modifiers": "\u6b64\u8bed\u6cd5\u7b7e\u540d\u672a\u5217\u51fa"}], "title": "\u672c\u7248\u624b\u518c\u4e2d\u7684\u5199\u6cd5", "columns": [{"key": "command", "label": "\u547d\u4ee4"}, {"key": "modifiers", "label": "\u624b\u518c\u4e2d\u7684\u540e\u7f00\u4fee\u9970\u7b26"}]}], "command": "\\ef", "related": [{"url": "/wiki/tool/psql/?v=11", "label": "psql \u547d\u4ee4\u884c\u9009\u9879\u53ca\u5b8c\u6574\u624b\u518c"}], "release": {"ref": "https://ftp.postgresql.org/pub/source/v11.22/postgresql-11.22.tar.bz2", "label": "11.22", "major": "11", "channel": "historical", "manifest": {"pdf": {"A4": {"url": "/files/documentation/pdf/11/postgresql-11-A4.pdf", "bytes": 13057499, "pages": 2732, "sha256": "41d75855e610d0d9b8802b87dc5b080bef8d7e91c7cf69401fbf8d3cf801b4b5", "built_at": "2026-09-26"}, "US": {"url": "/files/documentation/pdf/11/postgresql-11-US.pdf", "bytes": 12961189, "pages": 2883, "sha256": "6a8899ef36935a5b7ed2b436207564a567a4ef1eb1c2200195876b8de4d4fa30", "built_at": "2026-09-26"}}, "tree": "11", "index": "index.html", "major": "11", "pages": 1125, "release": "11.22", "source_url": "https://ftp.postgresql.org/pub/source/v11.22/postgresql-11.22.tar.bz2", "svg_assets": 0, "source_mode": "en HTML verified against the pinned official archive", "source_sha256": "2cb7c97d7a0d7278851bbc9c61f467b69c094c72b81740b751108e7892ebe1f0"}, "revision": "53315ddaf3b3f9e6669fd1edc096bbb2cd4a65ea3e836c89e542b43af9ba3a7f", "evidence_kind": "English manual and source declarations", "source_sha256": "2cb7c97d7a0d7278851bbc9c61f467b69c094c72b81740b751108e7892ebe1f0"}, "sources": [{"url": "/docs/11/app-psql.html#APP-PSQL-META-COMMANDS", "file": "app-psql.html", "label": "11.22 English manual \u00b7 app-psql.html", "anchor": "APP-PSQL-META-COMMANDS", "sha256": "32c4d489e91e59715de2f7c3264fcccab3dd1eca54673dbfeac61304b0c54d4d"}], "zh_from": {"kind": "same-version-chinese-manual-with-source-derived-identity", "manual": {"url": "/zh/docs/11/app-psql.html#APP-PSQL-META-COMMANDS", "anchor": "APP-PSQL-META-COMMANDS", "locale": "zh-Hans", "version": "11", "build_id": 64, "page_key": "app-psql.html", "extraction": "exact-definition", "source_hash": "5d6b0e557e9e1f0aed36485762d9b52d3f89da8c674d11a394a38facf6bc66b1", "fragment_sha256": "71c2ea1eb5e7f3d25fbc23ea4b3e0b5fa73d67fd37a50dde43c2944bd907b6f4", "source_revision": "unknown:rendered-translation-baseline", "translation_revision": "snapshot:sha256:ef5c7bc074acae9795db16e6b7482aea3b222bd4bcce0f76831332b97a21e8a1", "translated_from_revision": null}, "body_sha256": "9084f9cbc8f3cfe7469fd0c92cac590bec3591b60e091d7bd44d14faeb1dddbb", "runtime_rerun": false, "authored_translation": "source-derived-identity", "source_facts_revision": "53315ddaf3b3f9e6669fd1edc096bbb2cd4a65ea3e836c89e542b43af9ba3a7f"}, "facts_zh": [{"label": "\u5ba2\u6237\u7aef", "value": "psql 11.22"}, {"label": "\u533a\u5206\u5927\u5c0f\u5199\u7684\u5199\u6cd5", "value": "\\ef"}], "sections": [], "center_zh": {"title": "\\ef", "locale": "zh-Hans", "source": {"key": "cmd-65-66", "locale": "zh-Hans", "version": "11", "text_hash": "0af9cc90aec55037750e0ebb97ae763cc4f02eff11008158b7fb4442416af059", "collection": "psql", "dataset_hash": "7c31b524dfe136022d39a6ae8dcfac6b3bbd5f8fdaf422536599981252aff0c9", "source_database": "center", "source_revision": "53315ddaf3b3f9e6669fd1edc096bbb2cd4a65ea3e836c89e542b43af9ba3a7f"}, "payload": {"facts": [{"label": "\u5ba2\u6237\u7aef", "value": "psql 11.22"}, {"label": "\u533a\u5206\u5927\u5c0f\u5199\u7684\u5199\u6cd5", "value": "\\ef"}], "tables": [{"key": "spellings", "rows": [{"command": {"url": "/wiki/psql/cmd-65-66/?v=11", "text": "\\ef"}, "modifiers": "\u6b64\u8bed\u6cd5\u7b7e\u540d\u672a\u5217\u51fa"}], "title": "\u672c\u7248\u624b\u518c\u4e2d\u7684\u5199\u6cd5", "columns": [{"key": "command", "label": "\u547d\u4ee4"}, {"key": "modifiers", "label": "\u624b\u518c\u4e2d\u7684\u540e\u7f00\u4fee\u9970\u7b26"}]}], "zh_from": {"kind": "same-version-chinese-manual-with-source-derived-identity", "manual": {"url": "/zh/docs/11/app-psql.html#APP-PSQL-META-COMMANDS", "anchor": "APP-PSQL-META-COMMANDS", "locale": "zh-Hans", "version": "11", "build_id": 64, "page_key": "app-psql.html", "extraction": "exact-definition", "source_hash": "5d6b0e557e9e1f0aed36485762d9b52d3f89da8c674d11a394a38facf6bc66b1", "fragment_sha256": "71c2ea1eb5e7f3d25fbc23ea4b3e0b5fa73d67fd37a50dde43c2944bd907b6f4", "source_revision": "unknown:rendered-translation-baseline", "translation_revision": "snapshot:sha256:ef5c7bc074acae9795db16e6b7482aea3b222bd4bcce0f76831332b97a21e8a1", "translated_from_revision": null}, "body_sha256": "9084f9cbc8f3cfe7469fd0c92cac590bec3591b60e091d7bd44d14faeb1dddbb", "runtime_rerun": false, "authored_translation": "source-derived-identity", "source_facts_revision": "53315ddaf3b3f9e6669fd1edc096bbb2cd4a65ea3e836c89e542b43af9ba3a7f"}, "sections": [], "description_zh": "\u8fd9\u4e2a\u547d\u4ee4\u83b7\u53d6\u5e76\u7f16\u8f91\u6307\u5b9a\u51fd\u6570\u6216\u8fc7\u7a0b\u7684\u5b9a\u4e49\uff0c\u5f62\u5f0f\u4e3a CREATE OR REPLACE FUNCTION \u6216 CREATE OR REPLACE PROCEDURE \u547d\u4ee4\u3002\u7f16\u8f91\u65b9\u5f0f\u4e0e \\edit \u76f8\u540c\u3002\u7f16\u8f91\u5668\u9000\u51fa\u540e\uff0c\u66f4\u65b0\u540e\u7684\u547d\u4ee4\u4f1a\u5728\u67e5\u8be2\u7f13\u51b2\u533a\u4e2d\u7b49\u5f85\uff1b\u952e\u5165\u5206\u53f7\u6216 \\g \u53d1\u9001\u5b83\uff0c\u6216\u7528 \\r \u53d6\u6d88\u3002 \u76ee\u6807\u51fd\u6570\u53ef\u4ee5\u53ea\u7528\u540d\u79f0\u6307\u5b9a\uff0c\u4e5f\u53ef\u4ee5\u540c\u65f6\u7ed9\u51fa\u540d\u79f0\u548c\u53c2\u6570\uff0c\u4f8b\u5982 foo(integer, text) \u3002\u5982\u679c\u5b58\u5728\u591a\u4e2a\u540c\u540d\u51fd\u6570\uff0c\u5c31\u5fc5\u987b\u7ed9\u51fa\u53c2\u6570\u7c7b\u578b\u3002 \u5982\u679c\u672a\u6307\u5b9a\u51fd\u6570\uff0c\u5219\u4f1a\u5448\u73b0\u4e00\u4e2a\u7a7a\u7684 CREATE FUNCTION \u6a21\u677f\u4f9b\u7f16\u8f91\u3002 \u5982\u679c\u6307\u5b9a\u4e86\u884c\u53f7\uff0c psql \u4f1a\u5c06\u5149\u6807\u5b9a\u4f4d\u5230\u51fd\u6570\u4f53\u4e2d\u7684\u6307\u5b9a\u884c\u3002\uff08\u8bf7\u6ce8\u610f\uff0c\u51fd\u6570\u4f53\u901a\u5e38\u5e76\u4e0d\u4ece\u6587\u4ef6\u7684\u7b2c\u4e00\u884c\u5f00\u59cb\u3002\uff09 \u4e0e\u5927\u591a\u6570\u5176\u4ed6\u5143\u547d\u4ee4\u4e0d\u540c\uff0c\u6574\u4e2a\u884c\u7684\u5269\u4f59\u90e8\u5206\u59cb\u7ec8\u88ab\u89c6\u4e3a \\ef \u7684\u53c2\u6570\uff0c\u53c2\u6570\u4e2d\u4e0d\u8fdb\u884c\u53d8\u91cf\u63d2\u503c\u6216\u53cd\u5f15\u53f7\u6269\u5c55\u3002 \u63d0\u793a \u6709\u5173\u5982\u4f55\u914d\u7f6e\u548c\u5b9a\u5236\u7f16\u8f91\u5668\uff0c\u8bf7\u53c2\u89c1\u4e0b\u9762\u7684 \u73af\u5883 \u3002", "description_zh_html": "<p>psql \u547d\u4ee4 \\ef [ function_description [ line_number ] ]\u3002</p><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u5b9a\u4e49</h3><dd><p>\n         \u8fd9\u4e2a\u547d\u4ee4\u83b7\u53d6\u5e76\u7f16\u8f91\u6307\u5b9a\u51fd\u6570\u6216\u8fc7\u7a0b\u7684\u5b9a\u4e49\uff0c\u5f62\u5f0f\u4e3a <code class=\"command\">CREATE OR REPLACE FUNCTION</code> \u6216\n         <code class=\"command\">CREATE OR REPLACE PROCEDURE</code> \u547d\u4ee4\u3002\u7f16\u8f91\u65b9\u5f0f\u4e0e<code class=\"literal\">\\edit</code> \u76f8\u540c\u3002\u7f16\u8f91\u5668\u9000\u51fa\u540e\uff0c\u66f4\u65b0\u540e\u7684\u547d\u4ee4\u4f1a\u5728\u67e5\u8be2\u7f13\u51b2\u533a\u4e2d\u7b49\u5f85\uff1b\u952e\u5165\u5206\u53f7\u6216<code class=\"literal\">\\g</code> \u53d1\u9001\u5b83\uff0c\u6216\u7528<code class=\"literal\">\\r</code> \u53d6\u6d88\u3002\n        </p><p>\u76ee\u6807\u51fd\u6570\u53ef\u4ee5\u53ea\u7528\u540d\u79f0\u6307\u5b9a\uff0c\u4e5f\u53ef\u4ee5\u540c\u65f6\u7ed9\u51fa\u540d\u79f0\u548c\u53c2\u6570\uff0c\u4f8b\u5982 <code class=\"literal\">foo(integer, text)</code>\u3002\u5982\u679c\u5b58\u5728\u591a\u4e2a\u540c\u540d\u51fd\u6570\uff0c\u5c31\u5fc5\u987b\u7ed9\u51fa\u53c2\u6570\u7c7b\u578b\u3002</p><p>\n         \u5982\u679c\u672a\u6307\u5b9a\u51fd\u6570\uff0c\u5219\u4f1a\u5448\u73b0\u4e00\u4e2a\u7a7a\u7684 <code class=\"command\">CREATE FUNCTION</code> \u6a21\u677f\u4f9b\u7f16\u8f91\u3002\n        </p><p>\u5982\u679c\u6307\u5b9a\u4e86\u884c\u53f7\uff0c<span class=\"application\">psql</span> \u4f1a\u5c06\u5149\u6807\u5b9a\u4f4d\u5230\u51fd\u6570\u4f53\u4e2d\u7684\u6307\u5b9a\u884c\u3002\uff08\u8bf7\u6ce8\u610f\uff0c\u51fd\u6570\u4f53\u901a\u5e38\u5e76\u4e0d\u4ece\u6587\u4ef6\u7684\u7b2c\u4e00\u884c\u5f00\u59cb\u3002\uff09</p><p>\n        \u4e0e\u5927\u591a\u6570\u5176\u4ed6\u5143\u547d\u4ee4\u4e0d\u540c\uff0c\u6574\u4e2a\u884c\u7684\u5269\u4f59\u90e8\u5206\u59cb\u7ec8\u88ab\u89c6\u4e3a<code class=\"command\">\\ef</code> \u7684\u53c2\u6570\uff0c\u53c2\u6570\u4e2d\u4e0d\u8fdb\u884c\u53d8\u91cf\u63d2\u503c\u6216\u53cd\u5f15\u53f7\u6269\u5c55\u3002\n        </p><div class=\"tip\"><h3 class=\"title\">\u63d0\u793a</h3><p>\u6709\u5173\u5982\u4f55\u914d\u7f6e\u548c\u5b9a\u5236\u7f16\u8f91\u5668\uff0c\u8bf7\u53c2\u89c1\u4e0b\u9762\u7684<a class=\"xref\" href=\"/zh/docs/11/app-psql.html#APP-PSQL-ENVIRONMENT\">\u73af\u5883</a>\u3002</p></div></dd><p><a href=\"/zh/docs/11/app-psql.html#APP-PSQL-META-COMMANDS\">\u67e5\u770b\u5b8c\u6574\u4e2d\u6587\u624b\u518c\u4e0e\u4e0a\u4e0b\u6587</a>\u3002</p>"}, "summary": "\u8fd9\u4e2a\u547d\u4ee4\u83b7\u53d6\u5e76\u7f16\u8f91\u6307\u5b9a\u51fd\u6570\u6216\u8fc7\u7a0b\u7684\u5b9a\u4e49\uff0c\u5f62\u5f0f\u4e3a CREATE OR REPLACE FUNCTION \u6216 CREATE OR REPLACE PROCEDURE \u547d\u4ee4\u3002\u7f16\u8f91\u65b9\u5f0f\u4e0e \\edit \u76f8\u540c\u3002\u7f16\u8f91\u5668\u9000\u51fa\u540e\uff0c\u66f4\u65b0\u540e\u7684\u547d\u4ee4\u4f1a\u5728\u67e5\u8be2\u7f13\u51b2\u533a\u4e2d\u7b49\u5f85\uff1b\u952e\u5165\u5206\u53f7\u6216 \\g \u53d1\u9001\u5b83\uff0c\u6216\u7528 \\r \u53d6\u6d88\u3002 \u76ee\u6807\u51fd\u6570\u53ef\u4ee5\u53ea\u7528\u540d\u79f0\u6307\u5b9a\uff0c\u4e5f\u53ef\u4ee5\u540c\u65f6\u7ed9\u51fa\u540d\u79f0\u548c\u53c2\u6570\uff0c\u4f8b\u5982 foo(integer, text) \u3002\u5982\u679c\u5b58\u5728\u591a\u4e2a\u540c\u540d\u51fd\u6570\uff0c\u5c31\u5fc5\u987b\u7ed9\u51fa\u53c2\u6570\u7c7b\u578b\u3002 \u5982\u679c\u672a\u6307\u5b9a\u51fd\u6570\uff0c\u5219\u4f1a\u5448\u73b0\u4e00\u4e2a\u7a7a\u7684 CREATE FUNCTION \u6a21\u677f\u4f9b\u7f16\u8f91\u3002 \u5982\u679c\u6307\u5b9a\u4e86\u884c\u53f7\uff0c psql \u4f1a\u5c06\u5149\u6807\u5b9a\u4f4d\u5230\u51fd\u6570\u4f53\u4e2d\u7684\u6307\u5b9a\u884c\u3002\uff08\u8bf7\u6ce8\u610f\uff0c\u51fd\u6570\u4f53\u901a\u5e38\u5e76\u4e0d\u4ece\u6587\u4ef6\u7684\u7b2c\u4e00\u884c\u5f00\u59cb\u3002\uff09 \u4e0e\u5927\u591a\u6570\u5176\u4ed6\u5143\u547d\u4ee4\u4e0d\u540c\uff0c\u6574\u4e2a\u884c\u7684\u5269\u4f59\u90e8\u5206\u59cb\u7ec8\u88ab\u89c6\u4e3a \\ef \u7684\u53c2\u6570\uff0c\u53c2\u6570\u4e2d\u4e0d\u8fdb\u884c\u53d8\u91cf\u63d2\u503c\u6216\u53cd\u5f15\u53f7\u6269\u5c55\u3002 \u63d0\u793a \u6709\u5173\u5982\u4f55\u914d\u7f6e\u548c\u5b9a\u5236\u7f16\u8f91\u5668\uff0c\u8bf7\u53c2\u89c1\u4e0b\u9762\u7684 \u73af\u5883 \u3002", "version": "11", "link_map": {"/zh/docs/11/app-psql.html#APP-PSQL-ENVIRONMENT": "/docs/11/app-psql.html#APP-PSQL-ENVIRONMENT", "/zh/docs/11/app-psql.html#APP-PSQL-META-COMMANDS": "/docs/11/app-psql.html#APP-PSQL-META-COMMANDS"}, "body_html": "<p>psql \u547d\u4ee4 \\ef [ function_description [ line_number ] ]\u3002</p><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u5b9a\u4e49</h3><dd><p>\n         \u8fd9\u4e2a\u547d\u4ee4\u83b7\u53d6\u5e76\u7f16\u8f91\u6307\u5b9a\u51fd\u6570\u6216\u8fc7\u7a0b\u7684\u5b9a\u4e49\uff0c\u5f62\u5f0f\u4e3a <code>CREATE OR REPLACE FUNCTION</code> \u6216\n         <code>CREATE OR REPLACE PROCEDURE</code> \u547d\u4ee4\u3002\u7f16\u8f91\u65b9\u5f0f\u4e0e<code>\\edit</code> \u76f8\u540c\u3002\u7f16\u8f91\u5668\u9000\u51fa\u540e\uff0c\u66f4\u65b0\u540e\u7684\u547d\u4ee4\u4f1a\u5728\u67e5\u8be2\u7f13\u51b2\u533a\u4e2d\u7b49\u5f85\uff1b\u952e\u5165\u5206\u53f7\u6216<code>\\g</code> \u53d1\u9001\u5b83\uff0c\u6216\u7528<code>\\r</code> \u53d6\u6d88\u3002\n        </p><p>\u76ee\u6807\u51fd\u6570\u53ef\u4ee5\u53ea\u7528\u540d\u79f0\u6307\u5b9a\uff0c\u4e5f\u53ef\u4ee5\u540c\u65f6\u7ed9\u51fa\u540d\u79f0\u548c\u53c2\u6570\uff0c\u4f8b\u5982 <code>foo(integer, text)</code>\u3002\u5982\u679c\u5b58\u5728\u591a\u4e2a\u540c\u540d\u51fd\u6570\uff0c\u5c31\u5fc5\u987b\u7ed9\u51fa\u53c2\u6570\u7c7b\u578b\u3002</p><p>\n         \u5982\u679c\u672a\u6307\u5b9a\u51fd\u6570\uff0c\u5219\u4f1a\u5448\u73b0\u4e00\u4e2a\u7a7a\u7684 <code>CREATE FUNCTION</code> \u6a21\u677f\u4f9b\u7f16\u8f91\u3002\n        </p><p>\u5982\u679c\u6307\u5b9a\u4e86\u884c\u53f7\uff0c<span>psql</span> \u4f1a\u5c06\u5149\u6807\u5b9a\u4f4d\u5230\u51fd\u6570\u4f53\u4e2d\u7684\u6307\u5b9a\u884c\u3002\uff08\u8bf7\u6ce8\u610f\uff0c\u51fd\u6570\u4f53\u901a\u5e38\u5e76\u4e0d\u4ece\u6587\u4ef6\u7684\u7b2c\u4e00\u884c\u5f00\u59cb\u3002\uff09</p><p>\n        \u4e0e\u5927\u591a\u6570\u5176\u4ed6\u5143\u547d\u4ee4\u4e0d\u540c\uff0c\u6574\u4e2a\u884c\u7684\u5269\u4f59\u90e8\u5206\u59cb\u7ec8\u88ab\u89c6\u4e3a<code>\\ef</code> \u7684\u53c2\u6570\uff0c\u53c2\u6570\u4e2d\u4e0d\u8fdb\u884c\u53d8\u91cf\u63d2\u503c\u6216\u53cd\u5f15\u53f7\u6269\u5c55\u3002\n        </p><div><h3>\u63d0\u793a</h3><p>\u6709\u5173\u5982\u4f55\u914d\u7f6e\u548c\u5b9a\u5236\u7f16\u8f91\u5668\uff0c\u8bf7\u53c2\u89c1\u4e0b\u9762\u7684<a href=\"/zh/docs/11/app-psql.html#APP-PSQL-ENVIRONMENT\" rel=\"nofollow\">\u73af\u5883</a>\u3002</p></div></dd><p><a href=\"/zh/docs/11/app-psql.html#APP-PSQL-META-COMMANDS\" rel=\"nofollow\">\u67e5\u770b\u5b8c\u6574\u4e2d\u6587\u624b\u518c\u4e0e\u4e0a\u4e0b\u6587</a>\u3002</p>", "body_sha256": "aa0bf09e685e6b8937d7024fb4ae2984c161bc7cf52cdb663da09d3b3cfa90a1", "content_hash": "0af9cc90aec55037750e0ebb97ae763cc4f02eff11008158b7fb4442416af059", "source_database": "center", "source_revision": "53315ddaf3b3f9e6669fd1edc096bbb2cd4a65ea3e836c89e542b43af9ba3a7f"}, "modifiers": [], "signature": "\\ef [ function_description [ line_number ] ]", "spellings": ["\\ef"], "tables_zh": [{"key": "spellings", "rows": [{"command": {"url": "/wiki/psql/cmd-65-66/?v=11", "text": "\\ef"}, "modifiers": "\u6b64\u8bed\u6cd5\u7b7e\u540d\u672a\u5217\u51fa"}], "title": "\u672c\u7248\u624b\u518c\u4e2d\u7684\u5199\u6cd5", "columns": [{"key": "command", "label": "\u547d\u4ee4"}, {"key": "modifiers", "label": "\u624b\u518c\u4e2d\u7684\u540e\u7f00\u4fee\u9970\u7b26"}]}], "description": ["\u8fd9\u4e2a\u547d\u4ee4\u83b7\u53d6\u5e76\u7f16\u8f91\u6307\u5b9a\u51fd\u6570\u6216\u8fc7\u7a0b\u7684\u5b9a\u4e49\uff0c\u5f62\u5f0f\u4e3a CREATE OR REPLACE FUNCTION \u6216 CREATE OR REPLACE PROCEDURE \u547d\u4ee4\u3002\u7f16\u8f91\u65b9\u5f0f\u4e0e \\edit \u76f8\u540c\u3002\u7f16\u8f91\u5668\u9000\u51fa\u540e\uff0c\u66f4\u65b0\u540e\u7684\u547d\u4ee4\u4f1a\u5728\u67e5\u8be2\u7f13\u51b2\u533a\u4e2d\u7b49\u5f85\uff1b\u952e\u5165\u5206\u53f7\u6216 \\g \u53d1\u9001\u5b83\uff0c\u6216\u7528 \\r \u53d6\u6d88\u3002 \u76ee\u6807\u51fd\u6570\u53ef\u4ee5\u53ea\u7528\u540d\u79f0\u6307\u5b9a\uff0c\u4e5f\u53ef\u4ee5\u540c\u65f6\u7ed9\u51fa\u540d\u79f0\u548c\u53c2\u6570\uff0c\u4f8b\u5982 foo(integer, text) \u3002\u5982\u679c\u5b58\u5728\u591a\u4e2a\u540c\u540d\u51fd\u6570\uff0c\u5c31\u5fc5\u987b\u7ed9\u51fa\u53c2\u6570\u7c7b\u578b\u3002 \u5982\u679c\u672a\u6307\u5b9a\u51fd\u6570\uff0c\u5219\u4f1a\u5448\u73b0\u4e00\u4e2a\u7a7a\u7684 CREATE FUNCTION \u6a21\u677f\u4f9b\u7f16\u8f91\u3002 \u5982\u679c\u6307\u5b9a\u4e86\u884c\u53f7\uff0c psql \u4f1a\u5c06\u5149\u6807\u5b9a\u4f4d\u5230\u51fd\u6570\u4f53\u4e2d\u7684\u6307\u5b9a\u884c\u3002\uff08\u8bf7\u6ce8\u610f\uff0c\u51fd\u6570\u4f53\u901a\u5e38\u5e76\u4e0d\u4ece\u6587\u4ef6\u7684\u7b2c\u4e00\u884c\u5f00\u59cb\u3002\uff09 \u4e0e\u5927\u591a\u6570\u5176\u4ed6\u5143\u547d\u4ee4\u4e0d\u540c\uff0c\u6574\u4e2a\u884c\u7684\u5269\u4f59\u90e8\u5206\u59cb\u7ec8\u88ab\u89c6\u4e3a \\ef \u7684\u53c2\u6570\uff0c\u53c2\u6570\u4e2d\u4e0d\u8fdb\u884c\u53d8\u91cf\u63d2\u503c\u6216\u53cd\u5f15\u53f7\u6269\u5c55\u3002 \u63d0\u793a \u6709\u5173\u5982\u4f55\u914d\u7f6e\u548c\u5b9a\u5236\u7f16\u8f91\u5668\uff0c\u8bf7\u53c2\u89c1\u4e0b\u9762\u7684 \u73af\u5883 \u3002"], "manual_html": "", "manual_path": "app-psql.html#APP-PSQL-META-COMMANDS", "sections_zh": [], "localization": {"status": "complete", "sources": [{"url": "/docs/11/app-psql.html", "method": "same-major semantic node", "sha256": "01339254dd1dc30d095af846d0b6a7c01f96338187a6fbb8cf45290d5941196b", "language": "zh", "matched_nodes": ["#APP-PSQL/div[7]/div[3]/div[10]/dl[0]/dd[7]/div[1]/h3[0]", "#APP-PSQL/div[7]/div[3]/div[10]/dl[0]/dd[83]/div[3]/p[1]", "#APP-PSQL/div[7]/div[3]/div[10]/dl[0]/dd[87]/p[0]", "#APP-PSQL/div[7]/div[3]/div[10]/dl[0]/dd[87]/p[2]", "#APP-PSQL/div[7]/div[3]/div[10]/dl[0]/dd[87]/p[3]", "#APP-PSQL/div[7]/div[3]/div[10]/dl[0]/dd[87]/p[4]"]}], "language": "zh", "original_text": {"/versions/11/description/0": "This command fetches and edits the definition of the named function or procedure, in the form of a CREATE OR REPLACE FUNCTION or CREATE OR REPLACE PROCEDURE command. Editing is done in the same way as for \\edit . After the editor exits, the updated command waits in the query buffer; type semicolon or \\g to send it, or \\r to cancel.", "/versions/11/facts/0/label": "Client", "/versions/11/facts/1/label": "Case-sensitive spelling", "/versions/11/tables/0/title": "Spellings in this manual definition", "/versions/11/related/0/label": "psql command-line options and complete manual", "/versions/11/tables/0/columns/0/label": "Command", "/versions/11/tables/0/columns/1/label": "Documented suffix modifiers", "/versions/11/tables/0/rows/0/modifiers": "None listed in this signature"}, "fallback_fields": [], "source_language": "en", "original_snapshot_sha256": "331531e94ca538ffca033e13d1c45d92b9fc10927b19a7459052f4314a8be1e1", "canonical_center_text_hash": "0af9cc90aec55037750e0ebb97ae763cc4f02eff11008158b7fb4442416af059"}, "description_zh": "\u8fd9\u4e2a\u547d\u4ee4\u83b7\u53d6\u5e76\u7f16\u8f91\u6307\u5b9a\u51fd\u6570\u6216\u8fc7\u7a0b\u7684\u5b9a\u4e49\uff0c\u5f62\u5f0f\u4e3a CREATE OR REPLACE FUNCTION \u6216 CREATE OR REPLACE PROCEDURE \u547d\u4ee4\u3002\u7f16\u8f91\u65b9\u5f0f\u4e0e \\edit \u76f8\u540c\u3002\u7f16\u8f91\u5668\u9000\u51fa\u540e\uff0c\u66f4\u65b0\u540e\u7684\u547d\u4ee4\u4f1a\u5728\u67e5\u8be2\u7f13\u51b2\u533a\u4e2d\u7b49\u5f85\uff1b\u952e\u5165\u5206\u53f7\u6216 \\g \u53d1\u9001\u5b83\uff0c\u6216\u7528 \\r \u53d6\u6d88\u3002 \u76ee\u6807\u51fd\u6570\u53ef\u4ee5\u53ea\u7528\u540d\u79f0\u6307\u5b9a\uff0c\u4e5f\u53ef\u4ee5\u540c\u65f6\u7ed9\u51fa\u540d\u79f0\u548c\u53c2\u6570\uff0c\u4f8b\u5982 foo(integer, text) \u3002\u5982\u679c\u5b58\u5728\u591a\u4e2a\u540c\u540d\u51fd\u6570\uff0c\u5c31\u5fc5\u987b\u7ed9\u51fa\u53c2\u6570\u7c7b\u578b\u3002 \u5982\u679c\u672a\u6307\u5b9a\u51fd\u6570\uff0c\u5219\u4f1a\u5448\u73b0\u4e00\u4e2a\u7a7a\u7684 CREATE FUNCTION \u6a21\u677f\u4f9b\u7f16\u8f91\u3002 \u5982\u679c\u6307\u5b9a\u4e86\u884c\u53f7\uff0c psql \u4f1a\u5c06\u5149\u6807\u5b9a\u4f4d\u5230\u51fd\u6570\u4f53\u4e2d\u7684\u6307\u5b9a\u884c\u3002\uff08\u8bf7\u6ce8\u610f\uff0c\u51fd\u6570\u4f53\u901a\u5e38\u5e76\u4e0d\u4ece\u6587\u4ef6\u7684\u7b2c\u4e00\u884c\u5f00\u59cb\u3002\uff09 \u4e0e\u5927\u591a\u6570\u5176\u4ed6\u5143\u547d\u4ee4\u4e0d\u540c\uff0c\u6574\u4e2a\u884c\u7684\u5269\u4f59\u90e8\u5206\u59cb\u7ec8\u88ab\u89c6\u4e3a \\ef \u7684\u53c2\u6570\uff0c\u53c2\u6570\u4e2d\u4e0d\u8fdb\u884c\u53d8\u91cf\u63d2\u503c\u6216\u53cd\u5f15\u53f7\u6269\u5c55\u3002 \u63d0\u793a \u6709\u5173\u5982\u4f55\u914d\u7f6e\u548c\u5b9a\u5236\u7f16\u8f91\u5668\uff0c\u8bf7\u53c2\u89c1\u4e0b\u9762\u7684 \u73af\u5883 \u3002", "comparison_data": {"modifiers": [], "signature": "\\ef [ function_description [ line_number ] ]", "spellings": ["\\ef"], "definition": "This command fetches and edits the definition of the named function or procedure, in the form of a CREATE OR REPLACE FUNCTION or CREATE OR REPLACE PROCEDURE command. Editing is done in the same way as for \\edit . After the editor exits, the updated command waits in the query buffer; type semicolon or \\g to send it, or \\r to cancel. The target function can be specified by name alone, or by name and arguments, for example foo(integer, text) . The argument types must be given if there is more than one function of the same name. If no function is specified, a blank CREATE FUNCTION template is presented for editing. If a line number is specified, psql will position the cursor on the specified line of the function body. (Note that the function body typically does not begin on the first line of the file.) Unlike most other meta-commands, the entire remainder of the line is always taken to be the argument(s) of \\ef , and neither variable interpolation nor backquote expansion are performed in the arguments. Tip See under Environment for how to configure and customize your editor."}, "comparison_hash": "cbe92f1867f3b0aa64a21f7f6c46e7acbd5acc88e0e35cb74f88f46308ea44ad", "manual_language": "zh", "description_zh_html": "<p>psql \u547d\u4ee4 \\ef [ function_description [ line_number ] ]\u3002</p><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u5b9a\u4e49</h3><dd><p>\n         \u8fd9\u4e2a\u547d\u4ee4\u83b7\u53d6\u5e76\u7f16\u8f91\u6307\u5b9a\u51fd\u6570\u6216\u8fc7\u7a0b\u7684\u5b9a\u4e49\uff0c\u5f62\u5f0f\u4e3a <code>CREATE OR REPLACE FUNCTION</code> \u6216\n         <code>CREATE OR REPLACE PROCEDURE</code> \u547d\u4ee4\u3002\u7f16\u8f91\u65b9\u5f0f\u4e0e<code>\\edit</code> \u76f8\u540c\u3002\u7f16\u8f91\u5668\u9000\u51fa\u540e\uff0c\u66f4\u65b0\u540e\u7684\u547d\u4ee4\u4f1a\u5728\u67e5\u8be2\u7f13\u51b2\u533a\u4e2d\u7b49\u5f85\uff1b\u952e\u5165\u5206\u53f7\u6216<code>\\g</code> \u53d1\u9001\u5b83\uff0c\u6216\u7528<code>\\r</code> \u53d6\u6d88\u3002\n        </p><p>\u76ee\u6807\u51fd\u6570\u53ef\u4ee5\u53ea\u7528\u540d\u79f0\u6307\u5b9a\uff0c\u4e5f\u53ef\u4ee5\u540c\u65f6\u7ed9\u51fa\u540d\u79f0\u548c\u53c2\u6570\uff0c\u4f8b\u5982 <code>foo(integer, text)</code>\u3002\u5982\u679c\u5b58\u5728\u591a\u4e2a\u540c\u540d\u51fd\u6570\uff0c\u5c31\u5fc5\u987b\u7ed9\u51fa\u53c2\u6570\u7c7b\u578b\u3002</p><p>\n         \u5982\u679c\u672a\u6307\u5b9a\u51fd\u6570\uff0c\u5219\u4f1a\u5448\u73b0\u4e00\u4e2a\u7a7a\u7684 <code>CREATE FUNCTION</code> \u6a21\u677f\u4f9b\u7f16\u8f91\u3002\n        </p><p>\u5982\u679c\u6307\u5b9a\u4e86\u884c\u53f7\uff0c<span>psql</span> \u4f1a\u5c06\u5149\u6807\u5b9a\u4f4d\u5230\u51fd\u6570\u4f53\u4e2d\u7684\u6307\u5b9a\u884c\u3002\uff08\u8bf7\u6ce8\u610f\uff0c\u51fd\u6570\u4f53\u901a\u5e38\u5e76\u4e0d\u4ece\u6587\u4ef6\u7684\u7b2c\u4e00\u884c\u5f00\u59cb\u3002\uff09</p><p>\n        \u4e0e\u5927\u591a\u6570\u5176\u4ed6\u5143\u547d\u4ee4\u4e0d\u540c\uff0c\u6574\u4e2a\u884c\u7684\u5269\u4f59\u90e8\u5206\u59cb\u7ec8\u88ab\u89c6\u4e3a<code>\\ef</code> \u7684\u53c2\u6570\uff0c\u53c2\u6570\u4e2d\u4e0d\u8fdb\u884c\u53d8\u91cf\u63d2\u503c\u6216\u53cd\u5f15\u53f7\u6269\u5c55\u3002\n        </p><div><h3>\u63d0\u793a</h3><p>\u6709\u5173\u5982\u4f55\u914d\u7f6e\u548c\u5b9a\u5236\u7f16\u8f91\u5668\uff0c\u8bf7\u53c2\u89c1\u4e0b\u9762\u7684<a href=\"/zh/docs/11/app-psql.html#APP-PSQL-ENVIRONMENT\" rel=\"nofollow\">\u73af\u5883</a>\u3002</p></div></dd><p><a href=\"/zh/docs/11/app-psql.html#APP-PSQL-META-COMMANDS\" rel=\"nofollow\">\u67e5\u770b\u5b8c\u6574\u4e2d\u6587\u624b\u518c\u4e0e\u4e0a\u4e0b\u6587</a>\u3002</p>"}, "12": {"facts": [{"label": "\u5ba2\u6237\u7aef", "value": "psql 12.22"}, {"label": "\u533a\u5206\u5927\u5c0f\u5199\u7684\u5199\u6cd5", "value": "\\ef"}], "tables": [{"key": "spellings", "rows": [{"command": {"url": "/wiki/psql/cmd-65-66/?v=12", "text": "\\ef"}, "modifiers": "\u6b64\u8bed\u6cd5\u7b7e\u540d\u672a\u5217\u51fa"}], "title": "\u672c\u7248\u624b\u518c\u4e2d\u7684\u5199\u6cd5", "columns": [{"key": "command", "label": "\u547d\u4ee4"}, {"key": "modifiers", "label": "\u624b\u518c\u4e2d\u7684\u540e\u7f00\u4fee\u9970\u7b26"}]}], "command": "\\ef", "related": [{"url": "/wiki/tool/psql/?v=12", "label": "psql \u547d\u4ee4\u884c\u9009\u9879\u53ca\u5b8c\u6574\u624b\u518c"}], "release": {"ref": "https://ftp.postgresql.org/pub/source/v12.22/postgresql-12.22.tar.bz2", "label": "12.22", "major": "12", "channel": "historical", "manifest": {"pdf": {"A4": {"url": "/files/documentation/pdf/12/postgresql-12-A4.pdf", "bytes": 13424351, "pages": 2803, "sha256": "7422cf53fd1939e7a3d2925231a88b0330e468afa5393627cac0ff86158a0621", "built_at": "2026-09-26"}, "US": {"url": "/files/documentation/pdf/12/postgresql-12-US.pdf", "bytes": 13322565, "pages": 2958, "sha256": "51f3b04e72907fc38512685946223452ea65f84419c60c66241dfa3396035e77", "built_at": "2026-09-26"}}, "tree": "12", "index": "index.html", "major": "12", "pages": 1131, "release": "12.22", "source_url": "https://ftp.postgresql.org/pub/source/v12.22/postgresql-12.22.tar.bz2", "svg_assets": 2, "source_mode": "en HTML verified against the pinned official archive", "source_sha256": "8df3c0474782589d3c6f374b5133b1bd14d168086edbc13c6e72e67dd4527a3b"}, "revision": "7a827e97cbfacd7febff75f34443e2043e40723de5b6d8c9d81a9430b65a37e4", "evidence_kind": "English manual and source declarations", "source_sha256": "8df3c0474782589d3c6f374b5133b1bd14d168086edbc13c6e72e67dd4527a3b"}, "sources": [{"url": "/docs/12/app-psql.html#APP-PSQL-META-COMMANDS", "file": "app-psql.html", "label": "12.22 English manual \u00b7 app-psql.html", "anchor": "APP-PSQL-META-COMMANDS", "sha256": "a5cec5a456a98610e98d1f1959d96ce57c8413bb392f0f5d6720fc561bb63627"}], "zh_from": {"kind": "same-version-chinese-manual-with-source-derived-identity", "manual": {"url": "/zh/docs/12/app-psql.html#APP-PSQL-META-COMMANDS", "anchor": "APP-PSQL-META-COMMANDS", "locale": "zh-Hans", "version": "12", "build_id": 65, "page_key": "app-psql.html", "extraction": "exact-definition", "source_hash": "8036faa7b026a8cae7af58d1fc5d09a60491dbad5f0fdada98b4bddf617018e4", "fragment_sha256": "97493e6720cd1358dcb3288c95958f2ae574d0b38a67f86e9fb6fa85df0f420a", "source_revision": "unknown:rendered-translation-baseline", "translation_revision": "snapshot:sha256:86d2ff781f93e1de17122ebc514d5e64fcb63fed15941f496d7e146c6dcc7a49", "translated_from_revision": null}, "body_sha256": "208625af676c7f67055375c997effabcd8eb80e3c0e1acd518ee377c3e2dadbd", "runtime_rerun": false, "authored_translation": "source-derived-identity", "source_facts_revision": "7a827e97cbfacd7febff75f34443e2043e40723de5b6d8c9d81a9430b65a37e4"}, "facts_zh": [{"label": "\u5ba2\u6237\u7aef", "value": "psql 12.22"}, {"label": "\u533a\u5206\u5927\u5c0f\u5199\u7684\u5199\u6cd5", "value": "\\ef"}], "sections": [], "center_zh": {"title": "\\ef", "locale": "zh-Hans", "source": {"key": "cmd-65-66", "locale": "zh-Hans", "version": "12", "text_hash": "3f62c360e5b20c982f7112d15412109527a3ad9b818939728e41367a64d20bc9", "collection": "psql", "dataset_hash": "7c31b524dfe136022d39a6ae8dcfac6b3bbd5f8fdaf422536599981252aff0c9", "source_database": "center", "source_revision": "7a827e97cbfacd7febff75f34443e2043e40723de5b6d8c9d81a9430b65a37e4"}, "payload": {"facts": [{"label": "\u5ba2\u6237\u7aef", "value": "psql 12.22"}, {"label": "\u533a\u5206\u5927\u5c0f\u5199\u7684\u5199\u6cd5", "value": "\\ef"}], "tables": [{"key": "spellings", "rows": [{"command": {"url": "/wiki/psql/cmd-65-66/?v=12", "text": "\\ef"}, "modifiers": "\u6b64\u8bed\u6cd5\u7b7e\u540d\u672a\u5217\u51fa"}], "title": "\u672c\u7248\u624b\u518c\u4e2d\u7684\u5199\u6cd5", "columns": [{"key": "command", "label": "\u547d\u4ee4"}, {"key": "modifiers", "label": "\u624b\u518c\u4e2d\u7684\u540e\u7f00\u4fee\u9970\u7b26"}]}], "zh_from": {"kind": "same-version-chinese-manual-with-source-derived-identity", "manual": {"url": "/zh/docs/12/app-psql.html#APP-PSQL-META-COMMANDS", "anchor": "APP-PSQL-META-COMMANDS", "locale": "zh-Hans", "version": "12", "build_id": 65, "page_key": "app-psql.html", "extraction": "exact-definition", "source_hash": "8036faa7b026a8cae7af58d1fc5d09a60491dbad5f0fdada98b4bddf617018e4", "fragment_sha256": "97493e6720cd1358dcb3288c95958f2ae574d0b38a67f86e9fb6fa85df0f420a", "source_revision": "unknown:rendered-translation-baseline", "translation_revision": "snapshot:sha256:86d2ff781f93e1de17122ebc514d5e64fcb63fed15941f496d7e146c6dcc7a49", "translated_from_revision": null}, "body_sha256": "208625af676c7f67055375c997effabcd8eb80e3c0e1acd518ee377c3e2dadbd", "runtime_rerun": false, "authored_translation": "source-derived-identity", "source_facts_revision": "7a827e97cbfacd7febff75f34443e2043e40723de5b6d8c9d81a9430b65a37e4"}, "sections": [], "description_zh": "\u8fd9\u4e2a\u547d\u4ee4\u83b7\u53d6\u5e76\u7f16\u8f91\u6307\u5b9a\u51fd\u6570\u6216\u8fc7\u7a0b\u7684\u5b9a\u4e49\uff0c\u5f62\u5f0f\u4e3a CREATE OR REPLACE FUNCTION \u6216 CREATE OR REPLACE PROCEDURE \u547d\u4ee4\u3002\u7f16\u8f91\u65b9\u5f0f\u4e0e \\edit \u76f8\u540c\u3002\u7f16\u8f91\u5668\u9000\u51fa\u540e\uff0c\u66f4\u65b0\u540e\u7684\u547d\u4ee4\u4f1a\u5728\u67e5\u8be2\u7f13\u51b2\u533a\u4e2d\u7b49\u5f85\uff1b\u952e\u5165\u5206\u53f7\u6216 \\g \u53d1\u9001\u5b83\uff0c\u6216\u7528 \\r \u53d6\u6d88\u3002 \u76ee\u6807\u51fd\u6570\u53ef\u4ee5\u53ea\u7528\u540d\u79f0\u6307\u5b9a\uff0c\u4e5f\u53ef\u4ee5\u540c\u65f6\u7ed9\u51fa\u540d\u79f0\u548c\u53c2\u6570\uff0c\u4f8b\u5982 foo(integer, text) \u3002\u5982\u679c\u5b58\u5728\u591a\u4e2a\u540c\u540d\u51fd\u6570\uff0c\u5c31\u5fc5\u987b\u7ed9\u51fa\u53c2\u6570\u7c7b\u578b\u3002 \u5982\u679c\u672a\u6307\u5b9a\u51fd\u6570\uff0c\u5219\u4f1a\u5448\u73b0\u4e00\u4e2a\u7a7a\u7684 CREATE FUNCTION \u6a21\u677f\u4f9b\u7f16\u8f91\u3002 \u5982\u679c\u6307\u5b9a\u4e86\u884c\u53f7\uff0c psql \u4f1a\u5c06\u5149\u6807\u5b9a\u4f4d\u5230\u51fd\u6570\u4f53\u4e2d\u7684\u6307\u5b9a\u884c\u3002\uff08\u8bf7\u6ce8\u610f\uff0c\u51fd\u6570\u4f53\u901a\u5e38\u5e76\u4e0d\u4ece\u6587\u4ef6\u7684\u7b2c\u4e00\u884c\u5f00\u59cb\u3002\uff09 \u4e0e\u5927\u591a\u6570\u5176\u4ed6\u5143\u547d\u4ee4\u4e0d\u540c\uff0c\u6574\u4e2a\u884c\u7684\u5269\u4f59\u90e8\u5206\u59cb\u7ec8\u88ab\u89c6\u4e3a \\ef \u7684\u53c2\u6570\uff0c\u53c2\u6570\u4e2d\u4e0d\u8fdb\u884c\u53d8\u91cf\u63d2\u503c\u6216\u53cd\u5f15\u53f7\u6269\u5c55\u3002 \u63d0\u793a \u6709\u5173\u5982\u4f55\u914d\u7f6e\u548c\u5b9a\u5236\u7f16\u8f91\u5668\uff0c\u8bf7\u53c2\u89c1\u4e0b\u9762\u7684 \u73af\u5883 \u3002", "description_zh_html": "<p>psql \u547d\u4ee4 \\ef [ function_description [ line_number ] ]\u3002</p><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u5b9a\u4e49</h3><dd><p>\n         \u8fd9\u4e2a\u547d\u4ee4\u83b7\u53d6\u5e76\u7f16\u8f91\u6307\u5b9a\u51fd\u6570\u6216\u8fc7\u7a0b\u7684\u5b9a\u4e49\uff0c\u5f62\u5f0f\u4e3a <code class=\"command\">CREATE OR REPLACE FUNCTION</code> \u6216\n         <code class=\"command\">CREATE OR REPLACE PROCEDURE</code> \u547d\u4ee4\u3002\u7f16\u8f91\u65b9\u5f0f\u4e0e<code class=\"literal\">\\edit</code> \u76f8\u540c\u3002\u7f16\u8f91\u5668\u9000\u51fa\u540e\uff0c\u66f4\u65b0\u540e\u7684\u547d\u4ee4\u4f1a\u5728\u67e5\u8be2\u7f13\u51b2\u533a\u4e2d\u7b49\u5f85\uff1b\u952e\u5165\u5206\u53f7\u6216<code class=\"literal\">\\g</code> \u53d1\u9001\u5b83\uff0c\u6216\u7528<code class=\"literal\">\\r</code> \u53d6\u6d88\u3002\n        </p><p>\u76ee\u6807\u51fd\u6570\u53ef\u4ee5\u53ea\u7528\u540d\u79f0\u6307\u5b9a\uff0c\u4e5f\u53ef\u4ee5\u540c\u65f6\u7ed9\u51fa\u540d\u79f0\u548c\u53c2\u6570\uff0c\u4f8b\u5982 <code class=\"literal\">foo(integer, text)</code>\u3002\u5982\u679c\u5b58\u5728\u591a\u4e2a\u540c\u540d\u51fd\u6570\uff0c\u5c31\u5fc5\u987b\u7ed9\u51fa\u53c2\u6570\u7c7b\u578b\u3002</p><p>\n         \u5982\u679c\u672a\u6307\u5b9a\u51fd\u6570\uff0c\u5219\u4f1a\u5448\u73b0\u4e00\u4e2a\u7a7a\u7684 <code class=\"command\">CREATE FUNCTION</code> \u6a21\u677f\u4f9b\u7f16\u8f91\u3002\n        </p><p>\u5982\u679c\u6307\u5b9a\u4e86\u884c\u53f7\uff0c<span class=\"application\">psql</span> \u4f1a\u5c06\u5149\u6807\u5b9a\u4f4d\u5230\u51fd\u6570\u4f53\u4e2d\u7684\u6307\u5b9a\u884c\u3002\uff08\u8bf7\u6ce8\u610f\uff0c\u51fd\u6570\u4f53\u901a\u5e38\u5e76\u4e0d\u4ece\u6587\u4ef6\u7684\u7b2c\u4e00\u884c\u5f00\u59cb\u3002\uff09</p><p>\n        \u4e0e\u5927\u591a\u6570\u5176\u4ed6\u5143\u547d\u4ee4\u4e0d\u540c\uff0c\u6574\u4e2a\u884c\u7684\u5269\u4f59\u90e8\u5206\u59cb\u7ec8\u88ab\u89c6\u4e3a<code class=\"command\">\\ef</code> \u7684\u53c2\u6570\uff0c\u53c2\u6570\u4e2d\u4e0d\u8fdb\u884c\u53d8\u91cf\u63d2\u503c\u6216\u53cd\u5f15\u53f7\u6269\u5c55\u3002\n        </p><div class=\"tip\"><h3 class=\"title\">\u63d0\u793a</h3><p>\u6709\u5173\u5982\u4f55\u914d\u7f6e\u548c\u5b9a\u5236\u7f16\u8f91\u5668\uff0c\u8bf7\u53c2\u89c1\u4e0b\u9762\u7684<a class=\"xref\" href=\"/zh/docs/12/app-psql.html#APP-PSQL-ENVIRONMENT\">\u73af\u5883</a>\u3002</p></div></dd><p><a href=\"/zh/docs/12/app-psql.html#APP-PSQL-META-COMMANDS\">\u67e5\u770b\u5b8c\u6574\u4e2d\u6587\u624b\u518c\u4e0e\u4e0a\u4e0b\u6587</a>\u3002</p>"}, "summary": "\u8fd9\u4e2a\u547d\u4ee4\u83b7\u53d6\u5e76\u7f16\u8f91\u6307\u5b9a\u51fd\u6570\u6216\u8fc7\u7a0b\u7684\u5b9a\u4e49\uff0c\u5f62\u5f0f\u4e3a CREATE OR REPLACE FUNCTION \u6216 CREATE OR REPLACE PROCEDURE \u547d\u4ee4\u3002\u7f16\u8f91\u65b9\u5f0f\u4e0e \\edit \u76f8\u540c\u3002\u7f16\u8f91\u5668\u9000\u51fa\u540e\uff0c\u66f4\u65b0\u540e\u7684\u547d\u4ee4\u4f1a\u5728\u67e5\u8be2\u7f13\u51b2\u533a\u4e2d\u7b49\u5f85\uff1b\u952e\u5165\u5206\u53f7\u6216 \\g \u53d1\u9001\u5b83\uff0c\u6216\u7528 \\r \u53d6\u6d88\u3002 \u76ee\u6807\u51fd\u6570\u53ef\u4ee5\u53ea\u7528\u540d\u79f0\u6307\u5b9a\uff0c\u4e5f\u53ef\u4ee5\u540c\u65f6\u7ed9\u51fa\u540d\u79f0\u548c\u53c2\u6570\uff0c\u4f8b\u5982 foo(integer, text) \u3002\u5982\u679c\u5b58\u5728\u591a\u4e2a\u540c\u540d\u51fd\u6570\uff0c\u5c31\u5fc5\u987b\u7ed9\u51fa\u53c2\u6570\u7c7b\u578b\u3002 \u5982\u679c\u672a\u6307\u5b9a\u51fd\u6570\uff0c\u5219\u4f1a\u5448\u73b0\u4e00\u4e2a\u7a7a\u7684 CREATE FUNCTION \u6a21\u677f\u4f9b\u7f16\u8f91\u3002 \u5982\u679c\u6307\u5b9a\u4e86\u884c\u53f7\uff0c psql \u4f1a\u5c06\u5149\u6807\u5b9a\u4f4d\u5230\u51fd\u6570\u4f53\u4e2d\u7684\u6307\u5b9a\u884c\u3002\uff08\u8bf7\u6ce8\u610f\uff0c\u51fd\u6570\u4f53\u901a\u5e38\u5e76\u4e0d\u4ece\u6587\u4ef6\u7684\u7b2c\u4e00\u884c\u5f00\u59cb\u3002\uff09 \u4e0e\u5927\u591a\u6570\u5176\u4ed6\u5143\u547d\u4ee4\u4e0d\u540c\uff0c\u6574\u4e2a\u884c\u7684\u5269\u4f59\u90e8\u5206\u59cb\u7ec8\u88ab\u89c6\u4e3a \\ef \u7684\u53c2\u6570\uff0c\u53c2\u6570\u4e2d\u4e0d\u8fdb\u884c\u53d8\u91cf\u63d2\u503c\u6216\u53cd\u5f15\u53f7\u6269\u5c55\u3002 \u63d0\u793a \u6709\u5173\u5982\u4f55\u914d\u7f6e\u548c\u5b9a\u5236\u7f16\u8f91\u5668\uff0c\u8bf7\u53c2\u89c1\u4e0b\u9762\u7684 \u73af\u5883 \u3002", "version": "12", "link_map": {"/zh/docs/12/app-psql.html#APP-PSQL-ENVIRONMENT": "/docs/12/app-psql.html#APP-PSQL-ENVIRONMENT", "/zh/docs/12/app-psql.html#APP-PSQL-META-COMMANDS": "/docs/12/app-psql.html#APP-PSQL-META-COMMANDS"}, "body_html": "<p>psql \u547d\u4ee4 \\ef [ function_description [ line_number ] ]\u3002</p><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u5b9a\u4e49</h3><dd><p>\n         \u8fd9\u4e2a\u547d\u4ee4\u83b7\u53d6\u5e76\u7f16\u8f91\u6307\u5b9a\u51fd\u6570\u6216\u8fc7\u7a0b\u7684\u5b9a\u4e49\uff0c\u5f62\u5f0f\u4e3a <code>CREATE OR REPLACE FUNCTION</code> \u6216\n         <code>CREATE OR REPLACE PROCEDURE</code> \u547d\u4ee4\u3002\u7f16\u8f91\u65b9\u5f0f\u4e0e<code>\\edit</code> \u76f8\u540c\u3002\u7f16\u8f91\u5668\u9000\u51fa\u540e\uff0c\u66f4\u65b0\u540e\u7684\u547d\u4ee4\u4f1a\u5728\u67e5\u8be2\u7f13\u51b2\u533a\u4e2d\u7b49\u5f85\uff1b\u952e\u5165\u5206\u53f7\u6216<code>\\g</code> \u53d1\u9001\u5b83\uff0c\u6216\u7528<code>\\r</code> \u53d6\u6d88\u3002\n        </p><p>\u76ee\u6807\u51fd\u6570\u53ef\u4ee5\u53ea\u7528\u540d\u79f0\u6307\u5b9a\uff0c\u4e5f\u53ef\u4ee5\u540c\u65f6\u7ed9\u51fa\u540d\u79f0\u548c\u53c2\u6570\uff0c\u4f8b\u5982 <code>foo(integer, text)</code>\u3002\u5982\u679c\u5b58\u5728\u591a\u4e2a\u540c\u540d\u51fd\u6570\uff0c\u5c31\u5fc5\u987b\u7ed9\u51fa\u53c2\u6570\u7c7b\u578b\u3002</p><p>\n         \u5982\u679c\u672a\u6307\u5b9a\u51fd\u6570\uff0c\u5219\u4f1a\u5448\u73b0\u4e00\u4e2a\u7a7a\u7684 <code>CREATE FUNCTION</code> \u6a21\u677f\u4f9b\u7f16\u8f91\u3002\n        </p><p>\u5982\u679c\u6307\u5b9a\u4e86\u884c\u53f7\uff0c<span>psql</span> \u4f1a\u5c06\u5149\u6807\u5b9a\u4f4d\u5230\u51fd\u6570\u4f53\u4e2d\u7684\u6307\u5b9a\u884c\u3002\uff08\u8bf7\u6ce8\u610f\uff0c\u51fd\u6570\u4f53\u901a\u5e38\u5e76\u4e0d\u4ece\u6587\u4ef6\u7684\u7b2c\u4e00\u884c\u5f00\u59cb\u3002\uff09</p><p>\n        \u4e0e\u5927\u591a\u6570\u5176\u4ed6\u5143\u547d\u4ee4\u4e0d\u540c\uff0c\u6574\u4e2a\u884c\u7684\u5269\u4f59\u90e8\u5206\u59cb\u7ec8\u88ab\u89c6\u4e3a<code>\\ef</code> \u7684\u53c2\u6570\uff0c\u53c2\u6570\u4e2d\u4e0d\u8fdb\u884c\u53d8\u91cf\u63d2\u503c\u6216\u53cd\u5f15\u53f7\u6269\u5c55\u3002\n        </p><div><h3>\u63d0\u793a</h3><p>\u6709\u5173\u5982\u4f55\u914d\u7f6e\u548c\u5b9a\u5236\u7f16\u8f91\u5668\uff0c\u8bf7\u53c2\u89c1\u4e0b\u9762\u7684<a href=\"/zh/docs/12/app-psql.html#APP-PSQL-ENVIRONMENT\" rel=\"nofollow\">\u73af\u5883</a>\u3002</p></div></dd><p><a href=\"/zh/docs/12/app-psql.html#APP-PSQL-META-COMMANDS\" rel=\"nofollow\">\u67e5\u770b\u5b8c\u6574\u4e2d\u6587\u624b\u518c\u4e0e\u4e0a\u4e0b\u6587</a>\u3002</p>", "body_sha256": "309cd13b2521f6b5edd83b3883983c3cf27d203b49dddaad7f94bbe4af3a19f9", "content_hash": "3f62c360e5b20c982f7112d15412109527a3ad9b818939728e41367a64d20bc9", "source_database": "center", "source_revision": "7a827e97cbfacd7febff75f34443e2043e40723de5b6d8c9d81a9430b65a37e4"}, "modifiers": [], "signature": "\\ef [ function_description [ line_number ] ]", "spellings": ["\\ef"], "tables_zh": [{"key": "spellings", "rows": [{"command": {"url": "/wiki/psql/cmd-65-66/?v=12", "text": "\\ef"}, "modifiers": "\u6b64\u8bed\u6cd5\u7b7e\u540d\u672a\u5217\u51fa"}], "title": "\u672c\u7248\u624b\u518c\u4e2d\u7684\u5199\u6cd5", "columns": [{"key": "command", "label": "\u547d\u4ee4"}, {"key": "modifiers", "label": "\u624b\u518c\u4e2d\u7684\u540e\u7f00\u4fee\u9970\u7b26"}]}], "description": ["\u8fd9\u4e2a\u547d\u4ee4\u83b7\u53d6\u5e76\u7f16\u8f91\u6307\u5b9a\u51fd\u6570\u6216\u8fc7\u7a0b\u7684\u5b9a\u4e49\uff0c\u5f62\u5f0f\u4e3a CREATE OR REPLACE FUNCTION \u6216 CREATE OR REPLACE PROCEDURE \u547d\u4ee4\u3002\u7f16\u8f91\u65b9\u5f0f\u4e0e \\edit \u76f8\u540c\u3002\u7f16\u8f91\u5668\u9000\u51fa\u540e\uff0c\u66f4\u65b0\u540e\u7684\u547d\u4ee4\u4f1a\u5728\u67e5\u8be2\u7f13\u51b2\u533a\u4e2d\u7b49\u5f85\uff1b\u952e\u5165\u5206\u53f7\u6216 \\g \u53d1\u9001\u5b83\uff0c\u6216\u7528 \\r \u53d6\u6d88\u3002 \u76ee\u6807\u51fd\u6570\u53ef\u4ee5\u53ea\u7528\u540d\u79f0\u6307\u5b9a\uff0c\u4e5f\u53ef\u4ee5\u540c\u65f6\u7ed9\u51fa\u540d\u79f0\u548c\u53c2\u6570\uff0c\u4f8b\u5982 foo(integer, text) \u3002\u5982\u679c\u5b58\u5728\u591a\u4e2a\u540c\u540d\u51fd\u6570\uff0c\u5c31\u5fc5\u987b\u7ed9\u51fa\u53c2\u6570\u7c7b\u578b\u3002 \u5982\u679c\u672a\u6307\u5b9a\u51fd\u6570\uff0c\u5219\u4f1a\u5448\u73b0\u4e00\u4e2a\u7a7a\u7684 CREATE FUNCTION \u6a21\u677f\u4f9b\u7f16\u8f91\u3002 \u5982\u679c\u6307\u5b9a\u4e86\u884c\u53f7\uff0c psql \u4f1a\u5c06\u5149\u6807\u5b9a\u4f4d\u5230\u51fd\u6570\u4f53\u4e2d\u7684\u6307\u5b9a\u884c\u3002\uff08\u8bf7\u6ce8\u610f\uff0c\u51fd\u6570\u4f53\u901a\u5e38\u5e76\u4e0d\u4ece\u6587\u4ef6\u7684\u7b2c\u4e00\u884c\u5f00\u59cb\u3002\uff09 \u4e0e\u5927\u591a\u6570\u5176\u4ed6\u5143\u547d\u4ee4\u4e0d\u540c\uff0c\u6574\u4e2a\u884c\u7684\u5269\u4f59\u90e8\u5206\u59cb\u7ec8\u88ab\u89c6\u4e3a \\ef \u7684\u53c2\u6570\uff0c\u53c2\u6570\u4e2d\u4e0d\u8fdb\u884c\u53d8\u91cf\u63d2\u503c\u6216\u53cd\u5f15\u53f7\u6269\u5c55\u3002 \u63d0\u793a \u6709\u5173\u5982\u4f55\u914d\u7f6e\u548c\u5b9a\u5236\u7f16\u8f91\u5668\uff0c\u8bf7\u53c2\u89c1\u4e0b\u9762\u7684 \u73af\u5883 \u3002"], "manual_html": "", "manual_path": "app-psql.html#APP-PSQL-META-COMMANDS", "sections_zh": [], "localization": {"status": "complete", "sources": [{"url": "/docs/12/app-psql.html", "method": "same-major semantic node", "sha256": "1eb88d17f6ce811d722e5c4ed036f78a7872bf88410c08db794c428e3cfc98ce", "language": "zh", "matched_nodes": ["#APP-PSQL/div[7]/div[3]/div[10]/dl[0]/dd[7]/div[1]/h3[0]", "#APP-PSQL/div[7]/div[3]/div[10]/dl[0]/dd[85]/div[3]/p[1]", "#APP-PSQL/div[7]/div[3]/div[10]/dl[0]/dd[89]/p[0]", "#APP-PSQL/div[7]/div[3]/div[10]/dl[0]/dd[89]/p[2]", "#APP-PSQL/div[7]/div[3]/div[10]/dl[0]/dd[89]/p[3]", "#APP-PSQL/div[7]/div[3]/div[10]/dl[0]/dd[89]/p[4]"]}], "language": "zh", "original_text": {"/versions/12/description/0": "This command fetches and edits the definition of the named function or procedure, in the form of a CREATE OR REPLACE FUNCTION or CREATE OR REPLACE PROCEDURE command. Editing is done in the same way as for \\edit . After the editor exits, the updated command waits in the query buffer; type semicolon or \\g to send it, or \\r to cancel.", "/versions/12/facts/0/label": "Client", "/versions/12/facts/1/label": "Case-sensitive spelling", "/versions/12/tables/0/title": "Spellings in this manual definition", "/versions/12/related/0/label": "psql command-line options and complete manual", "/versions/12/tables/0/columns/0/label": "Command", "/versions/12/tables/0/columns/1/label": "Documented suffix modifiers", "/versions/12/tables/0/rows/0/modifiers": "None listed in this signature"}, "fallback_fields": [], "source_language": "en", "original_snapshot_sha256": "7af9b882f7f168b9acabff1e8737949eab34a4eeb47a24acb6e5d4b1e402342a", "canonical_center_text_hash": "3f62c360e5b20c982f7112d15412109527a3ad9b818939728e41367a64d20bc9"}, "description_zh": "\u8fd9\u4e2a\u547d\u4ee4\u83b7\u53d6\u5e76\u7f16\u8f91\u6307\u5b9a\u51fd\u6570\u6216\u8fc7\u7a0b\u7684\u5b9a\u4e49\uff0c\u5f62\u5f0f\u4e3a CREATE OR REPLACE FUNCTION \u6216 CREATE OR REPLACE PROCEDURE \u547d\u4ee4\u3002\u7f16\u8f91\u65b9\u5f0f\u4e0e \\edit \u76f8\u540c\u3002\u7f16\u8f91\u5668\u9000\u51fa\u540e\uff0c\u66f4\u65b0\u540e\u7684\u547d\u4ee4\u4f1a\u5728\u67e5\u8be2\u7f13\u51b2\u533a\u4e2d\u7b49\u5f85\uff1b\u952e\u5165\u5206\u53f7\u6216 \\g \u53d1\u9001\u5b83\uff0c\u6216\u7528 \\r \u53d6\u6d88\u3002 \u76ee\u6807\u51fd\u6570\u53ef\u4ee5\u53ea\u7528\u540d\u79f0\u6307\u5b9a\uff0c\u4e5f\u53ef\u4ee5\u540c\u65f6\u7ed9\u51fa\u540d\u79f0\u548c\u53c2\u6570\uff0c\u4f8b\u5982 foo(integer, text) \u3002\u5982\u679c\u5b58\u5728\u591a\u4e2a\u540c\u540d\u51fd\u6570\uff0c\u5c31\u5fc5\u987b\u7ed9\u51fa\u53c2\u6570\u7c7b\u578b\u3002 \u5982\u679c\u672a\u6307\u5b9a\u51fd\u6570\uff0c\u5219\u4f1a\u5448\u73b0\u4e00\u4e2a\u7a7a\u7684 CREATE FUNCTION \u6a21\u677f\u4f9b\u7f16\u8f91\u3002 \u5982\u679c\u6307\u5b9a\u4e86\u884c\u53f7\uff0c psql \u4f1a\u5c06\u5149\u6807\u5b9a\u4f4d\u5230\u51fd\u6570\u4f53\u4e2d\u7684\u6307\u5b9a\u884c\u3002\uff08\u8bf7\u6ce8\u610f\uff0c\u51fd\u6570\u4f53\u901a\u5e38\u5e76\u4e0d\u4ece\u6587\u4ef6\u7684\u7b2c\u4e00\u884c\u5f00\u59cb\u3002\uff09 \u4e0e\u5927\u591a\u6570\u5176\u4ed6\u5143\u547d\u4ee4\u4e0d\u540c\uff0c\u6574\u4e2a\u884c\u7684\u5269\u4f59\u90e8\u5206\u59cb\u7ec8\u88ab\u89c6\u4e3a \\ef \u7684\u53c2\u6570\uff0c\u53c2\u6570\u4e2d\u4e0d\u8fdb\u884c\u53d8\u91cf\u63d2\u503c\u6216\u53cd\u5f15\u53f7\u6269\u5c55\u3002 \u63d0\u793a \u6709\u5173\u5982\u4f55\u914d\u7f6e\u548c\u5b9a\u5236\u7f16\u8f91\u5668\uff0c\u8bf7\u53c2\u89c1\u4e0b\u9762\u7684 \u73af\u5883 \u3002", "comparison_data": {"modifiers": [], "signature": "\\ef [ function_description [ line_number ] ]", "spellings": ["\\ef"], "definition": "This command fetches and edits the definition of the named function or procedure, in the form of a CREATE OR REPLACE FUNCTION or CREATE OR REPLACE PROCEDURE command. Editing is done in the same way as for \\edit . After the editor exits, the updated command waits in the query buffer; type semicolon or \\g to send it, or \\r to cancel. The target function can be specified by name alone, or by name and arguments, for example foo(integer, text) . The argument types must be given if there is more than one function of the same name. If no function is specified, a blank CREATE FUNCTION template is presented for editing. If a line number is specified, psql will position the cursor on the specified line of the function body. (Note that the function body typically does not begin on the first line of the file.) Unlike most other meta-commands, the entire remainder of the line is always taken to be the argument(s) of \\ef , and neither variable interpolation nor backquote expansion are performed in the arguments. Tip See under Environment for how to configure and customize your editor."}, "comparison_hash": "cbe92f1867f3b0aa64a21f7f6c46e7acbd5acc88e0e35cb74f88f46308ea44ad", "manual_language": "zh", "description_zh_html": "<p>psql \u547d\u4ee4 \\ef [ function_description [ line_number ] ]\u3002</p><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u5b9a\u4e49</h3><dd><p>\n         \u8fd9\u4e2a\u547d\u4ee4\u83b7\u53d6\u5e76\u7f16\u8f91\u6307\u5b9a\u51fd\u6570\u6216\u8fc7\u7a0b\u7684\u5b9a\u4e49\uff0c\u5f62\u5f0f\u4e3a <code>CREATE OR REPLACE FUNCTION</code> \u6216\n         <code>CREATE OR REPLACE PROCEDURE</code> \u547d\u4ee4\u3002\u7f16\u8f91\u65b9\u5f0f\u4e0e<code>\\edit</code> \u76f8\u540c\u3002\u7f16\u8f91\u5668\u9000\u51fa\u540e\uff0c\u66f4\u65b0\u540e\u7684\u547d\u4ee4\u4f1a\u5728\u67e5\u8be2\u7f13\u51b2\u533a\u4e2d\u7b49\u5f85\uff1b\u952e\u5165\u5206\u53f7\u6216<code>\\g</code> \u53d1\u9001\u5b83\uff0c\u6216\u7528<code>\\r</code> \u53d6\u6d88\u3002\n        </p><p>\u76ee\u6807\u51fd\u6570\u53ef\u4ee5\u53ea\u7528\u540d\u79f0\u6307\u5b9a\uff0c\u4e5f\u53ef\u4ee5\u540c\u65f6\u7ed9\u51fa\u540d\u79f0\u548c\u53c2\u6570\uff0c\u4f8b\u5982 <code>foo(integer, text)</code>\u3002\u5982\u679c\u5b58\u5728\u591a\u4e2a\u540c\u540d\u51fd\u6570\uff0c\u5c31\u5fc5\u987b\u7ed9\u51fa\u53c2\u6570\u7c7b\u578b\u3002</p><p>\n         \u5982\u679c\u672a\u6307\u5b9a\u51fd\u6570\uff0c\u5219\u4f1a\u5448\u73b0\u4e00\u4e2a\u7a7a\u7684 <code>CREATE FUNCTION</code> \u6a21\u677f\u4f9b\u7f16\u8f91\u3002\n        </p><p>\u5982\u679c\u6307\u5b9a\u4e86\u884c\u53f7\uff0c<span>psql</span> \u4f1a\u5c06\u5149\u6807\u5b9a\u4f4d\u5230\u51fd\u6570\u4f53\u4e2d\u7684\u6307\u5b9a\u884c\u3002\uff08\u8bf7\u6ce8\u610f\uff0c\u51fd\u6570\u4f53\u901a\u5e38\u5e76\u4e0d\u4ece\u6587\u4ef6\u7684\u7b2c\u4e00\u884c\u5f00\u59cb\u3002\uff09</p><p>\n        \u4e0e\u5927\u591a\u6570\u5176\u4ed6\u5143\u547d\u4ee4\u4e0d\u540c\uff0c\u6574\u4e2a\u884c\u7684\u5269\u4f59\u90e8\u5206\u59cb\u7ec8\u88ab\u89c6\u4e3a<code>\\ef</code> \u7684\u53c2\u6570\uff0c\u53c2\u6570\u4e2d\u4e0d\u8fdb\u884c\u53d8\u91cf\u63d2\u503c\u6216\u53cd\u5f15\u53f7\u6269\u5c55\u3002\n        </p><div><h3>\u63d0\u793a</h3><p>\u6709\u5173\u5982\u4f55\u914d\u7f6e\u548c\u5b9a\u5236\u7f16\u8f91\u5668\uff0c\u8bf7\u53c2\u89c1\u4e0b\u9762\u7684<a href=\"/zh/docs/12/app-psql.html#APP-PSQL-ENVIRONMENT\" rel=\"nofollow\">\u73af\u5883</a>\u3002</p></div></dd><p><a href=\"/zh/docs/12/app-psql.html#APP-PSQL-META-COMMANDS\" rel=\"nofollow\">\u67e5\u770b\u5b8c\u6574\u4e2d\u6587\u624b\u518c\u4e0e\u4e0a\u4e0b\u6587</a>\u3002</p>"}, "13": {"facts": [{"label": "\u5ba2\u6237\u7aef", "value": "psql 13.23"}, {"label": "\u533a\u5206\u5927\u5c0f\u5199\u7684\u5199\u6cd5", "value": "\\ef"}], "tables": [{"key": "spellings", "rows": [{"command": {"url": "/wiki/psql/cmd-65-66/?v=13", "text": "\\ef"}, "modifiers": "\u6b64\u8bed\u6cd5\u7b7e\u540d\u672a\u5217\u51fa"}], "title": "\u672c\u7248\u624b\u518c\u4e2d\u7684\u5199\u6cd5", "columns": [{"key": "command", "label": "\u547d\u4ee4"}, {"key": "modifiers", "label": "\u624b\u518c\u4e2d\u7684\u540e\u7f00\u4fee\u9970\u7b26"}]}], "command": "\\ef", "related": [{"url": "/wiki/tool/psql/?v=13", "label": "psql \u547d\u4ee4\u884c\u9009\u9879\u53ca\u5b8c\u6574\u624b\u518c"}], "release": {"ref": "https://ftp.postgresql.org/pub/source/v13.23/postgresql-13.23.tar.bz2", "label": "13.23", "major": "13", "channel": "historical", "manifest": {"pdf": {"A4": {"url": "/files/documentation/pdf/13/postgresql-13-A4.pdf", "bytes": 13843239, "pages": 2826, "sha256": "171cc09f90936dbc1cbd503a98ff07ae72ea58ab9771ff051313f1217737799c", "built_at": "2026-09-26"}, "US": {"url": "/files/documentation/pdf/13/postgresql-13-US.pdf", "bytes": 13739572, "pages": 2984, "sha256": "48d09c6e197d9db4220f41afe83efe848a8661b1b168d3b89419751ecaf6c24d", "built_at": "2026-09-26"}}, "tree": "13", "index": "index.html", "major": "13", "pages": 1139, "release": "13.23", "source_url": "https://ftp.postgresql.org/pub/source/v13.23/postgresql-13.23.tar.bz2", "svg_assets": 3, "source_mode": "en HTML verified against the pinned official archive", "source_sha256": "6ec3c82726af92b7dec873fa1cdf881eca92a4219787dfad05acb6b10e041fd6"}, "revision": "614ee3133270254e476c118cdf6f72af78d4e4b8bbd9b28ed9ab1e14e4e9c0f6", "evidence_kind": "English manual and source declarations", "source_sha256": "6ec3c82726af92b7dec873fa1cdf881eca92a4219787dfad05acb6b10e041fd6"}, "sources": [{"url": "/docs/13/app-psql.html#APP-PSQL-META-COMMANDS", "file": "app-psql.html", "label": "13.23 English manual \u00b7 app-psql.html", "anchor": "APP-PSQL-META-COMMANDS", "sha256": "30347083b7a58da020d968643e2479d2dfb534191d4493d454603ca53db151b0"}], "zh_from": {"kind": "same-version-chinese-manual-with-source-derived-identity", "manual": {"url": "/zh/docs/13/app-psql.html#APP-PSQL-META-COMMANDS", "anchor": "APP-PSQL-META-COMMANDS", "locale": "zh-Hans", "version": "13", "build_id": 66, "page_key": "app-psql.html", "extraction": "exact-definition", "source_hash": "a5500221235ed19029b98fb69f0d6465a7bf1d0939420838c240c2cd53b2eca3", "fragment_sha256": "fda9a95d83451248bbc0a37d3db1abfc41145038b2162e546ba45e7ab7233d3b", "source_revision": "unknown:rendered-translation-baseline", "translation_revision": "snapshot:sha256:a13a825c39f0268ef1cfe9137e283e38d0da73b2d7894f0733c7b26372a4f6a4", "translated_from_revision": null}, "body_sha256": "7ca4039fb8c8fefbef3e70b18a61c152bc3c55fd19a8ecd1626574e1f1d5ad2a", "runtime_rerun": false, "authored_translation": "source-derived-identity", "source_facts_revision": "614ee3133270254e476c118cdf6f72af78d4e4b8bbd9b28ed9ab1e14e4e9c0f6"}, "facts_zh": [{"label": "\u5ba2\u6237\u7aef", "value": "psql 13.23"}, {"label": "\u533a\u5206\u5927\u5c0f\u5199\u7684\u5199\u6cd5", "value": "\\ef"}], "sections": [], "center_zh": {"title": "\\ef", "locale": "zh-Hans", "source": {"key": "cmd-65-66", "locale": "zh-Hans", "version": "13", "text_hash": "dd7b316498f9c6aec9f5e732767bee457fc24ced35a6137b6a43fa9171a47235", "collection": "psql", "dataset_hash": "7c31b524dfe136022d39a6ae8dcfac6b3bbd5f8fdaf422536599981252aff0c9", "source_database": "center", "source_revision": "614ee3133270254e476c118cdf6f72af78d4e4b8bbd9b28ed9ab1e14e4e9c0f6"}, "payload": {"facts": [{"label": "\u5ba2\u6237\u7aef", "value": "psql 13.23"}, {"label": "\u533a\u5206\u5927\u5c0f\u5199\u7684\u5199\u6cd5", "value": "\\ef"}], "tables": [{"key": "spellings", "rows": [{"command": {"url": "/wiki/psql/cmd-65-66/?v=13", "text": "\\ef"}, "modifiers": "\u6b64\u8bed\u6cd5\u7b7e\u540d\u672a\u5217\u51fa"}], "title": "\u672c\u7248\u624b\u518c\u4e2d\u7684\u5199\u6cd5", "columns": [{"key": "command", "label": "\u547d\u4ee4"}, {"key": "modifiers", "label": "\u624b\u518c\u4e2d\u7684\u540e\u7f00\u4fee\u9970\u7b26"}]}], "zh_from": {"kind": "same-version-chinese-manual-with-source-derived-identity", "manual": {"url": "/zh/docs/13/app-psql.html#APP-PSQL-META-COMMANDS", "anchor": "APP-PSQL-META-COMMANDS", "locale": "zh-Hans", "version": "13", "build_id": 66, "page_key": "app-psql.html", "extraction": "exact-definition", "source_hash": "a5500221235ed19029b98fb69f0d6465a7bf1d0939420838c240c2cd53b2eca3", "fragment_sha256": "fda9a95d83451248bbc0a37d3db1abfc41145038b2162e546ba45e7ab7233d3b", "source_revision": "unknown:rendered-translation-baseline", "translation_revision": "snapshot:sha256:a13a825c39f0268ef1cfe9137e283e38d0da73b2d7894f0733c7b26372a4f6a4", "translated_from_revision": null}, "body_sha256": "7ca4039fb8c8fefbef3e70b18a61c152bc3c55fd19a8ecd1626574e1f1d5ad2a", "runtime_rerun": false, "authored_translation": "source-derived-identity", "source_facts_revision": "614ee3133270254e476c118cdf6f72af78d4e4b8bbd9b28ed9ab1e14e4e9c0f6"}, "sections": [], "description_zh": "\u8fd9\u4e2a\u547d\u4ee4\u83b7\u53d6\u5e76\u7f16\u8f91\u6307\u5b9a\u51fd\u6570\u6216\u8fc7\u7a0b\u7684\u5b9a\u4e49\uff0c\u5f62\u5f0f\u4e3a CREATE OR REPLACE FUNCTION \u6216 CREATE OR REPLACE PROCEDURE \u547d\u4ee4\u3002\u7f16\u8f91\u65b9\u5f0f\u4e0e \\edit \u76f8\u540c\u3002\u7f16\u8f91\u5668\u9000\u51fa\u540e\uff0c\u5982\u679c\u4f60\u5728\u547d\u4ee4\u4e2d\u6dfb\u52a0\u4e86\u5206\u53f7\uff0c\u5219\u66f4\u65b0\u540e\u7684\u547d\u4ee4\u4f1a\u7acb\u5373\u6267\u884c\u3002\u5426\u5219\u5b83\u4f1a\u91cd\u65b0\u663e\u793a\uff1b\u952e\u5165\u5206\u53f7\u6216 \\g \u53d1\u9001\u5b83\uff0c\u6216\u7528 \\r \u53d6\u6d88\u3002 \u76ee\u6807\u51fd\u6570\u53ef\u4ee5\u53ea\u7528\u540d\u79f0\u6307\u5b9a\uff0c\u4e5f\u53ef\u4ee5\u540c\u65f6\u7ed9\u51fa\u540d\u79f0\u548c\u53c2\u6570\uff0c\u4f8b\u5982 foo(integer, text) \u3002\u5982\u679c\u5b58\u5728\u591a\u4e2a\u540c\u540d\u51fd\u6570\uff0c\u5c31\u5fc5\u987b\u7ed9\u51fa\u53c2\u6570\u7c7b\u578b\u3002 \u5982\u679c\u672a\u6307\u5b9a\u51fd\u6570\uff0c\u5219\u4f1a\u5448\u73b0\u4e00\u4e2a\u7a7a\u7684 CREATE FUNCTION \u6a21\u677f\u4f9b\u7f16\u8f91\u3002 \u5982\u679c\u6307\u5b9a\u4e86\u884c\u53f7\uff0c psql \u4f1a\u5c06\u5149\u6807\u5b9a\u4f4d\u5230\u51fd\u6570\u4f53\u4e2d\u7684\u6307\u5b9a\u884c\u3002\uff08\u8bf7\u6ce8\u610f\uff0c\u51fd\u6570\u4f53\u901a\u5e38\u5e76\u4e0d\u4ece\u6587\u4ef6\u7684\u7b2c\u4e00\u884c\u5f00\u59cb\u3002\uff09 \u4e0e\u5927\u591a\u6570\u5176\u4ed6\u5143\u547d\u4ee4\u4e0d\u540c\uff0c\u6574\u4e2a\u884c\u7684\u5269\u4f59\u90e8\u5206\u59cb\u7ec8\u88ab\u89c6\u4e3a \\ef \u7684\u53c2\u6570\uff0c\u53c2\u6570\u4e2d\u4e0d\u8fdb\u884c\u53d8\u91cf\u63d2\u503c\u6216\u53cd\u5f15\u53f7\u6269\u5c55\u3002 \u63d0\u793a \u6709\u5173\u5982\u4f55\u914d\u7f6e\u548c\u5b9a\u5236\u7f16\u8f91\u5668\uff0c\u8bf7\u53c2\u89c1\u4e0b\u9762\u7684 \u73af\u5883 \u3002", "description_zh_html": "<p>psql \u547d\u4ee4 \\ef [ function_description [ line_number ] ]\u3002</p><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u5b9a\u4e49</h3><dd><p>\n         \u8fd9\u4e2a\u547d\u4ee4\u83b7\u53d6\u5e76\u7f16\u8f91\u6307\u5b9a\u51fd\u6570\u6216\u8fc7\u7a0b\u7684\u5b9a\u4e49\uff0c\u5f62\u5f0f\u4e3a <code class=\"command\">CREATE OR REPLACE FUNCTION</code> \u6216\n         <code class=\"command\">CREATE OR REPLACE PROCEDURE</code> \u547d\u4ee4\u3002\u7f16\u8f91\u65b9\u5f0f\u4e0e<code class=\"literal\">\\edit</code> \u76f8\u540c\u3002\u7f16\u8f91\u5668\u9000\u51fa\u540e\uff0c\u5982\u679c\u4f60\u5728\u547d\u4ee4\u4e2d\u6dfb\u52a0\u4e86\u5206\u53f7\uff0c\u5219\u66f4\u65b0\u540e\u7684\u547d\u4ee4\u4f1a\u7acb\u5373\u6267\u884c\u3002\u5426\u5219\u5b83\u4f1a\u91cd\u65b0\u663e\u793a\uff1b\u952e\u5165\u5206\u53f7\u6216<code class=\"literal\">\\g</code> \u53d1\u9001\u5b83\uff0c\u6216\u7528<code class=\"literal\">\\r</code> \u53d6\u6d88\u3002\n        </p><p>\u76ee\u6807\u51fd\u6570\u53ef\u4ee5\u53ea\u7528\u540d\u79f0\u6307\u5b9a\uff0c\u4e5f\u53ef\u4ee5\u540c\u65f6\u7ed9\u51fa\u540d\u79f0\u548c\u53c2\u6570\uff0c\u4f8b\u5982 <code class=\"literal\">foo(integer, text)</code>\u3002\u5982\u679c\u5b58\u5728\u591a\u4e2a\u540c\u540d\u51fd\u6570\uff0c\u5c31\u5fc5\u987b\u7ed9\u51fa\u53c2\u6570\u7c7b\u578b\u3002</p><p>\n         \u5982\u679c\u672a\u6307\u5b9a\u51fd\u6570\uff0c\u5219\u4f1a\u5448\u73b0\u4e00\u4e2a\u7a7a\u7684 <code class=\"command\">CREATE FUNCTION</code> \u6a21\u677f\u4f9b\u7f16\u8f91\u3002\n        </p><p>\u5982\u679c\u6307\u5b9a\u4e86\u884c\u53f7\uff0c<span class=\"application\">psql</span> \u4f1a\u5c06\u5149\u6807\u5b9a\u4f4d\u5230\u51fd\u6570\u4f53\u4e2d\u7684\u6307\u5b9a\u884c\u3002\uff08\u8bf7\u6ce8\u610f\uff0c\u51fd\u6570\u4f53\u901a\u5e38\u5e76\u4e0d\u4ece\u6587\u4ef6\u7684\u7b2c\u4e00\u884c\u5f00\u59cb\u3002\uff09</p><p>\n        \u4e0e\u5927\u591a\u6570\u5176\u4ed6\u5143\u547d\u4ee4\u4e0d\u540c\uff0c\u6574\u4e2a\u884c\u7684\u5269\u4f59\u90e8\u5206\u59cb\u7ec8\u88ab\u89c6\u4e3a<code class=\"command\">\\ef</code> \u7684\u53c2\u6570\uff0c\u53c2\u6570\u4e2d\u4e0d\u8fdb\u884c\u53d8\u91cf\u63d2\u503c\u6216\u53cd\u5f15\u53f7\u6269\u5c55\u3002\n        </p><div class=\"tip\"><h3 class=\"title\">\u63d0\u793a</h3><p>\u6709\u5173\u5982\u4f55\u914d\u7f6e\u548c\u5b9a\u5236\u7f16\u8f91\u5668\uff0c\u8bf7\u53c2\u89c1\u4e0b\u9762\u7684<a class=\"xref\" href=\"/zh/docs/13/app-psql.html#APP-PSQL-ENVIRONMENT\">\u73af\u5883</a>\u3002</p></div></dd><p><a href=\"/zh/docs/13/app-psql.html#APP-PSQL-META-COMMANDS\">\u67e5\u770b\u5b8c\u6574\u4e2d\u6587\u624b\u518c\u4e0e\u4e0a\u4e0b\u6587</a>\u3002</p>"}, "summary": "\u8fd9\u4e2a\u547d\u4ee4\u83b7\u53d6\u5e76\u7f16\u8f91\u6307\u5b9a\u51fd\u6570\u6216\u8fc7\u7a0b\u7684\u5b9a\u4e49\uff0c\u5f62\u5f0f\u4e3a CREATE OR REPLACE FUNCTION \u6216 CREATE OR REPLACE PROCEDURE \u547d\u4ee4\u3002\u7f16\u8f91\u65b9\u5f0f\u4e0e \\edit \u76f8\u540c\u3002\u7f16\u8f91\u5668\u9000\u51fa\u540e\uff0c\u5982\u679c\u4f60\u5728\u547d\u4ee4\u4e2d\u6dfb\u52a0\u4e86\u5206\u53f7\uff0c\u5219\u66f4\u65b0\u540e\u7684\u547d\u4ee4\u4f1a\u7acb\u5373\u6267\u884c\u3002\u5426\u5219\u5b83\u4f1a\u91cd\u65b0\u663e\u793a\uff1b\u952e\u5165\u5206\u53f7\u6216 \\g \u53d1\u9001\u5b83\uff0c\u6216\u7528 \\r \u53d6\u6d88\u3002 \u76ee\u6807\u51fd\u6570\u53ef\u4ee5\u53ea\u7528\u540d\u79f0\u6307\u5b9a\uff0c\u4e5f\u53ef\u4ee5\u540c\u65f6\u7ed9\u51fa\u540d\u79f0\u548c\u53c2\u6570\uff0c\u4f8b\u5982 foo(integer, text) \u3002\u5982\u679c\u5b58\u5728\u591a\u4e2a\u540c\u540d\u51fd\u6570\uff0c\u5c31\u5fc5\u987b\u7ed9\u51fa\u53c2\u6570\u7c7b\u578b\u3002 \u5982\u679c\u672a\u6307\u5b9a\u51fd\u6570\uff0c\u5219\u4f1a\u5448\u73b0\u4e00\u4e2a\u7a7a\u7684 CREATE FUNCTION \u6a21\u677f\u4f9b\u7f16\u8f91\u3002 \u5982\u679c\u6307\u5b9a\u4e86\u884c\u53f7\uff0c psql \u4f1a\u5c06\u5149\u6807\u5b9a\u4f4d\u5230\u51fd\u6570\u4f53\u4e2d\u7684\u6307\u5b9a\u884c\u3002\uff08\u8bf7\u6ce8\u610f\uff0c\u51fd\u6570\u4f53\u901a\u5e38\u5e76\u4e0d\u4ece\u6587\u4ef6\u7684\u7b2c\u4e00\u884c\u5f00\u59cb\u3002\uff09 \u4e0e\u5927\u591a\u6570\u5176\u4ed6\u5143\u547d\u4ee4\u4e0d\u540c\uff0c\u6574\u4e2a\u884c\u7684\u5269\u4f59\u90e8\u5206\u59cb\u7ec8\u88ab\u89c6\u4e3a \\ef \u7684\u53c2\u6570\uff0c\u53c2\u6570\u4e2d\u4e0d\u8fdb\u884c\u53d8\u91cf\u63d2\u503c\u6216\u53cd\u5f15\u53f7\u6269\u5c55\u3002 \u63d0\u793a \u6709\u5173\u5982\u4f55\u914d\u7f6e\u548c\u5b9a\u5236\u7f16\u8f91\u5668\uff0c\u8bf7\u53c2\u89c1\u4e0b\u9762\u7684 \u73af\u5883 \u3002", "version": "13", "link_map": {"/zh/docs/13/app-psql.html#APP-PSQL-ENVIRONMENT": "/docs/13/app-psql.html#APP-PSQL-ENVIRONMENT", "/zh/docs/13/app-psql.html#APP-PSQL-META-COMMANDS": "/docs/13/app-psql.html#APP-PSQL-META-COMMANDS"}, "body_html": "<p>psql \u547d\u4ee4 \\ef [ function_description [ line_number ] ]\u3002</p><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u5b9a\u4e49</h3><dd><p>\n         \u8fd9\u4e2a\u547d\u4ee4\u83b7\u53d6\u5e76\u7f16\u8f91\u6307\u5b9a\u51fd\u6570\u6216\u8fc7\u7a0b\u7684\u5b9a\u4e49\uff0c\u5f62\u5f0f\u4e3a <code>CREATE OR REPLACE FUNCTION</code> \u6216\n         <code>CREATE OR REPLACE PROCEDURE</code> \u547d\u4ee4\u3002\u7f16\u8f91\u65b9\u5f0f\u4e0e<code>\\edit</code> \u76f8\u540c\u3002\u7f16\u8f91\u5668\u9000\u51fa\u540e\uff0c\u5982\u679c\u4f60\u5728\u547d\u4ee4\u4e2d\u6dfb\u52a0\u4e86\u5206\u53f7\uff0c\u5219\u66f4\u65b0\u540e\u7684\u547d\u4ee4\u4f1a\u7acb\u5373\u6267\u884c\u3002\u5426\u5219\u5b83\u4f1a\u91cd\u65b0\u663e\u793a\uff1b\u952e\u5165\u5206\u53f7\u6216<code>\\g</code> \u53d1\u9001\u5b83\uff0c\u6216\u7528<code>\\r</code> \u53d6\u6d88\u3002\n        </p><p>\u76ee\u6807\u51fd\u6570\u53ef\u4ee5\u53ea\u7528\u540d\u79f0\u6307\u5b9a\uff0c\u4e5f\u53ef\u4ee5\u540c\u65f6\u7ed9\u51fa\u540d\u79f0\u548c\u53c2\u6570\uff0c\u4f8b\u5982 <code>foo(integer, text)</code>\u3002\u5982\u679c\u5b58\u5728\u591a\u4e2a\u540c\u540d\u51fd\u6570\uff0c\u5c31\u5fc5\u987b\u7ed9\u51fa\u53c2\u6570\u7c7b\u578b\u3002</p><p>\n         \u5982\u679c\u672a\u6307\u5b9a\u51fd\u6570\uff0c\u5219\u4f1a\u5448\u73b0\u4e00\u4e2a\u7a7a\u7684 <code>CREATE FUNCTION</code> \u6a21\u677f\u4f9b\u7f16\u8f91\u3002\n        </p><p>\u5982\u679c\u6307\u5b9a\u4e86\u884c\u53f7\uff0c<span>psql</span> \u4f1a\u5c06\u5149\u6807\u5b9a\u4f4d\u5230\u51fd\u6570\u4f53\u4e2d\u7684\u6307\u5b9a\u884c\u3002\uff08\u8bf7\u6ce8\u610f\uff0c\u51fd\u6570\u4f53\u901a\u5e38\u5e76\u4e0d\u4ece\u6587\u4ef6\u7684\u7b2c\u4e00\u884c\u5f00\u59cb\u3002\uff09</p><p>\n        \u4e0e\u5927\u591a\u6570\u5176\u4ed6\u5143\u547d\u4ee4\u4e0d\u540c\uff0c\u6574\u4e2a\u884c\u7684\u5269\u4f59\u90e8\u5206\u59cb\u7ec8\u88ab\u89c6\u4e3a<code>\\ef</code> \u7684\u53c2\u6570\uff0c\u53c2\u6570\u4e2d\u4e0d\u8fdb\u884c\u53d8\u91cf\u63d2\u503c\u6216\u53cd\u5f15\u53f7\u6269\u5c55\u3002\n        </p><div><h3>\u63d0\u793a</h3><p>\u6709\u5173\u5982\u4f55\u914d\u7f6e\u548c\u5b9a\u5236\u7f16\u8f91\u5668\uff0c\u8bf7\u53c2\u89c1\u4e0b\u9762\u7684<a href=\"/zh/docs/13/app-psql.html#APP-PSQL-ENVIRONMENT\" rel=\"nofollow\">\u73af\u5883</a>\u3002</p></div></dd><p><a href=\"/zh/docs/13/app-psql.html#APP-PSQL-META-COMMANDS\" rel=\"nofollow\">\u67e5\u770b\u5b8c\u6574\u4e2d\u6587\u624b\u518c\u4e0e\u4e0a\u4e0b\u6587</a>\u3002</p>", "body_sha256": "87af090e1ee7c24588e72552d006fabeb8a0c9dd59ff23f31cd705e0c5411001", "content_hash": "dd7b316498f9c6aec9f5e732767bee457fc24ced35a6137b6a43fa9171a47235", "source_database": "center", "source_revision": "614ee3133270254e476c118cdf6f72af78d4e4b8bbd9b28ed9ab1e14e4e9c0f6"}, "modifiers": [], "signature": "\\ef [ function_description [ line_number ] ]", "spellings": ["\\ef"], "tables_zh": [{"key": "spellings", "rows": [{"command": {"url": "/wiki/psql/cmd-65-66/?v=13", "text": "\\ef"}, "modifiers": "\u6b64\u8bed\u6cd5\u7b7e\u540d\u672a\u5217\u51fa"}], "title": "\u672c\u7248\u624b\u518c\u4e2d\u7684\u5199\u6cd5", "columns": [{"key": "command", "label": "\u547d\u4ee4"}, {"key": "modifiers", "label": "\u624b\u518c\u4e2d\u7684\u540e\u7f00\u4fee\u9970\u7b26"}]}], "description": ["\u8fd9\u4e2a\u547d\u4ee4\u83b7\u53d6\u5e76\u7f16\u8f91\u6307\u5b9a\u51fd\u6570\u6216\u8fc7\u7a0b\u7684\u5b9a\u4e49\uff0c\u5f62\u5f0f\u4e3a CREATE OR REPLACE FUNCTION \u6216 CREATE OR REPLACE PROCEDURE \u547d\u4ee4\u3002\u7f16\u8f91\u65b9\u5f0f\u4e0e \\edit \u76f8\u540c\u3002\u7f16\u8f91\u5668\u9000\u51fa\u540e\uff0c\u5982\u679c\u4f60\u5728\u547d\u4ee4\u4e2d\u6dfb\u52a0\u4e86\u5206\u53f7\uff0c\u5219\u66f4\u65b0\u540e\u7684\u547d\u4ee4\u4f1a\u7acb\u5373\u6267\u884c\u3002\u5426\u5219\u5b83\u4f1a\u91cd\u65b0\u663e\u793a\uff1b\u952e\u5165\u5206\u53f7\u6216 \\g \u53d1\u9001\u5b83\uff0c\u6216\u7528 \\r \u53d6\u6d88\u3002 \u76ee\u6807\u51fd\u6570\u53ef\u4ee5\u53ea\u7528\u540d\u79f0\u6307\u5b9a\uff0c\u4e5f\u53ef\u4ee5\u540c\u65f6\u7ed9\u51fa\u540d\u79f0\u548c\u53c2\u6570\uff0c\u4f8b\u5982 foo(integer, text) \u3002\u5982\u679c\u5b58\u5728\u591a\u4e2a\u540c\u540d\u51fd\u6570\uff0c\u5c31\u5fc5\u987b\u7ed9\u51fa\u53c2\u6570\u7c7b\u578b\u3002 \u5982\u679c\u672a\u6307\u5b9a\u51fd\u6570\uff0c\u5219\u4f1a\u5448\u73b0\u4e00\u4e2a\u7a7a\u7684 CREATE FUNCTION \u6a21\u677f\u4f9b\u7f16\u8f91\u3002 \u5982\u679c\u6307\u5b9a\u4e86\u884c\u53f7\uff0c psql \u4f1a\u5c06\u5149\u6807\u5b9a\u4f4d\u5230\u51fd\u6570\u4f53\u4e2d\u7684\u6307\u5b9a\u884c\u3002\uff08\u8bf7\u6ce8\u610f\uff0c\u51fd\u6570\u4f53\u901a\u5e38\u5e76\u4e0d\u4ece\u6587\u4ef6\u7684\u7b2c\u4e00\u884c\u5f00\u59cb\u3002\uff09 \u4e0e\u5927\u591a\u6570\u5176\u4ed6\u5143\u547d\u4ee4\u4e0d\u540c\uff0c\u6574\u4e2a\u884c\u7684\u5269\u4f59\u90e8\u5206\u59cb\u7ec8\u88ab\u89c6\u4e3a \\ef \u7684\u53c2\u6570\uff0c\u53c2\u6570\u4e2d\u4e0d\u8fdb\u884c\u53d8\u91cf\u63d2\u503c\u6216\u53cd\u5f15\u53f7\u6269\u5c55\u3002 \u63d0\u793a \u6709\u5173\u5982\u4f55\u914d\u7f6e\u548c\u5b9a\u5236\u7f16\u8f91\u5668\uff0c\u8bf7\u53c2\u89c1\u4e0b\u9762\u7684 \u73af\u5883 \u3002"], "manual_html": "", "manual_path": "app-psql.html#APP-PSQL-META-COMMANDS", "sections_zh": [], "localization": {"status": "complete", "sources": [{"url": "/docs/13/app-psql.html", "method": "same-major semantic node", "sha256": "dd2bf63d81b9a9d3fc69c646197cfdc14a0b1bab1c9f0b98608d66554da4a261", "language": "zh", "matched_nodes": ["#APP-PSQL/div[7]/div[3]/div[10]/dl[0]/dd[7]/div[1]/h3[0]", "#APP-PSQL/div[7]/div[3]/div[10]/dl[0]/dd[93]/div[4]/p[1]", "#APP-PSQL/div[7]/div[3]/div[10]/dl[0]/dd[97]/p[0]", "#APP-PSQL/div[7]/div[3]/div[10]/dl[0]/dd[97]/p[2]", "#APP-PSQL/div[7]/div[3]/div[10]/dl[0]/dd[97]/p[3]", "#APP-PSQL/div[7]/div[3]/div[10]/dl[0]/dd[97]/p[4]"]}], "language": "zh", "original_text": {"/versions/13/description/0": "This command fetches and edits the definition of the named function or procedure, in the form of a CREATE OR REPLACE FUNCTION or CREATE OR REPLACE PROCEDURE command. Editing is done in the same way as for \\edit . After the editor exits, the updated command is executed immediately if you added a semicolon to it. Otherwise it is redisplayed; type semicolon or \\g to send it, or \\r to cancel.", "/versions/13/facts/0/label": "Client", "/versions/13/facts/1/label": "Case-sensitive spelling", "/versions/13/tables/0/title": "Spellings in this manual definition", "/versions/13/related/0/label": "psql command-line options and complete manual", "/versions/13/tables/0/columns/0/label": "Command", "/versions/13/tables/0/columns/1/label": "Documented suffix modifiers", "/versions/13/tables/0/rows/0/modifiers": "None listed in this signature"}, "fallback_fields": [], "source_language": "en", "original_snapshot_sha256": "bd55450d4f19e94e239d8b72c026aa06f39f4129d10d820fb21f34c736dc5112", "canonical_center_text_hash": "dd7b316498f9c6aec9f5e732767bee457fc24ced35a6137b6a43fa9171a47235"}, "description_zh": "\u8fd9\u4e2a\u547d\u4ee4\u83b7\u53d6\u5e76\u7f16\u8f91\u6307\u5b9a\u51fd\u6570\u6216\u8fc7\u7a0b\u7684\u5b9a\u4e49\uff0c\u5f62\u5f0f\u4e3a CREATE OR REPLACE FUNCTION \u6216 CREATE OR REPLACE PROCEDURE \u547d\u4ee4\u3002\u7f16\u8f91\u65b9\u5f0f\u4e0e \\edit \u76f8\u540c\u3002\u7f16\u8f91\u5668\u9000\u51fa\u540e\uff0c\u5982\u679c\u4f60\u5728\u547d\u4ee4\u4e2d\u6dfb\u52a0\u4e86\u5206\u53f7\uff0c\u5219\u66f4\u65b0\u540e\u7684\u547d\u4ee4\u4f1a\u7acb\u5373\u6267\u884c\u3002\u5426\u5219\u5b83\u4f1a\u91cd\u65b0\u663e\u793a\uff1b\u952e\u5165\u5206\u53f7\u6216 \\g \u53d1\u9001\u5b83\uff0c\u6216\u7528 \\r \u53d6\u6d88\u3002 \u76ee\u6807\u51fd\u6570\u53ef\u4ee5\u53ea\u7528\u540d\u79f0\u6307\u5b9a\uff0c\u4e5f\u53ef\u4ee5\u540c\u65f6\u7ed9\u51fa\u540d\u79f0\u548c\u53c2\u6570\uff0c\u4f8b\u5982 foo(integer, text) \u3002\u5982\u679c\u5b58\u5728\u591a\u4e2a\u540c\u540d\u51fd\u6570\uff0c\u5c31\u5fc5\u987b\u7ed9\u51fa\u53c2\u6570\u7c7b\u578b\u3002 \u5982\u679c\u672a\u6307\u5b9a\u51fd\u6570\uff0c\u5219\u4f1a\u5448\u73b0\u4e00\u4e2a\u7a7a\u7684 CREATE FUNCTION \u6a21\u677f\u4f9b\u7f16\u8f91\u3002 \u5982\u679c\u6307\u5b9a\u4e86\u884c\u53f7\uff0c psql \u4f1a\u5c06\u5149\u6807\u5b9a\u4f4d\u5230\u51fd\u6570\u4f53\u4e2d\u7684\u6307\u5b9a\u884c\u3002\uff08\u8bf7\u6ce8\u610f\uff0c\u51fd\u6570\u4f53\u901a\u5e38\u5e76\u4e0d\u4ece\u6587\u4ef6\u7684\u7b2c\u4e00\u884c\u5f00\u59cb\u3002\uff09 \u4e0e\u5927\u591a\u6570\u5176\u4ed6\u5143\u547d\u4ee4\u4e0d\u540c\uff0c\u6574\u4e2a\u884c\u7684\u5269\u4f59\u90e8\u5206\u59cb\u7ec8\u88ab\u89c6\u4e3a \\ef \u7684\u53c2\u6570\uff0c\u53c2\u6570\u4e2d\u4e0d\u8fdb\u884c\u53d8\u91cf\u63d2\u503c\u6216\u53cd\u5f15\u53f7\u6269\u5c55\u3002 \u63d0\u793a \u6709\u5173\u5982\u4f55\u914d\u7f6e\u548c\u5b9a\u5236\u7f16\u8f91\u5668\uff0c\u8bf7\u53c2\u89c1\u4e0b\u9762\u7684 \u73af\u5883 \u3002", "comparison_data": {"modifiers": [], "signature": "\\ef [ function_description [ line_number ] ]", "spellings": ["\\ef"], "definition": "This command fetches and edits the definition of the named function or procedure, in the form of a CREATE OR REPLACE FUNCTION or CREATE OR REPLACE PROCEDURE command. Editing is done in the same way as for \\edit . After the editor exits, the updated command is executed immediately if you added a semicolon to it. Otherwise it is redisplayed; type semicolon or \\g to send it, or \\r to cancel. The target function can be specified by name alone, or by name and arguments, for example foo(integer, text) . The argument types must be given if there is more than one function of the same name. If no function is specified, a blank CREATE FUNCTION template is presented for editing. If a line number is specified, psql will position the cursor on the specified line of the function body. (Note that the function body typically does not begin on the first line of the file.) Unlike most other meta-commands, the entire remainder of the line is always taken to be the argument(s) of \\ef , and neither variable interpolation nor backquote expansion are performed in the arguments. Tip See Environment , below, for how to configure and customize your editor."}, "comparison_hash": "b500bea99a48c1b4640f98e5d787d09ed2e226d8c6568371f1ce802aac49e39c", "manual_language": "zh", "description_zh_html": "<p>psql \u547d\u4ee4 \\ef [ function_description [ line_number ] ]\u3002</p><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u5b9a\u4e49</h3><dd><p>\n         \u8fd9\u4e2a\u547d\u4ee4\u83b7\u53d6\u5e76\u7f16\u8f91\u6307\u5b9a\u51fd\u6570\u6216\u8fc7\u7a0b\u7684\u5b9a\u4e49\uff0c\u5f62\u5f0f\u4e3a <code>CREATE OR REPLACE FUNCTION</code> \u6216\n         <code>CREATE OR REPLACE PROCEDURE</code> \u547d\u4ee4\u3002\u7f16\u8f91\u65b9\u5f0f\u4e0e<code>\\edit</code> \u76f8\u540c\u3002\u7f16\u8f91\u5668\u9000\u51fa\u540e\uff0c\u5982\u679c\u4f60\u5728\u547d\u4ee4\u4e2d\u6dfb\u52a0\u4e86\u5206\u53f7\uff0c\u5219\u66f4\u65b0\u540e\u7684\u547d\u4ee4\u4f1a\u7acb\u5373\u6267\u884c\u3002\u5426\u5219\u5b83\u4f1a\u91cd\u65b0\u663e\u793a\uff1b\u952e\u5165\u5206\u53f7\u6216<code>\\g</code> \u53d1\u9001\u5b83\uff0c\u6216\u7528<code>\\r</code> \u53d6\u6d88\u3002\n        </p><p>\u76ee\u6807\u51fd\u6570\u53ef\u4ee5\u53ea\u7528\u540d\u79f0\u6307\u5b9a\uff0c\u4e5f\u53ef\u4ee5\u540c\u65f6\u7ed9\u51fa\u540d\u79f0\u548c\u53c2\u6570\uff0c\u4f8b\u5982 <code>foo(integer, text)</code>\u3002\u5982\u679c\u5b58\u5728\u591a\u4e2a\u540c\u540d\u51fd\u6570\uff0c\u5c31\u5fc5\u987b\u7ed9\u51fa\u53c2\u6570\u7c7b\u578b\u3002</p><p>\n         \u5982\u679c\u672a\u6307\u5b9a\u51fd\u6570\uff0c\u5219\u4f1a\u5448\u73b0\u4e00\u4e2a\u7a7a\u7684 <code>CREATE FUNCTION</code> \u6a21\u677f\u4f9b\u7f16\u8f91\u3002\n        </p><p>\u5982\u679c\u6307\u5b9a\u4e86\u884c\u53f7\uff0c<span>psql</span> \u4f1a\u5c06\u5149\u6807\u5b9a\u4f4d\u5230\u51fd\u6570\u4f53\u4e2d\u7684\u6307\u5b9a\u884c\u3002\uff08\u8bf7\u6ce8\u610f\uff0c\u51fd\u6570\u4f53\u901a\u5e38\u5e76\u4e0d\u4ece\u6587\u4ef6\u7684\u7b2c\u4e00\u884c\u5f00\u59cb\u3002\uff09</p><p>\n        \u4e0e\u5927\u591a\u6570\u5176\u4ed6\u5143\u547d\u4ee4\u4e0d\u540c\uff0c\u6574\u4e2a\u884c\u7684\u5269\u4f59\u90e8\u5206\u59cb\u7ec8\u88ab\u89c6\u4e3a<code>\\ef</code> \u7684\u53c2\u6570\uff0c\u53c2\u6570\u4e2d\u4e0d\u8fdb\u884c\u53d8\u91cf\u63d2\u503c\u6216\u53cd\u5f15\u53f7\u6269\u5c55\u3002\n        </p><div><h3>\u63d0\u793a</h3><p>\u6709\u5173\u5982\u4f55\u914d\u7f6e\u548c\u5b9a\u5236\u7f16\u8f91\u5668\uff0c\u8bf7\u53c2\u89c1\u4e0b\u9762\u7684<a href=\"/zh/docs/13/app-psql.html#APP-PSQL-ENVIRONMENT\" rel=\"nofollow\">\u73af\u5883</a>\u3002</p></div></dd><p><a href=\"/zh/docs/13/app-psql.html#APP-PSQL-META-COMMANDS\" rel=\"nofollow\">\u67e5\u770b\u5b8c\u6574\u4e2d\u6587\u624b\u518c\u4e0e\u4e0a\u4e0b\u6587</a>\u3002</p>"}, "14": {"lang": "zh", "facts": [{"label": "\u5ba2\u6237\u7aef", "value": "psql 14.25"}, {"label": "\u533a\u5206\u5927\u5c0f\u5199\u7684\u5199\u6cd5", "value": "\\ef"}], "tables": [{"key": "spellings", "rows": [{"command": {"url": "/wiki/psql/cmd-65-66/?v=14", "text": "\\ef"}, "modifiers": "\u6b64\u8bed\u6cd5\u7b7e\u540d\u672a\u5217\u51fa"}], "title": "\u672c\u7248\u624b\u518c\u4e2d\u7684\u5199\u6cd5", "columns": [{"key": "command", "label": "\u547d\u4ee4"}, {"key": "modifiers", "label": "\u624b\u518c\u4e2d\u7684\u540e\u7f00\u4fee\u9970\u7b26"}]}], "command": "\\ef", "related": [{"url": "/wiki/tool/psql/?v=14", "label": "psql \u547d\u4ee4\u884c\u9009\u9879\u53ca\u5b8c\u6574\u624b\u518c"}], "release": {"ref": "https://ftp.postgresql.org/pub/source/v14.25/postgresql-14.25.tar.bz2", "label": "14.25", "major": "14", "channel": "stable", "manifest": {"major": "14", "release": "14.25", "source_url": "https://ftp.postgresql.org/pub/source/v14.25/postgresql-14.25.tar.bz2", "source_sha256": "09af980eb3a5d0a8ad7a34b95031b1988bbcd430c87700a62d6234c0ed97ae4c"}, "revision": "3458c6c18c8d4de5bbf0e6a5e72e5d2a815a2604b1cef6d1ec84491c75e57d2f", "evidence_kind": "English manual and source declarations", "source_sha256": "09af980eb3a5d0a8ad7a34b95031b1988bbcd430c87700a62d6234c0ed97ae4c"}, "sources": [{"url": "/docs/14/app-psql.html#APP-PSQL-META-COMMANDS", "file": "app-psql.html", "label": "14.25 English manual \u00b7 app-psql.html", "anchor": "APP-PSQL-META-COMMANDS", "sha256": "ea99b69e21da51aab6382e82434cfb27bfb24f452abe7bbb4b1fb29319f081b0"}], "zh_from": "same-version-manual", "facts_zh": [{"label": "\u5ba2\u6237\u7aef", "value": "psql 14.25"}, {"label": "\u533a\u5206\u5927\u5c0f\u5199\u7684\u5199\u6cd5", "value": "\\ef"}], "sections": [], "center_zh": {"locale": "zh-Hans", "payload": {"description_zh": "\u8fd9\u4e2a\u547d\u4ee4\u83b7\u53d6\u5e76\u7f16\u8f91\u6307\u5b9a\u51fd\u6570\u6216\u8fc7\u7a0b\u7684\u5b9a\u4e49\uff0c\u5f62\u5f0f\u4e3a CREATE OR REPLACE FUNCTION \u6216 CREATE OR REPLACE PROCEDURE \u547d\u4ee4\u3002\u7f16\u8f91\u65b9\u5f0f\u4e0e \\edit \u76f8\u540c\u3002\u5982\u679c\u5728\u4e0d\u4fdd\u5b58\u7684\u60c5\u51b5\u4e0b\u9000\u51fa\u7f16\u8f91\u5668\uff0c\u5219\u8be5\u8bed\u53e5\u4f1a\u88ab\u4e22\u5f03\u3002\u5982\u679c\u4fdd\u5b58\u5e76\u9000\u51fa\u7f16\u8f91\u5668\uff0c\u5e76\u5728\u5176\u4e2d\u6dfb\u52a0\u4e86\u5206\u53f7\uff0c\u5219\u66f4\u65b0\u540e\u7684\u547d\u4ee4\u4f1a\u7acb\u5373\u6267\u884c\u3002\u5426\u5219\u5b83\u4f1a\u91cd\u65b0\u663e\u793a\uff1b\u952e\u5165\u5206\u53f7\u6216 \\g \u53d1\u9001\u5b83\uff0c\u6216\u7528 \\r \u53d6\u6d88\u3002", "description_zh_html": "<dd><p>\n         \u8fd9\u4e2a\u547d\u4ee4\u83b7\u53d6\u5e76\u7f16\u8f91\u6307\u5b9a\u51fd\u6570\u6216\u8fc7\u7a0b\u7684\u5b9a\u4e49\uff0c\u5f62\u5f0f\u4e3a <code class=\"command\">CREATE OR REPLACE FUNCTION</code> \u6216\n         <code class=\"command\">CREATE OR REPLACE PROCEDURE</code> \u547d\u4ee4\u3002\u7f16\u8f91\u65b9\u5f0f\u4e0e<code class=\"literal\">\\edit</code> \u76f8\u540c\u3002\u5982\u679c\u5728\u4e0d\u4fdd\u5b58\u7684\u60c5\u51b5\u4e0b\u9000\u51fa\u7f16\u8f91\u5668\uff0c\u5219\u8be5\u8bed\u53e5\u4f1a\u88ab\u4e22\u5f03\u3002\u5982\u679c\u4fdd\u5b58\u5e76\u9000\u51fa\u7f16\u8f91\u5668\uff0c\u5e76\u5728\u5176\u4e2d\u6dfb\u52a0\u4e86\u5206\u53f7\uff0c\u5219\u66f4\u65b0\u540e\u7684\u547d\u4ee4\u4f1a\u7acb\u5373\u6267\u884c\u3002\u5426\u5219\u5b83\u4f1a\u91cd\u65b0\u663e\u793a\uff1b\u952e\u5165\u5206\u53f7\u6216<code class=\"literal\">\\g</code> \u53d1\u9001\u5b83\uff0c\u6216\u7528<code class=\"literal\">\\r</code> \u53d6\u6d88\u3002\n        </p><p>\n         \u76ee\u6807\u51fd\u6570\u53ef\u4ee5\u4ec5\u901a\u8fc7\u540d\u79f0\u6307\u5b9a\uff0c\u4e5f\u53ef\u4ee5\u901a\u8fc7\u540d\u79f0\u548c\u53c2\u6570\u6307\u5b9a\uff0c\u4f8b\u5982 <code class=\"literal\">foo(integer, text)</code>\u3002\u5982\u679c\u6709\u591a\u4e2a\u540c\u540d\u51fd\u6570\uff0c\u5219\u5fc5\u987b\u7ed9\u51fa\u53c2\u6570\u7c7b\u578b\u3002\n        </p><p>\n         \u5982\u679c\u672a\u6307\u5b9a\u51fd\u6570\uff0c\u5219\u4f1a\u5448\u73b0\u4e00\u4e2a\u7a7a\u7684 <code class=\"command\">CREATE FUNCTION</code> \u6a21\u677f\u4f9b\u7f16\u8f91\u3002\n        </p><p>\n        \u5982\u679c\u6307\u5b9a\u4e86\u884c\u53f7\uff0c<span class=\"application\">psql</span> \u5c06\u5149\u6807\u5b9a\u4f4d\u5728\u51fd\u6570\u4f53\u7684\u6307\u5b9a\u884c\u4e0a\u3002\uff08\u8bf7\u6ce8\u610f\uff0c\u51fd\u6570\u4f53\u901a\u5e38\u4e0d\u4f1a\u4ece\u6587\u4ef6\u7684\u7b2c\u4e00\u884c\u5f00\u59cb\u3002\uff09\n        </p><p>\n        \u4e0e\u5927\u591a\u6570\u5176\u4ed6\u5143\u547d\u4ee4\u4e0d\u540c\uff0c\u6574\u4e2a\u884c\u7684\u5269\u4f59\u90e8\u5206\u59cb\u7ec8\u88ab\u89c6\u4e3a<code class=\"command\">\\ef</code> \u7684\u53c2\u6570\uff0c\u53c2\u6570\u4e2d\u4e0d\u8fdb\u884c\u53d8\u91cf\u63d2\u503c\u6216\u53cd\u5f15\u53f7\u6269\u5c55\u3002\n        </p><div class=\"tip\"><h3 class=\"title\">\u63d0\u793a</h3><p>\n        \u5173\u4e8e\u5982\u4f55\u914d\u7f6e\u548c\u81ea\u5b9a\u4e49\u7f16\u8f91\u5668\uff0c\u8bf7\u53c2\u89c1\u4e0b\u9762\u7684<a class=\"xref\" href=\"/docs/14/app-psql.html#APP-PSQL-ENVIRONMENT\" title=\"\u73af\u5883\">\u73af\u5883</a>\u3002\n        </p></div></dd>"}, "summary": "\u8fd9\u4e2a\u547d\u4ee4\u83b7\u53d6\u5e76\u7f16\u8f91\u6307\u5b9a\u51fd\u6570\u6216\u8fc7\u7a0b\u7684\u5b9a\u4e49\uff0c\u5f62\u5f0f\u4e3a CREATE OR REPLACE FUNCTION \u6216 CREATE OR REPLACE PROCEDURE \u547d\u4ee4\u3002\u7f16\u8f91\u65b9\u5f0f\u4e0e \\edit \u76f8\u540c\u3002\u5982\u679c\u5728\u4e0d\u4fdd\u5b58\u7684\u60c5\u51b5\u4e0b\u9000\u51fa\u7f16\u8f91\u5668\uff0c\u5219\u8be5\u8bed\u53e5\u4f1a\u88ab\u4e22\u5f03\u3002\u5982\u679c\u4fdd\u5b58\u5e76\u9000\u51fa\u7f16\u8f91\u5668\uff0c\u5e76\u5728\u5176\u4e2d\u6dfb\u52a0\u4e86\u5206\u53f7\uff0c\u5219\u66f4\u65b0\u540e\u7684\u547d\u4ee4\u4f1a\u7acb\u5373\u6267\u884c\u3002\u5426\u5219\u5b83\u4f1a\u91cd\u65b0\u663e\u793a\uff1b\u952e\u5165\u5206\u53f7\u6216 \\g \u53d1\u9001\u5b83\uff0c\u6216\u7528 \\r \u53d6\u6d88\u3002", "body_html": "<dd><p>\n         \u8fd9\u4e2a\u547d\u4ee4\u83b7\u53d6\u5e76\u7f16\u8f91\u6307\u5b9a\u51fd\u6570\u6216\u8fc7\u7a0b\u7684\u5b9a\u4e49\uff0c\u5f62\u5f0f\u4e3a <code class=\"command\">CREATE OR REPLACE FUNCTION</code> \u6216\n         <code class=\"command\">CREATE OR REPLACE PROCEDURE</code> \u547d\u4ee4\u3002\u7f16\u8f91\u65b9\u5f0f\u4e0e<code class=\"literal\">\\edit</code> \u76f8\u540c\u3002\u5982\u679c\u5728\u4e0d\u4fdd\u5b58\u7684\u60c5\u51b5\u4e0b\u9000\u51fa\u7f16\u8f91\u5668\uff0c\u5219\u8be5\u8bed\u53e5\u4f1a\u88ab\u4e22\u5f03\u3002\u5982\u679c\u4fdd\u5b58\u5e76\u9000\u51fa\u7f16\u8f91\u5668\uff0c\u5e76\u5728\u5176\u4e2d\u6dfb\u52a0\u4e86\u5206\u53f7\uff0c\u5219\u66f4\u65b0\u540e\u7684\u547d\u4ee4\u4f1a\u7acb\u5373\u6267\u884c\u3002\u5426\u5219\u5b83\u4f1a\u91cd\u65b0\u663e\u793a\uff1b\u952e\u5165\u5206\u53f7\u6216<code class=\"literal\">\\g</code> \u53d1\u9001\u5b83\uff0c\u6216\u7528<code class=\"literal\">\\r</code> \u53d6\u6d88\u3002\n        </p><p>\n         \u76ee\u6807\u51fd\u6570\u53ef\u4ee5\u4ec5\u901a\u8fc7\u540d\u79f0\u6307\u5b9a\uff0c\u4e5f\u53ef\u4ee5\u901a\u8fc7\u540d\u79f0\u548c\u53c2\u6570\u6307\u5b9a\uff0c\u4f8b\u5982 <code class=\"literal\">foo(integer, text)</code>\u3002\u5982\u679c\u6709\u591a\u4e2a\u540c\u540d\u51fd\u6570\uff0c\u5219\u5fc5\u987b\u7ed9\u51fa\u53c2\u6570\u7c7b\u578b\u3002\n        </p><p>\n         \u5982\u679c\u672a\u6307\u5b9a\u51fd\u6570\uff0c\u5219\u4f1a\u5448\u73b0\u4e00\u4e2a\u7a7a\u7684 <code class=\"command\">CREATE FUNCTION</code> \u6a21\u677f\u4f9b\u7f16\u8f91\u3002\n        </p><p>\n        \u5982\u679c\u6307\u5b9a\u4e86\u884c\u53f7\uff0c<span class=\"application\">psql</span> \u5c06\u5149\u6807\u5b9a\u4f4d\u5728\u51fd\u6570\u4f53\u7684\u6307\u5b9a\u884c\u4e0a\u3002\uff08\u8bf7\u6ce8\u610f\uff0c\u51fd\u6570\u4f53\u901a\u5e38\u4e0d\u4f1a\u4ece\u6587\u4ef6\u7684\u7b2c\u4e00\u884c\u5f00\u59cb\u3002\uff09\n        </p><p>\n        \u4e0e\u5927\u591a\u6570\u5176\u4ed6\u5143\u547d\u4ee4\u4e0d\u540c\uff0c\u6574\u4e2a\u884c\u7684\u5269\u4f59\u90e8\u5206\u59cb\u7ec8\u88ab\u89c6\u4e3a<code class=\"command\">\\ef</code> \u7684\u53c2\u6570\uff0c\u53c2\u6570\u4e2d\u4e0d\u8fdb\u884c\u53d8\u91cf\u63d2\u503c\u6216\u53cd\u5f15\u53f7\u6269\u5c55\u3002\n        </p><div class=\"tip\"><h3 class=\"title\">\u63d0\u793a</h3><p>\n        \u5173\u4e8e\u5982\u4f55\u914d\u7f6e\u548c\u81ea\u5b9a\u4e49\u7f16\u8f91\u5668\uff0c\u8bf7\u53c2\u89c1\u4e0b\u9762\u7684<a class=\"xref\" href=\"/docs/14/app-psql.html#APP-PSQL-ENVIRONMENT\" title=\"\u73af\u5883\">\u73af\u5883</a>\u3002\n        </p></div></dd>", "body_sha256": "18a06f8627eec5520db462cb612a2672de005e81a6c60a5170f1429df4f059cc", "content_hash": "807a3d085c6978f63f5fdcb6adc85777625343fbd2c7a0ff1bc9788281b5111c", "source_revision": "pgdoc:b9f0e7232f60f380d642ac9b99226606c254b552", "definition_version": "14", "documentation_release": "14.25"}, "modifiers": [], "signature": "\\ef [ function_description [ line_number ] ]", "spellings": ["\\ef"], "tables_zh": [{"key": "spellings", "rows": [{"command": {"url": "/wiki/psql/cmd-65-66/?v=14", "text": "\\ef"}, "modifiers": "\u6b64\u8bed\u6cd5\u7b7e\u540d\u672a\u5217\u51fa"}], "title": "\u672c\u7248\u624b\u518c\u4e2d\u7684\u5199\u6cd5", "columns": [{"key": "command", "label": "\u547d\u4ee4"}, {"key": "modifiers", "label": "\u624b\u518c\u4e2d\u7684\u540e\u7f00\u4fee\u9970\u7b26"}]}], "related_zh": [{"url": "/wiki/tool/psql/?v=14", "label": "psql \u547d\u4ee4\u884c\u9009\u9879\u53ca\u5b8c\u6574\u624b\u518c"}], "description": ["\u8fd9\u4e2a\u547d\u4ee4\u83b7\u53d6\u5e76\u7f16\u8f91\u6307\u5b9a\u51fd\u6570\u6216\u8fc7\u7a0b\u7684\u5b9a\u4e49\uff0c\u5f62\u5f0f\u4e3a CREATE OR REPLACE FUNCTION \u6216 CREATE OR REPLACE PROCEDURE \u547d\u4ee4\u3002\u7f16\u8f91\u65b9\u5f0f\u4e0e \\edit \u76f8\u540c\u3002\u5982\u679c\u5728\u4e0d\u4fdd\u5b58\u7684\u60c5\u51b5\u4e0b\u9000\u51fa\u7f16\u8f91\u5668\uff0c\u5219\u8be5\u8bed\u53e5\u4f1a\u88ab\u4e22\u5f03\u3002\u5982\u679c\u4fdd\u5b58\u5e76\u9000\u51fa\u7f16\u8f91\u5668\uff0c\u5e76\u5728\u5176\u4e2d\u6dfb\u52a0\u4e86\u5206\u53f7\uff0c\u5219\u66f4\u65b0\u540e\u7684\u547d\u4ee4\u4f1a\u7acb\u5373\u6267\u884c\u3002\u5426\u5219\u5b83\u4f1a\u91cd\u65b0\u663e\u793a\uff1b\u952e\u5165\u5206\u53f7\u6216 \\g \u53d1\u9001\u5b83\uff0c\u6216\u7528 \\r \u53d6\u6d88\u3002"], "manual_html": "<dd><p>\n         \u8fd9\u4e2a\u547d\u4ee4\u83b7\u53d6\u5e76\u7f16\u8f91\u6307\u5b9a\u51fd\u6570\u6216\u8fc7\u7a0b\u7684\u5b9a\u4e49\uff0c\u5f62\u5f0f\u4e3a <code class=\"command\">CREATE OR REPLACE FUNCTION</code> \u6216\n         <code class=\"command\">CREATE OR REPLACE PROCEDURE</code> \u547d\u4ee4\u3002\u7f16\u8f91\u65b9\u5f0f\u4e0e<code class=\"literal\">\\edit</code> \u76f8\u540c\u3002\u5982\u679c\u5728\u4e0d\u4fdd\u5b58\u7684\u60c5\u51b5\u4e0b\u9000\u51fa\u7f16\u8f91\u5668\uff0c\u5219\u8be5\u8bed\u53e5\u4f1a\u88ab\u4e22\u5f03\u3002\u5982\u679c\u4fdd\u5b58\u5e76\u9000\u51fa\u7f16\u8f91\u5668\uff0c\u5e76\u5728\u5176\u4e2d\u6dfb\u52a0\u4e86\u5206\u53f7\uff0c\u5219\u66f4\u65b0\u540e\u7684\u547d\u4ee4\u4f1a\u7acb\u5373\u6267\u884c\u3002\u5426\u5219\u5b83\u4f1a\u91cd\u65b0\u663e\u793a\uff1b\u952e\u5165\u5206\u53f7\u6216<code class=\"literal\">\\g</code> \u53d1\u9001\u5b83\uff0c\u6216\u7528<code class=\"literal\">\\r</code> \u53d6\u6d88\u3002\n        </p><p>\n         \u76ee\u6807\u51fd\u6570\u53ef\u4ee5\u4ec5\u901a\u8fc7\u540d\u79f0\u6307\u5b9a\uff0c\u4e5f\u53ef\u4ee5\u901a\u8fc7\u540d\u79f0\u548c\u53c2\u6570\u6307\u5b9a\uff0c\u4f8b\u5982 <code class=\"literal\">foo(integer, text)</code>\u3002\u5982\u679c\u6709\u591a\u4e2a\u540c\u540d\u51fd\u6570\uff0c\u5219\u5fc5\u987b\u7ed9\u51fa\u53c2\u6570\u7c7b\u578b\u3002\n        </p><p>\n         \u5982\u679c\u672a\u6307\u5b9a\u51fd\u6570\uff0c\u5219\u4f1a\u5448\u73b0\u4e00\u4e2a\u7a7a\u7684 <code class=\"command\">CREATE FUNCTION</code> \u6a21\u677f\u4f9b\u7f16\u8f91\u3002\n        </p><p>\n        \u5982\u679c\u6307\u5b9a\u4e86\u884c\u53f7\uff0c<span class=\"application\">psql</span> \u5c06\u5149\u6807\u5b9a\u4f4d\u5728\u51fd\u6570\u4f53\u7684\u6307\u5b9a\u884c\u4e0a\u3002\uff08\u8bf7\u6ce8\u610f\uff0c\u51fd\u6570\u4f53\u901a\u5e38\u4e0d\u4f1a\u4ece\u6587\u4ef6\u7684\u7b2c\u4e00\u884c\u5f00\u59cb\u3002\uff09\n        </p><p>\n        \u4e0e\u5927\u591a\u6570\u5176\u4ed6\u5143\u547d\u4ee4\u4e0d\u540c\uff0c\u6574\u4e2a\u884c\u7684\u5269\u4f59\u90e8\u5206\u59cb\u7ec8\u88ab\u89c6\u4e3a<code class=\"command\">\\ef</code> \u7684\u53c2\u6570\uff0c\u53c2\u6570\u4e2d\u4e0d\u8fdb\u884c\u53d8\u91cf\u63d2\u503c\u6216\u53cd\u5f15\u53f7\u6269\u5c55\u3002\n        </p><div class=\"tip\"><h3 class=\"title\">\u63d0\u793a</h3><p>\n        \u5173\u4e8e\u5982\u4f55\u914d\u7f6e\u548c\u81ea\u5b9a\u4e49\u7f16\u8f91\u5668\uff0c\u8bf7\u53c2\u89c1\u4e0b\u9762\u7684<a class=\"xref\" href=\"/docs/14/app-psql.html#APP-PSQL-ENVIRONMENT\" title=\"\u73af\u5883\">\u73af\u5883</a>\u3002\n        </p></div></dd>", "manual_path": "app-psql.html#APP-PSQL-META-COMMANDS", "sections_zh": [], "localization": {"status": "same-version-reviewed-manual", "language": "zh", "source_language": "en", "source_revision": "pgdoc:b9f0e7232f60f380d642ac9b99226606c254b552", "documentation_release": "14.25"}, "description_zh": "\u8fd9\u4e2a\u547d\u4ee4\u83b7\u53d6\u5e76\u7f16\u8f91\u6307\u5b9a\u51fd\u6570\u6216\u8fc7\u7a0b\u7684\u5b9a\u4e49\uff0c\u5f62\u5f0f\u4e3a CREATE OR REPLACE FUNCTION \u6216 CREATE OR REPLACE PROCEDURE \u547d\u4ee4\u3002\u7f16\u8f91\u65b9\u5f0f\u4e0e \\edit \u76f8\u540c\u3002\u5982\u679c\u5728\u4e0d\u4fdd\u5b58\u7684\u60c5\u51b5\u4e0b\u9000\u51fa\u7f16\u8f91\u5668\uff0c\u5219\u8be5\u8bed\u53e5\u4f1a\u88ab\u4e22\u5f03\u3002\u5982\u679c\u4fdd\u5b58\u5e76\u9000\u51fa\u7f16\u8f91\u5668\uff0c\u5e76\u5728\u5176\u4e2d\u6dfb\u52a0\u4e86\u5206\u53f7\uff0c\u5219\u66f4\u65b0\u540e\u7684\u547d\u4ee4\u4f1a\u7acb\u5373\u6267\u884c\u3002\u5426\u5219\u5b83\u4f1a\u91cd\u65b0\u663e\u793a\uff1b\u952e\u5165\u5206\u53f7\u6216 \\g \u53d1\u9001\u5b83\uff0c\u6216\u7528 \\r \u53d6\u6d88\u3002", "comparison_data": {"modifiers": [], "signature": "\\ef [ function_description [ line_number ] ]", "spellings": ["\\ef"], "definition": "This command fetches and edits the definition of the named function or procedure, in the form of a CREATE OR REPLACE FUNCTION or CREATE OR REPLACE PROCEDURE command. Editing is done in the same way as for \\edit . If you quit the editor without saving, the statement is discarded. If you save and exit the editor, the updated command is executed immediately if you added a semicolon to it. Otherwise it is redisplayed; type semicolon or \\g to send it, or \\r to cancel. The target function can be specified by name alone, or by name and arguments, for example foo(integer, text) . The argument types must be given if there is more than one function of the same name. If no function is specified, a blank CREATE FUNCTION template is presented for editing. If a line number is specified, psql will position the cursor on the specified line of the function body. (Note that the function body typically does not begin on the first line of the file.) Unlike most other meta-commands, the entire remainder of the line is always taken to be the argument(s) of \\ef , and neither variable interpolation nor backquote expansion are performed in the arguments. Tip See Environment , below, for how to configure and customize your editor."}, "comparison_hash": "c6f53578cbd03f42a5ee2d84af67e951894977f92c34d928eb87890b8e81638e", "manual_language": "zh", "description_zh_html": "<dd><p>\n         \u8fd9\u4e2a\u547d\u4ee4\u83b7\u53d6\u5e76\u7f16\u8f91\u6307\u5b9a\u51fd\u6570\u6216\u8fc7\u7a0b\u7684\u5b9a\u4e49\uff0c\u5f62\u5f0f\u4e3a <code class=\"command\">CREATE OR REPLACE FUNCTION</code> \u6216\n         <code class=\"command\">CREATE OR REPLACE PROCEDURE</code> \u547d\u4ee4\u3002\u7f16\u8f91\u65b9\u5f0f\u4e0e<code class=\"literal\">\\edit</code> \u76f8\u540c\u3002\u5982\u679c\u5728\u4e0d\u4fdd\u5b58\u7684\u60c5\u51b5\u4e0b\u9000\u51fa\u7f16\u8f91\u5668\uff0c\u5219\u8be5\u8bed\u53e5\u4f1a\u88ab\u4e22\u5f03\u3002\u5982\u679c\u4fdd\u5b58\u5e76\u9000\u51fa\u7f16\u8f91\u5668\uff0c\u5e76\u5728\u5176\u4e2d\u6dfb\u52a0\u4e86\u5206\u53f7\uff0c\u5219\u66f4\u65b0\u540e\u7684\u547d\u4ee4\u4f1a\u7acb\u5373\u6267\u884c\u3002\u5426\u5219\u5b83\u4f1a\u91cd\u65b0\u663e\u793a\uff1b\u952e\u5165\u5206\u53f7\u6216<code class=\"literal\">\\g</code> \u53d1\u9001\u5b83\uff0c\u6216\u7528<code class=\"literal\">\\r</code> \u53d6\u6d88\u3002\n        </p><p>\n         \u76ee\u6807\u51fd\u6570\u53ef\u4ee5\u4ec5\u901a\u8fc7\u540d\u79f0\u6307\u5b9a\uff0c\u4e5f\u53ef\u4ee5\u901a\u8fc7\u540d\u79f0\u548c\u53c2\u6570\u6307\u5b9a\uff0c\u4f8b\u5982 <code class=\"literal\">foo(integer, text)</code>\u3002\u5982\u679c\u6709\u591a\u4e2a\u540c\u540d\u51fd\u6570\uff0c\u5219\u5fc5\u987b\u7ed9\u51fa\u53c2\u6570\u7c7b\u578b\u3002\n        </p><p>\n         \u5982\u679c\u672a\u6307\u5b9a\u51fd\u6570\uff0c\u5219\u4f1a\u5448\u73b0\u4e00\u4e2a\u7a7a\u7684 <code class=\"command\">CREATE FUNCTION</code> \u6a21\u677f\u4f9b\u7f16\u8f91\u3002\n        </p><p>\n        \u5982\u679c\u6307\u5b9a\u4e86\u884c\u53f7\uff0c<span class=\"application\">psql</span> \u5c06\u5149\u6807\u5b9a\u4f4d\u5728\u51fd\u6570\u4f53\u7684\u6307\u5b9a\u884c\u4e0a\u3002\uff08\u8bf7\u6ce8\u610f\uff0c\u51fd\u6570\u4f53\u901a\u5e38\u4e0d\u4f1a\u4ece\u6587\u4ef6\u7684\u7b2c\u4e00\u884c\u5f00\u59cb\u3002\uff09\n        </p><p>\n        \u4e0e\u5927\u591a\u6570\u5176\u4ed6\u5143\u547d\u4ee4\u4e0d\u540c\uff0c\u6574\u4e2a\u884c\u7684\u5269\u4f59\u90e8\u5206\u59cb\u7ec8\u88ab\u89c6\u4e3a<code class=\"command\">\\ef</code> \u7684\u53c2\u6570\uff0c\u53c2\u6570\u4e2d\u4e0d\u8fdb\u884c\u53d8\u91cf\u63d2\u503c\u6216\u53cd\u5f15\u53f7\u6269\u5c55\u3002\n        </p><div class=\"tip\"><h3 class=\"title\">\u63d0\u793a</h3><p>\n        \u5173\u4e8e\u5982\u4f55\u914d\u7f6e\u548c\u81ea\u5b9a\u4e49\u7f16\u8f91\u5668\uff0c\u8bf7\u53c2\u89c1\u4e0b\u9762\u7684<a class=\"xref\" href=\"/docs/14/app-psql.html#APP-PSQL-ENVIRONMENT\" title=\"\u73af\u5883\">\u73af\u5883</a>\u3002\n        </p></div></dd>", "documentation_revision": {"inputs": [{"file": "app-psql.html", "kind": "same-version-reviewed-manual", "locale": "en", "sha256": "ea99b69e21da51aab6382e82434cfb27bfb24f452abe7bbb4b1fb29319f081b0", "version": "14.25"}, {"file": "app-psql.html", "kind": "same-version-reviewed-manual", "locale": "zh-Hans", "sha256": "f2eed17e1379e0b59f4bf5a92289a41d8ec44b349f2b069962f186547dc717ef", "version": "14.25"}], "release": "14.25", "source_revision": "pgdoc:b9f0e7232f60f380d642ac9b99226606c254b552", "runtime_remeasured": false}}, "15": {"lang": "zh", "facts": [{"label": "\u5ba2\u6237\u7aef", "value": "psql 15.20"}, {"label": "\u533a\u5206\u5927\u5c0f\u5199\u7684\u5199\u6cd5", "value": "\\ef"}], "tables": [{"key": "spellings", "rows": [{"command": {"url": "/wiki/psql/cmd-65-66/?v=15", "text": "\\ef"}, "modifiers": "\u6b64\u8bed\u6cd5\u7b7e\u540d\u672a\u5217\u51fa"}], "title": "\u672c\u7248\u624b\u518c\u4e2d\u7684\u5199\u6cd5", "columns": [{"key": "command", "label": "\u547d\u4ee4"}, {"key": "modifiers", "label": "\u624b\u518c\u4e2d\u7684\u540e\u7f00\u4fee\u9970\u7b26"}]}], "command": "\\ef", "related": [{"url": "/wiki/tool/psql/?v=15", "label": "psql \u547d\u4ee4\u884c\u9009\u9879\u53ca\u5b8c\u6574\u624b\u518c"}], "release": {"ref": "https://ftp.postgresql.org/pub/source/v15.20/postgresql-15.20.tar.bz2", "label": "15.20", "major": "15", "channel": "stable", "manifest": {"major": "15", "release": "15.20", "source_url": "https://ftp.postgresql.org/pub/source/v15.20/postgresql-15.20.tar.bz2", "source_sha256": "30e65cbbb771a39b553ed2df7e65622e65647aed55dbc19bd0fe853ff0a08442"}, "revision": "6d870676353ceb5b021cc09084428ae294e90804236e38ffe556364784ee5fe5", "evidence_kind": "English manual and source declarations", "source_sha256": "30e65cbbb771a39b553ed2df7e65622e65647aed55dbc19bd0fe853ff0a08442"}, "sources": [{"url": "/docs/15/app-psql.html#APP-PSQL-META-COMMANDS", "file": "app-psql.html", "label": "15.20 English manual \u00b7 app-psql.html", "anchor": "APP-PSQL-META-COMMANDS", "sha256": "b2a45145fd66cf7a28d7197594e8437e3b0310e88cdedf9d789c0fceefeebc27"}], "zh_from": "same-version-manual", "facts_zh": [{"label": "\u5ba2\u6237\u7aef", "value": "psql 15.20"}, {"label": "\u533a\u5206\u5927\u5c0f\u5199\u7684\u5199\u6cd5", "value": "\\ef"}], "sections": [], "center_zh": {"locale": "zh-Hans", "payload": {"description_zh": "\u8fd9\u4e2a\u547d\u4ee4\u83b7\u53d6\u5e76\u7f16\u8f91\u6307\u5b9a\u51fd\u6570\u6216\u8fc7\u7a0b\u7684\u5b9a\u4e49\uff0c\u5f62\u5f0f\u4e3a CREATE OR REPLACE FUNCTION \u6216 CREATE OR REPLACE PROCEDURE \u547d\u4ee4\u3002\u7f16\u8f91\u65b9\u5f0f\u4e0e \\edit \u76f8\u540c\u3002\u5982\u679c\u5728\u4e0d\u4fdd\u5b58\u7684\u60c5\u51b5\u4e0b\u9000\u51fa\u7f16\u8f91\u5668\uff0c\u5219\u8be5\u8bed\u53e5\u4f1a\u88ab\u4e22\u5f03\u3002\u5982\u679c\u4fdd\u5b58\u5e76\u9000\u51fa\u7f16\u8f91\u5668\uff0c\u5e76\u5728\u5176\u4e2d\u6dfb\u52a0\u4e86\u5206\u53f7\uff0c\u5219\u66f4\u65b0\u540e\u7684\u547d\u4ee4\u4f1a\u7acb\u5373\u6267\u884c\u3002\u5426\u5219\u5b83\u4f1a\u91cd\u65b0\u663e\u793a\uff1b\u952e\u5165\u5206\u53f7\u6216 \\g \u53d1\u9001\u5b83\uff0c\u6216\u7528 \\r \u53d6\u6d88\u3002", "description_zh_html": "<dd><p>\n         \u8fd9\u4e2a\u547d\u4ee4\u83b7\u53d6\u5e76\u7f16\u8f91\u6307\u5b9a\u51fd\u6570\u6216\u8fc7\u7a0b\u7684\u5b9a\u4e49\uff0c\u5f62\u5f0f\u4e3a <code class=\"command\">CREATE OR REPLACE FUNCTION</code> \u6216\n         <code class=\"command\">CREATE OR REPLACE PROCEDURE</code> \u547d\u4ee4\u3002\u7f16\u8f91\u65b9\u5f0f\u4e0e<code class=\"literal\">\\edit</code> \u76f8\u540c\u3002\u5982\u679c\u5728\u4e0d\u4fdd\u5b58\u7684\u60c5\u51b5\u4e0b\u9000\u51fa\u7f16\u8f91\u5668\uff0c\u5219\u8be5\u8bed\u53e5\u4f1a\u88ab\u4e22\u5f03\u3002\u5982\u679c\u4fdd\u5b58\u5e76\u9000\u51fa\u7f16\u8f91\u5668\uff0c\u5e76\u5728\u5176\u4e2d\u6dfb\u52a0\u4e86\u5206\u53f7\uff0c\u5219\u66f4\u65b0\u540e\u7684\u547d\u4ee4\u4f1a\u7acb\u5373\u6267\u884c\u3002\u5426\u5219\u5b83\u4f1a\u91cd\u65b0\u663e\u793a\uff1b\u952e\u5165\u5206\u53f7\u6216<code class=\"literal\">\\g</code> \u53d1\u9001\u5b83\uff0c\u6216\u7528<code class=\"literal\">\\r</code> \u53d6\u6d88\u3002\n        </p><p>\n         \u76ee\u6807\u51fd\u6570\u53ef\u4ee5\u4ec5\u901a\u8fc7\u540d\u79f0\u6307\u5b9a\uff0c\u4e5f\u53ef\u4ee5\u901a\u8fc7\u540d\u79f0\u548c\u53c2\u6570\u6307\u5b9a\uff0c\u4f8b\u5982 <code class=\"literal\">foo(integer, text)</code>\u3002\u5982\u679c\u6709\u591a\u4e2a\u540c\u540d\u51fd\u6570\uff0c\u5219\u5fc5\u987b\u7ed9\u51fa\u53c2\u6570\u7c7b\u578b\u3002\n        </p><p>\n         \u5982\u679c\u672a\u6307\u5b9a\u51fd\u6570\uff0c\u5219\u4f1a\u5448\u73b0\u4e00\u4e2a\u7a7a\u7684 <code class=\"command\">CREATE FUNCTION</code> \u6a21\u677f\u4f9b\u7f16\u8f91\u3002\n        </p><p>\n        \u5982\u679c\u6307\u5b9a\u4e86\u884c\u53f7\uff0c<span class=\"application\">psql</span> \u5c06\u5149\u6807\u5b9a\u4f4d\u5728\u51fd\u6570\u4f53\u7684\u6307\u5b9a\u884c\u4e0a\u3002\uff08\u8bf7\u6ce8\u610f\uff0c\u51fd\u6570\u4f53\u901a\u5e38\u4e0d\u4f1a\u4ece\u6587\u4ef6\u7684\u7b2c\u4e00\u884c\u5f00\u59cb\u3002\uff09\n        </p><p>\n        \u4e0e\u5927\u591a\u6570\u5176\u4ed6\u5143\u547d\u4ee4\u4e0d\u540c\uff0c\u6574\u4e2a\u884c\u7684\u5269\u4f59\u90e8\u5206\u59cb\u7ec8\u88ab\u89c6\u4e3a<code class=\"command\">\\ef</code> \u7684\u53c2\u6570\uff0c\u53c2\u6570\u4e2d\u4e0d\u8fdb\u884c\u53d8\u91cf\u63d2\u503c\u6216\u53cd\u5f15\u53f7\u6269\u5c55\u3002\n        </p><div class=\"tip\"><h3 class=\"title\">\u63d0\u793a</h3><p>\n        \u5173\u4e8e\u5982\u4f55\u914d\u7f6e\u548c\u81ea\u5b9a\u4e49\u7f16\u8f91\u5668\uff0c\u8bf7\u53c2\u89c1\u4e0b\u9762\u7684<a class=\"xref\" href=\"/docs/15/app-psql.html#APP-PSQL-ENVIRONMENT\" title=\"\u73af\u5883\">\u73af\u5883</a>\u3002\n        </p></div></dd>"}, "summary": "\u8fd9\u4e2a\u547d\u4ee4\u83b7\u53d6\u5e76\u7f16\u8f91\u6307\u5b9a\u51fd\u6570\u6216\u8fc7\u7a0b\u7684\u5b9a\u4e49\uff0c\u5f62\u5f0f\u4e3a CREATE OR REPLACE FUNCTION \u6216 CREATE OR REPLACE PROCEDURE \u547d\u4ee4\u3002\u7f16\u8f91\u65b9\u5f0f\u4e0e \\edit \u76f8\u540c\u3002\u5982\u679c\u5728\u4e0d\u4fdd\u5b58\u7684\u60c5\u51b5\u4e0b\u9000\u51fa\u7f16\u8f91\u5668\uff0c\u5219\u8be5\u8bed\u53e5\u4f1a\u88ab\u4e22\u5f03\u3002\u5982\u679c\u4fdd\u5b58\u5e76\u9000\u51fa\u7f16\u8f91\u5668\uff0c\u5e76\u5728\u5176\u4e2d\u6dfb\u52a0\u4e86\u5206\u53f7\uff0c\u5219\u66f4\u65b0\u540e\u7684\u547d\u4ee4\u4f1a\u7acb\u5373\u6267\u884c\u3002\u5426\u5219\u5b83\u4f1a\u91cd\u65b0\u663e\u793a\uff1b\u952e\u5165\u5206\u53f7\u6216 \\g \u53d1\u9001\u5b83\uff0c\u6216\u7528 \\r \u53d6\u6d88\u3002", "body_html": "<dd><p>\n         \u8fd9\u4e2a\u547d\u4ee4\u83b7\u53d6\u5e76\u7f16\u8f91\u6307\u5b9a\u51fd\u6570\u6216\u8fc7\u7a0b\u7684\u5b9a\u4e49\uff0c\u5f62\u5f0f\u4e3a <code class=\"command\">CREATE OR REPLACE FUNCTION</code> \u6216\n         <code class=\"command\">CREATE OR REPLACE PROCEDURE</code> \u547d\u4ee4\u3002\u7f16\u8f91\u65b9\u5f0f\u4e0e<code class=\"literal\">\\edit</code> \u76f8\u540c\u3002\u5982\u679c\u5728\u4e0d\u4fdd\u5b58\u7684\u60c5\u51b5\u4e0b\u9000\u51fa\u7f16\u8f91\u5668\uff0c\u5219\u8be5\u8bed\u53e5\u4f1a\u88ab\u4e22\u5f03\u3002\u5982\u679c\u4fdd\u5b58\u5e76\u9000\u51fa\u7f16\u8f91\u5668\uff0c\u5e76\u5728\u5176\u4e2d\u6dfb\u52a0\u4e86\u5206\u53f7\uff0c\u5219\u66f4\u65b0\u540e\u7684\u547d\u4ee4\u4f1a\u7acb\u5373\u6267\u884c\u3002\u5426\u5219\u5b83\u4f1a\u91cd\u65b0\u663e\u793a\uff1b\u952e\u5165\u5206\u53f7\u6216<code class=\"literal\">\\g</code> \u53d1\u9001\u5b83\uff0c\u6216\u7528<code class=\"literal\">\\r</code> \u53d6\u6d88\u3002\n        </p><p>\n         \u76ee\u6807\u51fd\u6570\u53ef\u4ee5\u4ec5\u901a\u8fc7\u540d\u79f0\u6307\u5b9a\uff0c\u4e5f\u53ef\u4ee5\u901a\u8fc7\u540d\u79f0\u548c\u53c2\u6570\u6307\u5b9a\uff0c\u4f8b\u5982 <code class=\"literal\">foo(integer, text)</code>\u3002\u5982\u679c\u6709\u591a\u4e2a\u540c\u540d\u51fd\u6570\uff0c\u5219\u5fc5\u987b\u7ed9\u51fa\u53c2\u6570\u7c7b\u578b\u3002\n        </p><p>\n         \u5982\u679c\u672a\u6307\u5b9a\u51fd\u6570\uff0c\u5219\u4f1a\u5448\u73b0\u4e00\u4e2a\u7a7a\u7684 <code class=\"command\">CREATE FUNCTION</code> \u6a21\u677f\u4f9b\u7f16\u8f91\u3002\n        </p><p>\n        \u5982\u679c\u6307\u5b9a\u4e86\u884c\u53f7\uff0c<span class=\"application\">psql</span> \u5c06\u5149\u6807\u5b9a\u4f4d\u5728\u51fd\u6570\u4f53\u7684\u6307\u5b9a\u884c\u4e0a\u3002\uff08\u8bf7\u6ce8\u610f\uff0c\u51fd\u6570\u4f53\u901a\u5e38\u4e0d\u4f1a\u4ece\u6587\u4ef6\u7684\u7b2c\u4e00\u884c\u5f00\u59cb\u3002\uff09\n        </p><p>\n        \u4e0e\u5927\u591a\u6570\u5176\u4ed6\u5143\u547d\u4ee4\u4e0d\u540c\uff0c\u6574\u4e2a\u884c\u7684\u5269\u4f59\u90e8\u5206\u59cb\u7ec8\u88ab\u89c6\u4e3a<code class=\"command\">\\ef</code> \u7684\u53c2\u6570\uff0c\u53c2\u6570\u4e2d\u4e0d\u8fdb\u884c\u53d8\u91cf\u63d2\u503c\u6216\u53cd\u5f15\u53f7\u6269\u5c55\u3002\n        </p><div class=\"tip\"><h3 class=\"title\">\u63d0\u793a</h3><p>\n        \u5173\u4e8e\u5982\u4f55\u914d\u7f6e\u548c\u81ea\u5b9a\u4e49\u7f16\u8f91\u5668\uff0c\u8bf7\u53c2\u89c1\u4e0b\u9762\u7684<a class=\"xref\" href=\"/docs/15/app-psql.html#APP-PSQL-ENVIRONMENT\" title=\"\u73af\u5883\">\u73af\u5883</a>\u3002\n        </p></div></dd>", "body_sha256": "51cefb54f8c4181d6689da3130f5677c4d63b1dfe9f1697624210fc59a54ccc2", "content_hash": "19970d45be6e92d82131334f2595ed393a03c0a7e37d5fcf0c428b3f543119a7", "source_revision": "pgdoc:b9f0e7232f60f380d642ac9b99226606c254b552", "definition_version": "15", "documentation_release": "15.20"}, "modifiers": [], "signature": "\\ef [ function_description [ line_number ] ]", "spellings": ["\\ef"], "tables_zh": [{"key": "spellings", "rows": [{"command": {"url": "/wiki/psql/cmd-65-66/?v=15", "text": "\\ef"}, "modifiers": "\u6b64\u8bed\u6cd5\u7b7e\u540d\u672a\u5217\u51fa"}], "title": "\u672c\u7248\u624b\u518c\u4e2d\u7684\u5199\u6cd5", "columns": [{"key": "command", "label": "\u547d\u4ee4"}, {"key": "modifiers", "label": "\u624b\u518c\u4e2d\u7684\u540e\u7f00\u4fee\u9970\u7b26"}]}], "related_zh": [{"url": "/wiki/tool/psql/?v=15", "label": "psql \u547d\u4ee4\u884c\u9009\u9879\u53ca\u5b8c\u6574\u624b\u518c"}], "description": ["\u8fd9\u4e2a\u547d\u4ee4\u83b7\u53d6\u5e76\u7f16\u8f91\u6307\u5b9a\u51fd\u6570\u6216\u8fc7\u7a0b\u7684\u5b9a\u4e49\uff0c\u5f62\u5f0f\u4e3a CREATE OR REPLACE FUNCTION \u6216 CREATE OR REPLACE PROCEDURE \u547d\u4ee4\u3002\u7f16\u8f91\u65b9\u5f0f\u4e0e \\edit \u76f8\u540c\u3002\u5982\u679c\u5728\u4e0d\u4fdd\u5b58\u7684\u60c5\u51b5\u4e0b\u9000\u51fa\u7f16\u8f91\u5668\uff0c\u5219\u8be5\u8bed\u53e5\u4f1a\u88ab\u4e22\u5f03\u3002\u5982\u679c\u4fdd\u5b58\u5e76\u9000\u51fa\u7f16\u8f91\u5668\uff0c\u5e76\u5728\u5176\u4e2d\u6dfb\u52a0\u4e86\u5206\u53f7\uff0c\u5219\u66f4\u65b0\u540e\u7684\u547d\u4ee4\u4f1a\u7acb\u5373\u6267\u884c\u3002\u5426\u5219\u5b83\u4f1a\u91cd\u65b0\u663e\u793a\uff1b\u952e\u5165\u5206\u53f7\u6216 \\g \u53d1\u9001\u5b83\uff0c\u6216\u7528 \\r \u53d6\u6d88\u3002"], "manual_html": "<dd><p>\n         \u8fd9\u4e2a\u547d\u4ee4\u83b7\u53d6\u5e76\u7f16\u8f91\u6307\u5b9a\u51fd\u6570\u6216\u8fc7\u7a0b\u7684\u5b9a\u4e49\uff0c\u5f62\u5f0f\u4e3a <code class=\"command\">CREATE OR REPLACE FUNCTION</code> \u6216\n         <code class=\"command\">CREATE OR REPLACE PROCEDURE</code> \u547d\u4ee4\u3002\u7f16\u8f91\u65b9\u5f0f\u4e0e<code class=\"literal\">\\edit</code> \u76f8\u540c\u3002\u5982\u679c\u5728\u4e0d\u4fdd\u5b58\u7684\u60c5\u51b5\u4e0b\u9000\u51fa\u7f16\u8f91\u5668\uff0c\u5219\u8be5\u8bed\u53e5\u4f1a\u88ab\u4e22\u5f03\u3002\u5982\u679c\u4fdd\u5b58\u5e76\u9000\u51fa\u7f16\u8f91\u5668\uff0c\u5e76\u5728\u5176\u4e2d\u6dfb\u52a0\u4e86\u5206\u53f7\uff0c\u5219\u66f4\u65b0\u540e\u7684\u547d\u4ee4\u4f1a\u7acb\u5373\u6267\u884c\u3002\u5426\u5219\u5b83\u4f1a\u91cd\u65b0\u663e\u793a\uff1b\u952e\u5165\u5206\u53f7\u6216<code class=\"literal\">\\g</code> \u53d1\u9001\u5b83\uff0c\u6216\u7528<code class=\"literal\">\\r</code> \u53d6\u6d88\u3002\n        </p><p>\n         \u76ee\u6807\u51fd\u6570\u53ef\u4ee5\u4ec5\u901a\u8fc7\u540d\u79f0\u6307\u5b9a\uff0c\u4e5f\u53ef\u4ee5\u901a\u8fc7\u540d\u79f0\u548c\u53c2\u6570\u6307\u5b9a\uff0c\u4f8b\u5982 <code class=\"literal\">foo(integer, text)</code>\u3002\u5982\u679c\u6709\u591a\u4e2a\u540c\u540d\u51fd\u6570\uff0c\u5219\u5fc5\u987b\u7ed9\u51fa\u53c2\u6570\u7c7b\u578b\u3002\n        </p><p>\n         \u5982\u679c\u672a\u6307\u5b9a\u51fd\u6570\uff0c\u5219\u4f1a\u5448\u73b0\u4e00\u4e2a\u7a7a\u7684 <code class=\"command\">CREATE FUNCTION</code> \u6a21\u677f\u4f9b\u7f16\u8f91\u3002\n        </p><p>\n        \u5982\u679c\u6307\u5b9a\u4e86\u884c\u53f7\uff0c<span class=\"application\">psql</span> \u5c06\u5149\u6807\u5b9a\u4f4d\u5728\u51fd\u6570\u4f53\u7684\u6307\u5b9a\u884c\u4e0a\u3002\uff08\u8bf7\u6ce8\u610f\uff0c\u51fd\u6570\u4f53\u901a\u5e38\u4e0d\u4f1a\u4ece\u6587\u4ef6\u7684\u7b2c\u4e00\u884c\u5f00\u59cb\u3002\uff09\n        </p><p>\n        \u4e0e\u5927\u591a\u6570\u5176\u4ed6\u5143\u547d\u4ee4\u4e0d\u540c\uff0c\u6574\u4e2a\u884c\u7684\u5269\u4f59\u90e8\u5206\u59cb\u7ec8\u88ab\u89c6\u4e3a<code class=\"command\">\\ef</code> \u7684\u53c2\u6570\uff0c\u53c2\u6570\u4e2d\u4e0d\u8fdb\u884c\u53d8\u91cf\u63d2\u503c\u6216\u53cd\u5f15\u53f7\u6269\u5c55\u3002\n        </p><div class=\"tip\"><h3 class=\"title\">\u63d0\u793a</h3><p>\n        \u5173\u4e8e\u5982\u4f55\u914d\u7f6e\u548c\u81ea\u5b9a\u4e49\u7f16\u8f91\u5668\uff0c\u8bf7\u53c2\u89c1\u4e0b\u9762\u7684<a class=\"xref\" href=\"/docs/15/app-psql.html#APP-PSQL-ENVIRONMENT\" title=\"\u73af\u5883\">\u73af\u5883</a>\u3002\n        </p></div></dd>", "manual_path": "app-psql.html#APP-PSQL-META-COMMANDS", "sections_zh": [], "localization": {"status": "same-version-reviewed-manual", "language": "zh", "source_language": "en", "source_revision": "pgdoc:b9f0e7232f60f380d642ac9b99226606c254b552", "documentation_release": "15.20"}, "description_zh": "\u8fd9\u4e2a\u547d\u4ee4\u83b7\u53d6\u5e76\u7f16\u8f91\u6307\u5b9a\u51fd\u6570\u6216\u8fc7\u7a0b\u7684\u5b9a\u4e49\uff0c\u5f62\u5f0f\u4e3a CREATE OR REPLACE FUNCTION \u6216 CREATE OR REPLACE PROCEDURE \u547d\u4ee4\u3002\u7f16\u8f91\u65b9\u5f0f\u4e0e \\edit \u76f8\u540c\u3002\u5982\u679c\u5728\u4e0d\u4fdd\u5b58\u7684\u60c5\u51b5\u4e0b\u9000\u51fa\u7f16\u8f91\u5668\uff0c\u5219\u8be5\u8bed\u53e5\u4f1a\u88ab\u4e22\u5f03\u3002\u5982\u679c\u4fdd\u5b58\u5e76\u9000\u51fa\u7f16\u8f91\u5668\uff0c\u5e76\u5728\u5176\u4e2d\u6dfb\u52a0\u4e86\u5206\u53f7\uff0c\u5219\u66f4\u65b0\u540e\u7684\u547d\u4ee4\u4f1a\u7acb\u5373\u6267\u884c\u3002\u5426\u5219\u5b83\u4f1a\u91cd\u65b0\u663e\u793a\uff1b\u952e\u5165\u5206\u53f7\u6216 \\g \u53d1\u9001\u5b83\uff0c\u6216\u7528 \\r \u53d6\u6d88\u3002", "comparison_data": {"modifiers": [], "signature": "\\ef [ function_description [ line_number ] ]", "spellings": ["\\ef"], "definition": "This command fetches and edits the definition of the named function or procedure, in the form of a CREATE OR REPLACE FUNCTION or CREATE OR REPLACE PROCEDURE command. Editing is done in the same way as for \\edit . If you quit the editor without saving, the statement is discarded. If you save and exit the editor, the updated command is executed immediately if you added a semicolon to it. Otherwise it is redisplayed; type semicolon or \\g to send it, or \\r to cancel. The target function can be specified by name alone, or by name and arguments, for example foo(integer, text) . The argument types must be given if there is more than one function of the same name. If no function is specified, a blank CREATE FUNCTION template is presented for editing. If a line number is specified, psql will position the cursor on the specified line of the function body. (Note that the function body typically does not begin on the first line of the file.) Unlike most other meta-commands, the entire remainder of the line is always taken to be the argument(s) of \\ef , and neither variable interpolation nor backquote expansion are performed in the arguments. Tip See Environment , below, for how to configure and customize your editor."}, "comparison_hash": "c6f53578cbd03f42a5ee2d84af67e951894977f92c34d928eb87890b8e81638e", "manual_language": "zh", "description_zh_html": "<dd><p>\n         \u8fd9\u4e2a\u547d\u4ee4\u83b7\u53d6\u5e76\u7f16\u8f91\u6307\u5b9a\u51fd\u6570\u6216\u8fc7\u7a0b\u7684\u5b9a\u4e49\uff0c\u5f62\u5f0f\u4e3a <code class=\"command\">CREATE OR REPLACE FUNCTION</code> \u6216\n         <code class=\"command\">CREATE OR REPLACE PROCEDURE</code> \u547d\u4ee4\u3002\u7f16\u8f91\u65b9\u5f0f\u4e0e<code class=\"literal\">\\edit</code> \u76f8\u540c\u3002\u5982\u679c\u5728\u4e0d\u4fdd\u5b58\u7684\u60c5\u51b5\u4e0b\u9000\u51fa\u7f16\u8f91\u5668\uff0c\u5219\u8be5\u8bed\u53e5\u4f1a\u88ab\u4e22\u5f03\u3002\u5982\u679c\u4fdd\u5b58\u5e76\u9000\u51fa\u7f16\u8f91\u5668\uff0c\u5e76\u5728\u5176\u4e2d\u6dfb\u52a0\u4e86\u5206\u53f7\uff0c\u5219\u66f4\u65b0\u540e\u7684\u547d\u4ee4\u4f1a\u7acb\u5373\u6267\u884c\u3002\u5426\u5219\u5b83\u4f1a\u91cd\u65b0\u663e\u793a\uff1b\u952e\u5165\u5206\u53f7\u6216<code class=\"literal\">\\g</code> \u53d1\u9001\u5b83\uff0c\u6216\u7528<code class=\"literal\">\\r</code> \u53d6\u6d88\u3002\n        </p><p>\n         \u76ee\u6807\u51fd\u6570\u53ef\u4ee5\u4ec5\u901a\u8fc7\u540d\u79f0\u6307\u5b9a\uff0c\u4e5f\u53ef\u4ee5\u901a\u8fc7\u540d\u79f0\u548c\u53c2\u6570\u6307\u5b9a\uff0c\u4f8b\u5982 <code class=\"literal\">foo(integer, text)</code>\u3002\u5982\u679c\u6709\u591a\u4e2a\u540c\u540d\u51fd\u6570\uff0c\u5219\u5fc5\u987b\u7ed9\u51fa\u53c2\u6570\u7c7b\u578b\u3002\n        </p><p>\n         \u5982\u679c\u672a\u6307\u5b9a\u51fd\u6570\uff0c\u5219\u4f1a\u5448\u73b0\u4e00\u4e2a\u7a7a\u7684 <code class=\"command\">CREATE FUNCTION</code> \u6a21\u677f\u4f9b\u7f16\u8f91\u3002\n        </p><p>\n        \u5982\u679c\u6307\u5b9a\u4e86\u884c\u53f7\uff0c<span class=\"application\">psql</span> \u5c06\u5149\u6807\u5b9a\u4f4d\u5728\u51fd\u6570\u4f53\u7684\u6307\u5b9a\u884c\u4e0a\u3002\uff08\u8bf7\u6ce8\u610f\uff0c\u51fd\u6570\u4f53\u901a\u5e38\u4e0d\u4f1a\u4ece\u6587\u4ef6\u7684\u7b2c\u4e00\u884c\u5f00\u59cb\u3002\uff09\n        </p><p>\n        \u4e0e\u5927\u591a\u6570\u5176\u4ed6\u5143\u547d\u4ee4\u4e0d\u540c\uff0c\u6574\u4e2a\u884c\u7684\u5269\u4f59\u90e8\u5206\u59cb\u7ec8\u88ab\u89c6\u4e3a<code class=\"command\">\\ef</code> \u7684\u53c2\u6570\uff0c\u53c2\u6570\u4e2d\u4e0d\u8fdb\u884c\u53d8\u91cf\u63d2\u503c\u6216\u53cd\u5f15\u53f7\u6269\u5c55\u3002\n        </p><div class=\"tip\"><h3 class=\"title\">\u63d0\u793a</h3><p>\n        \u5173\u4e8e\u5982\u4f55\u914d\u7f6e\u548c\u81ea\u5b9a\u4e49\u7f16\u8f91\u5668\uff0c\u8bf7\u53c2\u89c1\u4e0b\u9762\u7684<a class=\"xref\" href=\"/docs/15/app-psql.html#APP-PSQL-ENVIRONMENT\" title=\"\u73af\u5883\">\u73af\u5883</a>\u3002\n        </p></div></dd>", "documentation_revision": {"inputs": [{"file": "app-psql.html", "kind": "same-version-reviewed-manual", "locale": "en", "sha256": "b2a45145fd66cf7a28d7197594e8437e3b0310e88cdedf9d789c0fceefeebc27", "version": "15.20"}, {"file": "app-psql.html", "kind": "same-version-reviewed-manual", "locale": "zh-Hans", "sha256": "666ec9d596198e5b09316660b8bc7ce5cdbfbdb13053df6050aeea8838b8a855", "version": "15.20"}], "release": "15.20", "source_revision": "pgdoc:b9f0e7232f60f380d642ac9b99226606c254b552", "runtime_remeasured": false}}, "16": {"lang": "zh", "facts": [{"label": "\u5ba2\u6237\u7aef", "value": "psql 16.16"}, {"label": "\u533a\u5206\u5927\u5c0f\u5199\u7684\u5199\u6cd5", "value": "\\ef"}], "tables": [{"key": "spellings", "rows": [{"command": {"url": "/wiki/psql/cmd-65-66/?v=16", "text": "\\ef"}, "modifiers": "\u6b64\u8bed\u6cd5\u7b7e\u540d\u672a\u5217\u51fa"}], "title": "\u672c\u7248\u624b\u518c\u4e2d\u7684\u5199\u6cd5", "columns": [{"key": "command", "label": "\u547d\u4ee4"}, {"key": "modifiers", "label": "\u624b\u518c\u4e2d\u7684\u540e\u7f00\u4fee\u9970\u7b26"}]}], "command": "\\ef", "related": [{"url": "/wiki/tool/psql/?v=16", "label": "psql \u547d\u4ee4\u884c\u9009\u9879\u53ca\u5b8c\u6574\u624b\u518c"}], "release": {"ref": "https://ftp.postgresql.org/pub/source/v16.16/postgresql-16.16.tar.bz2", "label": "16.16", "major": "16", "channel": "stable", "manifest": {"major": "16", "release": "16.16", "source_url": "https://ftp.postgresql.org/pub/source/v16.16/postgresql-16.16.tar.bz2", "source_sha256": "9d5cd8633043b75740d5d59749c6b7365e6aeb53c47098b1a5e80bb18f87881a"}, "revision": "871ba8026d5a12aa5884ac4e6e77369dacd4b2bdbd835b2305f7dbae4ee7b50d", "evidence_kind": "English manual and source declarations", "source_sha256": "9d5cd8633043b75740d5d59749c6b7365e6aeb53c47098b1a5e80bb18f87881a"}, "sources": [{"url": "/docs/16/app-psql.html#APP-PSQL-META-COMMAND-EF", "file": "app-psql.html", "label": "16.16 English manual \u00b7 app-psql.html", "anchor": "APP-PSQL-META-COMMAND-EF", "sha256": "6161d51dc66d54c8fd300944fed2bbae80efe4a532023b2e7771df5d94732330"}], "zh_from": "same-version-manual", "facts_zh": [{"label": "\u5ba2\u6237\u7aef", "value": "psql 16.16"}, {"label": "\u533a\u5206\u5927\u5c0f\u5199\u7684\u5199\u6cd5", "value": "\\ef"}], "sections": [], "center_zh": {"locale": "zh-Hans", "payload": {"description_zh": "\u8fd9\u4e2a\u547d\u4ee4\u83b7\u53d6\u5e76\u7f16\u8f91\u6307\u5b9a\u51fd\u6570\u6216\u8fc7\u7a0b\u7684\u5b9a\u4e49\uff0c\u5f62\u5f0f\u4e3a CREATE OR REPLACE FUNCTION \u6216 CREATE OR REPLACE PROCEDURE \u547d\u4ee4\u3002\u7f16\u8f91\u65b9\u5f0f\u4e0e \\edit \u76f8\u540c\u3002\u5982\u679c\u5728\u4e0d\u4fdd\u5b58\u7684\u60c5\u51b5\u4e0b\u9000\u51fa\u7f16\u8f91\u5668\uff0c\u5219\u8be5\u8bed\u53e5\u4f1a\u88ab\u4e22\u5f03\u3002\u5982\u679c\u4fdd\u5b58\u5e76\u9000\u51fa\u7f16\u8f91\u5668\uff0c\u5e76\u5728\u5176\u4e2d\u6dfb\u52a0\u4e86\u5206\u53f7\uff0c\u5219\u66f4\u65b0\u540e\u7684\u547d\u4ee4\u4f1a\u7acb\u5373\u6267\u884c\u3002\u5426\u5219\u5b83\u4f1a\u91cd\u65b0\u663e\u793a\uff1b\u952e\u5165\u5206\u53f7\u6216 \\g \u53d1\u9001\u5b83\uff0c\u6216\u7528 \\r \u53d6\u6d88\u3002", "description_zh_html": "<dd><p>\n         \u8fd9\u4e2a\u547d\u4ee4\u83b7\u53d6\u5e76\u7f16\u8f91\u6307\u5b9a\u51fd\u6570\u6216\u8fc7\u7a0b\u7684\u5b9a\u4e49\uff0c\u5f62\u5f0f\u4e3a <code class=\"command\">CREATE OR REPLACE FUNCTION</code> \u6216\n         <code class=\"command\">CREATE OR REPLACE PROCEDURE</code> \u547d\u4ee4\u3002\u7f16\u8f91\u65b9\u5f0f\u4e0e<code class=\"literal\">\\edit</code> \u76f8\u540c\u3002\u5982\u679c\u5728\u4e0d\u4fdd\u5b58\u7684\u60c5\u51b5\u4e0b\u9000\u51fa\u7f16\u8f91\u5668\uff0c\u5219\u8be5\u8bed\u53e5\u4f1a\u88ab\u4e22\u5f03\u3002\u5982\u679c\u4fdd\u5b58\u5e76\u9000\u51fa\u7f16\u8f91\u5668\uff0c\u5e76\u5728\u5176\u4e2d\u6dfb\u52a0\u4e86\u5206\u53f7\uff0c\u5219\u66f4\u65b0\u540e\u7684\u547d\u4ee4\u4f1a\u7acb\u5373\u6267\u884c\u3002\u5426\u5219\u5b83\u4f1a\u91cd\u65b0\u663e\u793a\uff1b\u952e\u5165\u5206\u53f7\u6216<code class=\"literal\">\\g</code> \u53d1\u9001\u5b83\uff0c\u6216\u7528<code class=\"literal\">\\r</code> \u53d6\u6d88\u3002\n        </p><p>\n         \u76ee\u6807\u51fd\u6570\u53ef\u4ee5\u4ec5\u901a\u8fc7\u540d\u79f0\u6307\u5b9a\uff0c\u4e5f\u53ef\u4ee5\u901a\u8fc7\u540d\u79f0\u548c\u53c2\u6570\u6307\u5b9a\uff0c\u4f8b\u5982 <code class=\"literal\">foo(integer, text)</code>\u3002\u5982\u679c\u6709\u591a\u4e2a\u540c\u540d\u51fd\u6570\uff0c\u5219\u5fc5\u987b\u7ed9\u51fa\u53c2\u6570\u7c7b\u578b\u3002\n        </p><p>\n         \u5982\u679c\u672a\u6307\u5b9a\u51fd\u6570\uff0c\u5219\u4f1a\u5448\u73b0\u4e00\u4e2a\u7a7a\u7684 <code class=\"command\">CREATE FUNCTION</code> \u6a21\u677f\u4f9b\u7f16\u8f91\u3002\n        </p><p>\n        \u5982\u679c\u6307\u5b9a\u4e86\u884c\u53f7\uff0c<span class=\"application\">psql</span> \u5c06\u5149\u6807\u5b9a\u4f4d\u5728\u51fd\u6570\u4f53\u7684\u6307\u5b9a\u884c\u4e0a\u3002\uff08\u8bf7\u6ce8\u610f\uff0c\u51fd\u6570\u4f53\u901a\u5e38\u4e0d\u4f1a\u4ece\u6587\u4ef6\u7684\u7b2c\u4e00\u884c\u5f00\u59cb\u3002\uff09\n        </p><p>\n        \u4e0e\u5927\u591a\u6570\u5176\u4ed6\u5143\u547d\u4ee4\u4e0d\u540c\uff0c\u6574\u4e2a\u884c\u7684\u5269\u4f59\u90e8\u5206\u59cb\u7ec8\u88ab\u89c6\u4e3a<code class=\"command\">\\ef</code> \u7684\u53c2\u6570\uff0c\u53c2\u6570\u4e2d\u4e0d\u8fdb\u884c\u53d8\u91cf\u63d2\u503c\u6216\u53cd\u5f15\u53f7\u6269\u5c55\u3002\n        </p><div class=\"tip\"><h3 class=\"title\">\u63d0\u793a</h3><p>\n        \u5173\u4e8e\u5982\u4f55\u914d\u7f6e\u548c\u81ea\u5b9a\u4e49\u7f16\u8f91\u5668\uff0c\u8bf7\u53c2\u89c1\u4e0b\u9762\u7684<a class=\"xref\" href=\"/docs/16/app-psql.html#APP-PSQL-ENVIRONMENT\" title=\"\u73af\u5883\">\u73af\u5883</a>\u3002\n        </p></div></dd>"}, "summary": "\u8fd9\u4e2a\u547d\u4ee4\u83b7\u53d6\u5e76\u7f16\u8f91\u6307\u5b9a\u51fd\u6570\u6216\u8fc7\u7a0b\u7684\u5b9a\u4e49\uff0c\u5f62\u5f0f\u4e3a CREATE OR REPLACE FUNCTION \u6216 CREATE OR REPLACE PROCEDURE \u547d\u4ee4\u3002\u7f16\u8f91\u65b9\u5f0f\u4e0e \\edit \u76f8\u540c\u3002\u5982\u679c\u5728\u4e0d\u4fdd\u5b58\u7684\u60c5\u51b5\u4e0b\u9000\u51fa\u7f16\u8f91\u5668\uff0c\u5219\u8be5\u8bed\u53e5\u4f1a\u88ab\u4e22\u5f03\u3002\u5982\u679c\u4fdd\u5b58\u5e76\u9000\u51fa\u7f16\u8f91\u5668\uff0c\u5e76\u5728\u5176\u4e2d\u6dfb\u52a0\u4e86\u5206\u53f7\uff0c\u5219\u66f4\u65b0\u540e\u7684\u547d\u4ee4\u4f1a\u7acb\u5373\u6267\u884c\u3002\u5426\u5219\u5b83\u4f1a\u91cd\u65b0\u663e\u793a\uff1b\u952e\u5165\u5206\u53f7\u6216 \\g \u53d1\u9001\u5b83\uff0c\u6216\u7528 \\r \u53d6\u6d88\u3002", "body_html": "<dd><p>\n         \u8fd9\u4e2a\u547d\u4ee4\u83b7\u53d6\u5e76\u7f16\u8f91\u6307\u5b9a\u51fd\u6570\u6216\u8fc7\u7a0b\u7684\u5b9a\u4e49\uff0c\u5f62\u5f0f\u4e3a <code class=\"command\">CREATE OR REPLACE FUNCTION</code> \u6216\n         <code class=\"command\">CREATE OR REPLACE PROCEDURE</code> \u547d\u4ee4\u3002\u7f16\u8f91\u65b9\u5f0f\u4e0e<code class=\"literal\">\\edit</code> \u76f8\u540c\u3002\u5982\u679c\u5728\u4e0d\u4fdd\u5b58\u7684\u60c5\u51b5\u4e0b\u9000\u51fa\u7f16\u8f91\u5668\uff0c\u5219\u8be5\u8bed\u53e5\u4f1a\u88ab\u4e22\u5f03\u3002\u5982\u679c\u4fdd\u5b58\u5e76\u9000\u51fa\u7f16\u8f91\u5668\uff0c\u5e76\u5728\u5176\u4e2d\u6dfb\u52a0\u4e86\u5206\u53f7\uff0c\u5219\u66f4\u65b0\u540e\u7684\u547d\u4ee4\u4f1a\u7acb\u5373\u6267\u884c\u3002\u5426\u5219\u5b83\u4f1a\u91cd\u65b0\u663e\u793a\uff1b\u952e\u5165\u5206\u53f7\u6216<code class=\"literal\">\\g</code> \u53d1\u9001\u5b83\uff0c\u6216\u7528<code class=\"literal\">\\r</code> \u53d6\u6d88\u3002\n        </p><p>\n         \u76ee\u6807\u51fd\u6570\u53ef\u4ee5\u4ec5\u901a\u8fc7\u540d\u79f0\u6307\u5b9a\uff0c\u4e5f\u53ef\u4ee5\u901a\u8fc7\u540d\u79f0\u548c\u53c2\u6570\u6307\u5b9a\uff0c\u4f8b\u5982 <code class=\"literal\">foo(integer, text)</code>\u3002\u5982\u679c\u6709\u591a\u4e2a\u540c\u540d\u51fd\u6570\uff0c\u5219\u5fc5\u987b\u7ed9\u51fa\u53c2\u6570\u7c7b\u578b\u3002\n        </p><p>\n         \u5982\u679c\u672a\u6307\u5b9a\u51fd\u6570\uff0c\u5219\u4f1a\u5448\u73b0\u4e00\u4e2a\u7a7a\u7684 <code class=\"command\">CREATE FUNCTION</code> \u6a21\u677f\u4f9b\u7f16\u8f91\u3002\n        </p><p>\n        \u5982\u679c\u6307\u5b9a\u4e86\u884c\u53f7\uff0c<span class=\"application\">psql</span> \u5c06\u5149\u6807\u5b9a\u4f4d\u5728\u51fd\u6570\u4f53\u7684\u6307\u5b9a\u884c\u4e0a\u3002\uff08\u8bf7\u6ce8\u610f\uff0c\u51fd\u6570\u4f53\u901a\u5e38\u4e0d\u4f1a\u4ece\u6587\u4ef6\u7684\u7b2c\u4e00\u884c\u5f00\u59cb\u3002\uff09\n        </p><p>\n        \u4e0e\u5927\u591a\u6570\u5176\u4ed6\u5143\u547d\u4ee4\u4e0d\u540c\uff0c\u6574\u4e2a\u884c\u7684\u5269\u4f59\u90e8\u5206\u59cb\u7ec8\u88ab\u89c6\u4e3a<code class=\"command\">\\ef</code> \u7684\u53c2\u6570\uff0c\u53c2\u6570\u4e2d\u4e0d\u8fdb\u884c\u53d8\u91cf\u63d2\u503c\u6216\u53cd\u5f15\u53f7\u6269\u5c55\u3002\n        </p><div class=\"tip\"><h3 class=\"title\">\u63d0\u793a</h3><p>\n        \u5173\u4e8e\u5982\u4f55\u914d\u7f6e\u548c\u81ea\u5b9a\u4e49\u7f16\u8f91\u5668\uff0c\u8bf7\u53c2\u89c1\u4e0b\u9762\u7684<a class=\"xref\" href=\"/docs/16/app-psql.html#APP-PSQL-ENVIRONMENT\" title=\"\u73af\u5883\">\u73af\u5883</a>\u3002\n        </p></div></dd>", "body_sha256": "6632bf361017f9d53fd070e97ef09a790f0253f3d1ca93e8f6a47d2f3593f494", "content_hash": "e96a75b97d78b03652f23c9203686630c02d6ec1a5a7e833984ff1d642942bed", "source_revision": "pgdoc:b9f0e7232f60f380d642ac9b99226606c254b552", "definition_version": "16", "documentation_release": "16.16"}, "modifiers": [], "signature": "\\ef [ function_description [ line_number ] ]", "spellings": ["\\ef"], "tables_zh": [{"key": "spellings", "rows": [{"command": {"url": "/wiki/psql/cmd-65-66/?v=16", "text": "\\ef"}, "modifiers": "\u6b64\u8bed\u6cd5\u7b7e\u540d\u672a\u5217\u51fa"}], "title": "\u672c\u7248\u624b\u518c\u4e2d\u7684\u5199\u6cd5", "columns": [{"key": "command", "label": "\u547d\u4ee4"}, {"key": "modifiers", "label": "\u624b\u518c\u4e2d\u7684\u540e\u7f00\u4fee\u9970\u7b26"}]}], "related_zh": [{"url": "/wiki/tool/psql/?v=16", "label": "psql \u547d\u4ee4\u884c\u9009\u9879\u53ca\u5b8c\u6574\u624b\u518c"}], "description": ["\u8fd9\u4e2a\u547d\u4ee4\u83b7\u53d6\u5e76\u7f16\u8f91\u6307\u5b9a\u51fd\u6570\u6216\u8fc7\u7a0b\u7684\u5b9a\u4e49\uff0c\u5f62\u5f0f\u4e3a CREATE OR REPLACE FUNCTION \u6216 CREATE OR REPLACE PROCEDURE \u547d\u4ee4\u3002\u7f16\u8f91\u65b9\u5f0f\u4e0e \\edit \u76f8\u540c\u3002\u5982\u679c\u5728\u4e0d\u4fdd\u5b58\u7684\u60c5\u51b5\u4e0b\u9000\u51fa\u7f16\u8f91\u5668\uff0c\u5219\u8be5\u8bed\u53e5\u4f1a\u88ab\u4e22\u5f03\u3002\u5982\u679c\u4fdd\u5b58\u5e76\u9000\u51fa\u7f16\u8f91\u5668\uff0c\u5e76\u5728\u5176\u4e2d\u6dfb\u52a0\u4e86\u5206\u53f7\uff0c\u5219\u66f4\u65b0\u540e\u7684\u547d\u4ee4\u4f1a\u7acb\u5373\u6267\u884c\u3002\u5426\u5219\u5b83\u4f1a\u91cd\u65b0\u663e\u793a\uff1b\u952e\u5165\u5206\u53f7\u6216 \\g \u53d1\u9001\u5b83\uff0c\u6216\u7528 \\r \u53d6\u6d88\u3002"], "manual_html": "<dd><p>\n         \u8fd9\u4e2a\u547d\u4ee4\u83b7\u53d6\u5e76\u7f16\u8f91\u6307\u5b9a\u51fd\u6570\u6216\u8fc7\u7a0b\u7684\u5b9a\u4e49\uff0c\u5f62\u5f0f\u4e3a <code class=\"command\">CREATE OR REPLACE FUNCTION</code> \u6216\n         <code class=\"command\">CREATE OR REPLACE PROCEDURE</code> \u547d\u4ee4\u3002\u7f16\u8f91\u65b9\u5f0f\u4e0e<code class=\"literal\">\\edit</code> \u76f8\u540c\u3002\u5982\u679c\u5728\u4e0d\u4fdd\u5b58\u7684\u60c5\u51b5\u4e0b\u9000\u51fa\u7f16\u8f91\u5668\uff0c\u5219\u8be5\u8bed\u53e5\u4f1a\u88ab\u4e22\u5f03\u3002\u5982\u679c\u4fdd\u5b58\u5e76\u9000\u51fa\u7f16\u8f91\u5668\uff0c\u5e76\u5728\u5176\u4e2d\u6dfb\u52a0\u4e86\u5206\u53f7\uff0c\u5219\u66f4\u65b0\u540e\u7684\u547d\u4ee4\u4f1a\u7acb\u5373\u6267\u884c\u3002\u5426\u5219\u5b83\u4f1a\u91cd\u65b0\u663e\u793a\uff1b\u952e\u5165\u5206\u53f7\u6216<code class=\"literal\">\\g</code> \u53d1\u9001\u5b83\uff0c\u6216\u7528<code class=\"literal\">\\r</code> \u53d6\u6d88\u3002\n        </p><p>\n         \u76ee\u6807\u51fd\u6570\u53ef\u4ee5\u4ec5\u901a\u8fc7\u540d\u79f0\u6307\u5b9a\uff0c\u4e5f\u53ef\u4ee5\u901a\u8fc7\u540d\u79f0\u548c\u53c2\u6570\u6307\u5b9a\uff0c\u4f8b\u5982 <code class=\"literal\">foo(integer, text)</code>\u3002\u5982\u679c\u6709\u591a\u4e2a\u540c\u540d\u51fd\u6570\uff0c\u5219\u5fc5\u987b\u7ed9\u51fa\u53c2\u6570\u7c7b\u578b\u3002\n        </p><p>\n         \u5982\u679c\u672a\u6307\u5b9a\u51fd\u6570\uff0c\u5219\u4f1a\u5448\u73b0\u4e00\u4e2a\u7a7a\u7684 <code class=\"command\">CREATE FUNCTION</code> \u6a21\u677f\u4f9b\u7f16\u8f91\u3002\n        </p><p>\n        \u5982\u679c\u6307\u5b9a\u4e86\u884c\u53f7\uff0c<span class=\"application\">psql</span> \u5c06\u5149\u6807\u5b9a\u4f4d\u5728\u51fd\u6570\u4f53\u7684\u6307\u5b9a\u884c\u4e0a\u3002\uff08\u8bf7\u6ce8\u610f\uff0c\u51fd\u6570\u4f53\u901a\u5e38\u4e0d\u4f1a\u4ece\u6587\u4ef6\u7684\u7b2c\u4e00\u884c\u5f00\u59cb\u3002\uff09\n        </p><p>\n        \u4e0e\u5927\u591a\u6570\u5176\u4ed6\u5143\u547d\u4ee4\u4e0d\u540c\uff0c\u6574\u4e2a\u884c\u7684\u5269\u4f59\u90e8\u5206\u59cb\u7ec8\u88ab\u89c6\u4e3a<code class=\"command\">\\ef</code> \u7684\u53c2\u6570\uff0c\u53c2\u6570\u4e2d\u4e0d\u8fdb\u884c\u53d8\u91cf\u63d2\u503c\u6216\u53cd\u5f15\u53f7\u6269\u5c55\u3002\n        </p><div class=\"tip\"><h3 class=\"title\">\u63d0\u793a</h3><p>\n        \u5173\u4e8e\u5982\u4f55\u914d\u7f6e\u548c\u81ea\u5b9a\u4e49\u7f16\u8f91\u5668\uff0c\u8bf7\u53c2\u89c1\u4e0b\u9762\u7684<a class=\"xref\" href=\"/docs/16/app-psql.html#APP-PSQL-ENVIRONMENT\" title=\"\u73af\u5883\">\u73af\u5883</a>\u3002\n        </p></div></dd>", "manual_path": "app-psql.html#APP-PSQL-META-COMMAND-EF", "sections_zh": [], "localization": {"status": "same-version-reviewed-manual", "language": "zh", "source_language": "en", "source_revision": "pgdoc:b9f0e7232f60f380d642ac9b99226606c254b552", "documentation_release": "16.16"}, "description_zh": "\u8fd9\u4e2a\u547d\u4ee4\u83b7\u53d6\u5e76\u7f16\u8f91\u6307\u5b9a\u51fd\u6570\u6216\u8fc7\u7a0b\u7684\u5b9a\u4e49\uff0c\u5f62\u5f0f\u4e3a CREATE OR REPLACE FUNCTION \u6216 CREATE OR REPLACE PROCEDURE \u547d\u4ee4\u3002\u7f16\u8f91\u65b9\u5f0f\u4e0e \\edit \u76f8\u540c\u3002\u5982\u679c\u5728\u4e0d\u4fdd\u5b58\u7684\u60c5\u51b5\u4e0b\u9000\u51fa\u7f16\u8f91\u5668\uff0c\u5219\u8be5\u8bed\u53e5\u4f1a\u88ab\u4e22\u5f03\u3002\u5982\u679c\u4fdd\u5b58\u5e76\u9000\u51fa\u7f16\u8f91\u5668\uff0c\u5e76\u5728\u5176\u4e2d\u6dfb\u52a0\u4e86\u5206\u53f7\uff0c\u5219\u66f4\u65b0\u540e\u7684\u547d\u4ee4\u4f1a\u7acb\u5373\u6267\u884c\u3002\u5426\u5219\u5b83\u4f1a\u91cd\u65b0\u663e\u793a\uff1b\u952e\u5165\u5206\u53f7\u6216 \\g \u53d1\u9001\u5b83\uff0c\u6216\u7528 \\r \u53d6\u6d88\u3002", "comparison_data": {"modifiers": [], "signature": "\\ef [ function_description [ line_number ] ]", "spellings": ["\\ef"], "definition": "This command fetches and edits the definition of the named function or procedure, in the form of a CREATE OR REPLACE FUNCTION or CREATE OR REPLACE PROCEDURE command. Editing is done in the same way as for \\edit . If you quit the editor without saving, the statement is discarded. If you save and exit the editor, the updated command is executed immediately if you added a semicolon to it. Otherwise it is redisplayed; type semicolon or \\g to send it, or \\r to cancel. The target function can be specified by name alone, or by name and arguments, for example foo(integer, text) . The argument types must be given if there is more than one function of the same name. If no function is specified, a blank CREATE FUNCTION template is presented for editing. If a line number is specified, psql will position the cursor on the specified line of the function body. (Note that the function body typically does not begin on the first line of the file.) Unlike most other meta-commands, the entire remainder of the line is always taken to be the argument(s) of \\ef , and neither variable interpolation nor backquote expansion are performed in the arguments. Tip See Environment , below, for how to configure and customize your editor."}, "comparison_hash": "c6f53578cbd03f42a5ee2d84af67e951894977f92c34d928eb87890b8e81638e", "manual_language": "zh", "description_zh_html": "<dd><p>\n         \u8fd9\u4e2a\u547d\u4ee4\u83b7\u53d6\u5e76\u7f16\u8f91\u6307\u5b9a\u51fd\u6570\u6216\u8fc7\u7a0b\u7684\u5b9a\u4e49\uff0c\u5f62\u5f0f\u4e3a <code class=\"command\">CREATE OR REPLACE FUNCTION</code> \u6216\n         <code class=\"command\">CREATE OR REPLACE PROCEDURE</code> \u547d\u4ee4\u3002\u7f16\u8f91\u65b9\u5f0f\u4e0e<code class=\"literal\">\\edit</code> \u76f8\u540c\u3002\u5982\u679c\u5728\u4e0d\u4fdd\u5b58\u7684\u60c5\u51b5\u4e0b\u9000\u51fa\u7f16\u8f91\u5668\uff0c\u5219\u8be5\u8bed\u53e5\u4f1a\u88ab\u4e22\u5f03\u3002\u5982\u679c\u4fdd\u5b58\u5e76\u9000\u51fa\u7f16\u8f91\u5668\uff0c\u5e76\u5728\u5176\u4e2d\u6dfb\u52a0\u4e86\u5206\u53f7\uff0c\u5219\u66f4\u65b0\u540e\u7684\u547d\u4ee4\u4f1a\u7acb\u5373\u6267\u884c\u3002\u5426\u5219\u5b83\u4f1a\u91cd\u65b0\u663e\u793a\uff1b\u952e\u5165\u5206\u53f7\u6216<code class=\"literal\">\\g</code> \u53d1\u9001\u5b83\uff0c\u6216\u7528<code class=\"literal\">\\r</code> \u53d6\u6d88\u3002\n        </p><p>\n         \u76ee\u6807\u51fd\u6570\u53ef\u4ee5\u4ec5\u901a\u8fc7\u540d\u79f0\u6307\u5b9a\uff0c\u4e5f\u53ef\u4ee5\u901a\u8fc7\u540d\u79f0\u548c\u53c2\u6570\u6307\u5b9a\uff0c\u4f8b\u5982 <code class=\"literal\">foo(integer, text)</code>\u3002\u5982\u679c\u6709\u591a\u4e2a\u540c\u540d\u51fd\u6570\uff0c\u5219\u5fc5\u987b\u7ed9\u51fa\u53c2\u6570\u7c7b\u578b\u3002\n        </p><p>\n         \u5982\u679c\u672a\u6307\u5b9a\u51fd\u6570\uff0c\u5219\u4f1a\u5448\u73b0\u4e00\u4e2a\u7a7a\u7684 <code class=\"command\">CREATE FUNCTION</code> \u6a21\u677f\u4f9b\u7f16\u8f91\u3002\n        </p><p>\n        \u5982\u679c\u6307\u5b9a\u4e86\u884c\u53f7\uff0c<span class=\"application\">psql</span> \u5c06\u5149\u6807\u5b9a\u4f4d\u5728\u51fd\u6570\u4f53\u7684\u6307\u5b9a\u884c\u4e0a\u3002\uff08\u8bf7\u6ce8\u610f\uff0c\u51fd\u6570\u4f53\u901a\u5e38\u4e0d\u4f1a\u4ece\u6587\u4ef6\u7684\u7b2c\u4e00\u884c\u5f00\u59cb\u3002\uff09\n        </p><p>\n        \u4e0e\u5927\u591a\u6570\u5176\u4ed6\u5143\u547d\u4ee4\u4e0d\u540c\uff0c\u6574\u4e2a\u884c\u7684\u5269\u4f59\u90e8\u5206\u59cb\u7ec8\u88ab\u89c6\u4e3a<code class=\"command\">\\ef</code> \u7684\u53c2\u6570\uff0c\u53c2\u6570\u4e2d\u4e0d\u8fdb\u884c\u53d8\u91cf\u63d2\u503c\u6216\u53cd\u5f15\u53f7\u6269\u5c55\u3002\n        </p><div class=\"tip\"><h3 class=\"title\">\u63d0\u793a</h3><p>\n        \u5173\u4e8e\u5982\u4f55\u914d\u7f6e\u548c\u81ea\u5b9a\u4e49\u7f16\u8f91\u5668\uff0c\u8bf7\u53c2\u89c1\u4e0b\u9762\u7684<a class=\"xref\" href=\"/docs/16/app-psql.html#APP-PSQL-ENVIRONMENT\" title=\"\u73af\u5883\">\u73af\u5883</a>\u3002\n        </p></div></dd>", "documentation_revision": {"inputs": [{"file": "app-psql.html", "kind": "same-version-reviewed-manual", "locale": "en", "sha256": "6161d51dc66d54c8fd300944fed2bbae80efe4a532023b2e7771df5d94732330", "version": "16.16"}, {"file": "app-psql.html", "kind": "same-version-reviewed-manual", "locale": "zh-Hans", "sha256": "c0d23bdcbad8a5daf5f0b3f68e3cda09f59d69ebf5476444ecd369309fbd52c6", "version": "16.16"}], "release": "16.16", "source_revision": "pgdoc:b9f0e7232f60f380d642ac9b99226606c254b552", "runtime_remeasured": false}}, "17": {"lang": "zh", "facts": [{"label": "\u5ba2\u6237\u7aef", "value": "psql 17.12"}, {"label": "\u533a\u5206\u5927\u5c0f\u5199\u7684\u5199\u6cd5", "value": "\\ef"}], "tables": [{"key": "spellings", "rows": [{"command": {"url": "/wiki/psql/cmd-65-66/?v=17", "text": "\\ef"}, "modifiers": "\u6b64\u8bed\u6cd5\u7b7e\u540d\u672a\u5217\u51fa"}], "title": "\u672c\u7248\u624b\u518c\u4e2d\u7684\u5199\u6cd5", "columns": [{"key": "command", "label": "\u547d\u4ee4"}, {"key": "modifiers", "label": "\u624b\u518c\u4e2d\u7684\u540e\u7f00\u4fee\u9970\u7b26"}]}], "command": "\\ef", "related": [{"url": "/wiki/tool/psql/?v=17", "label": "psql \u547d\u4ee4\u884c\u9009\u9879\u53ca\u5b8c\u6574\u624b\u518c"}], "release": {"ref": "https://ftp.postgresql.org/pub/source/v17.12/postgresql-17.12.tar.bz2", "label": "17.12", "major": "17", "channel": "stable", "manifest": {"major": "17", "release": "17.12", "source_url": "https://ftp.postgresql.org/pub/source/v17.12/postgresql-17.12.tar.bz2", "source_sha256": "9cf136a703d8ee2f83465c43be4e9e8e7930c82b0bfba13be7e2537be769ac55"}, "revision": "cdf1f58367ae5412a459972f45d3edc959901a849a12eaac1f08b050ba94663e", "evidence_kind": "English manual and source declarations", "source_sha256": "9cf136a703d8ee2f83465c43be4e9e8e7930c82b0bfba13be7e2537be769ac55"}, "sources": [{"url": "/docs/17/app-psql.html#APP-PSQL-META-COMMAND-EF", "file": "app-psql.html", "label": "17.12 English manual \u00b7 app-psql.html", "anchor": "APP-PSQL-META-COMMAND-EF", "sha256": "0a15b496eec7377c3e3cdbba9c3202ea984799cde158cf8c6826d339ff454a76"}], "zh_from": "same-version-manual", "facts_zh": [{"label": "\u5ba2\u6237\u7aef", "value": "psql 17.12"}, {"label": "\u533a\u5206\u5927\u5c0f\u5199\u7684\u5199\u6cd5", "value": "\\ef"}], "sections": [], "center_zh": {"locale": "zh-Hans", "payload": {"description_zh": "\u8fd9\u4e2a\u547d\u4ee4\u83b7\u53d6\u5e76\u7f16\u8f91\u6307\u5b9a\u51fd\u6570\u6216\u8fc7\u7a0b\u7684\u5b9a\u4e49\uff0c\u5f62\u5f0f\u4e3a CREATE OR REPLACE FUNCTION \u6216 CREATE OR REPLACE PROCEDURE \u547d\u4ee4\u3002\u7f16\u8f91\u65b9\u5f0f\u4e0e \\edit \u76f8\u540c\u3002\u5982\u679c\u5728\u4e0d\u4fdd\u5b58\u7684\u60c5\u51b5\u4e0b\u9000\u51fa\u7f16\u8f91\u5668\uff0c\u5219\u8be5\u8bed\u53e5\u4f1a\u88ab\u4e22\u5f03\u3002\u5982\u679c\u4fdd\u5b58\u5e76\u9000\u51fa\u7f16\u8f91\u5668\uff0c\u5e76\u5728\u5176\u4e2d\u6dfb\u52a0\u4e86\u5206\u53f7\uff0c\u5219\u66f4\u65b0\u540e\u7684\u547d\u4ee4\u4f1a\u7acb\u5373\u6267\u884c\u3002\u5426\u5219\u5b83\u4f1a\u91cd\u65b0\u663e\u793a\uff1b\u952e\u5165\u5206\u53f7\u6216 \\g \u53d1\u9001\u5b83\uff0c\u6216\u7528 \\r \u53d6\u6d88\u3002", "description_zh_html": "<dd><p>\n         \u8fd9\u4e2a\u547d\u4ee4\u83b7\u53d6\u5e76\u7f16\u8f91\u6307\u5b9a\u51fd\u6570\u6216\u8fc7\u7a0b\u7684\u5b9a\u4e49\uff0c\u5f62\u5f0f\u4e3a <code class=\"command\">CREATE OR REPLACE FUNCTION</code> \u6216\n         <code class=\"command\">CREATE OR REPLACE PROCEDURE</code> \u547d\u4ee4\u3002\u7f16\u8f91\u65b9\u5f0f\u4e0e<code class=\"literal\">\\edit</code> \u76f8\u540c\u3002\u5982\u679c\u5728\u4e0d\u4fdd\u5b58\u7684\u60c5\u51b5\u4e0b\u9000\u51fa\u7f16\u8f91\u5668\uff0c\u5219\u8be5\u8bed\u53e5\u4f1a\u88ab\u4e22\u5f03\u3002\u5982\u679c\u4fdd\u5b58\u5e76\u9000\u51fa\u7f16\u8f91\u5668\uff0c\u5e76\u5728\u5176\u4e2d\u6dfb\u52a0\u4e86\u5206\u53f7\uff0c\u5219\u66f4\u65b0\u540e\u7684\u547d\u4ee4\u4f1a\u7acb\u5373\u6267\u884c\u3002\u5426\u5219\u5b83\u4f1a\u91cd\u65b0\u663e\u793a\uff1b\u952e\u5165\u5206\u53f7\u6216<code class=\"literal\">\\g</code> \u53d1\u9001\u5b83\uff0c\u6216\u7528<code class=\"literal\">\\r</code> \u53d6\u6d88\u3002\n        </p><p>\n         \u76ee\u6807\u51fd\u6570\u53ef\u4ee5\u4ec5\u901a\u8fc7\u540d\u79f0\u6307\u5b9a\uff0c\u4e5f\u53ef\u4ee5\u901a\u8fc7\u540d\u79f0\u548c\u53c2\u6570\u6307\u5b9a\uff0c\u4f8b\u5982 <code class=\"literal\">foo(integer, text)</code>\u3002\u5982\u679c\u6709\u591a\u4e2a\u540c\u540d\u51fd\u6570\uff0c\u5219\u5fc5\u987b\u7ed9\u51fa\u53c2\u6570\u7c7b\u578b\u3002\n        </p><p>\n         \u5982\u679c\u672a\u6307\u5b9a\u51fd\u6570\uff0c\u5219\u4f1a\u5448\u73b0\u4e00\u4e2a\u7a7a\u7684 <code class=\"command\">CREATE FUNCTION</code> \u6a21\u677f\u4f9b\u7f16\u8f91\u3002\n        </p><p>\n        \u5982\u679c\u6307\u5b9a\u4e86\u884c\u53f7\uff0c<span class=\"application\">psql</span> \u5c06\u5149\u6807\u5b9a\u4f4d\u5728\u51fd\u6570\u4f53\u7684\u6307\u5b9a\u884c\u4e0a\u3002\uff08\u8bf7\u6ce8\u610f\uff0c\u51fd\u6570\u4f53\u901a\u5e38\u4e0d\u4f1a\u4ece\u6587\u4ef6\u7684\u7b2c\u4e00\u884c\u5f00\u59cb\u3002\uff09\n        </p><p>\n        \u4e0e\u5927\u591a\u6570\u5176\u4ed6\u5143\u547d\u4ee4\u4e0d\u540c\uff0c\u6574\u4e2a\u884c\u7684\u5269\u4f59\u90e8\u5206\u59cb\u7ec8\u88ab\u89c6\u4e3a<code class=\"command\">\\ef</code> \u7684\u53c2\u6570\uff0c\u53c2\u6570\u4e2d\u4e0d\u8fdb\u884c\u53d8\u91cf\u63d2\u503c\u6216\u53cd\u5f15\u53f7\u6269\u5c55\u3002\n        </p><div class=\"tip\"><h3 class=\"title\">\u63d0\u793a</h3><p>\n        \u5173\u4e8e\u5982\u4f55\u914d\u7f6e\u548c\u81ea\u5b9a\u4e49\u7f16\u8f91\u5668\uff0c\u8bf7\u53c2\u89c1\u4e0b\u9762\u7684<a class=\"xref\" href=\"/docs/17/app-psql.html#APP-PSQL-ENVIRONMENT\" title=\"\u73af\u5883\">\u73af\u5883</a>\u3002\n        </p></div></dd>"}, "summary": "\u8fd9\u4e2a\u547d\u4ee4\u83b7\u53d6\u5e76\u7f16\u8f91\u6307\u5b9a\u51fd\u6570\u6216\u8fc7\u7a0b\u7684\u5b9a\u4e49\uff0c\u5f62\u5f0f\u4e3a CREATE OR REPLACE FUNCTION \u6216 CREATE OR REPLACE PROCEDURE \u547d\u4ee4\u3002\u7f16\u8f91\u65b9\u5f0f\u4e0e \\edit \u76f8\u540c\u3002\u5982\u679c\u5728\u4e0d\u4fdd\u5b58\u7684\u60c5\u51b5\u4e0b\u9000\u51fa\u7f16\u8f91\u5668\uff0c\u5219\u8be5\u8bed\u53e5\u4f1a\u88ab\u4e22\u5f03\u3002\u5982\u679c\u4fdd\u5b58\u5e76\u9000\u51fa\u7f16\u8f91\u5668\uff0c\u5e76\u5728\u5176\u4e2d\u6dfb\u52a0\u4e86\u5206\u53f7\uff0c\u5219\u66f4\u65b0\u540e\u7684\u547d\u4ee4\u4f1a\u7acb\u5373\u6267\u884c\u3002\u5426\u5219\u5b83\u4f1a\u91cd\u65b0\u663e\u793a\uff1b\u952e\u5165\u5206\u53f7\u6216 \\g \u53d1\u9001\u5b83\uff0c\u6216\u7528 \\r \u53d6\u6d88\u3002", "body_html": "<dd><p>\n         \u8fd9\u4e2a\u547d\u4ee4\u83b7\u53d6\u5e76\u7f16\u8f91\u6307\u5b9a\u51fd\u6570\u6216\u8fc7\u7a0b\u7684\u5b9a\u4e49\uff0c\u5f62\u5f0f\u4e3a <code class=\"command\">CREATE OR REPLACE FUNCTION</code> \u6216\n         <code class=\"command\">CREATE OR REPLACE PROCEDURE</code> \u547d\u4ee4\u3002\u7f16\u8f91\u65b9\u5f0f\u4e0e<code class=\"literal\">\\edit</code> \u76f8\u540c\u3002\u5982\u679c\u5728\u4e0d\u4fdd\u5b58\u7684\u60c5\u51b5\u4e0b\u9000\u51fa\u7f16\u8f91\u5668\uff0c\u5219\u8be5\u8bed\u53e5\u4f1a\u88ab\u4e22\u5f03\u3002\u5982\u679c\u4fdd\u5b58\u5e76\u9000\u51fa\u7f16\u8f91\u5668\uff0c\u5e76\u5728\u5176\u4e2d\u6dfb\u52a0\u4e86\u5206\u53f7\uff0c\u5219\u66f4\u65b0\u540e\u7684\u547d\u4ee4\u4f1a\u7acb\u5373\u6267\u884c\u3002\u5426\u5219\u5b83\u4f1a\u91cd\u65b0\u663e\u793a\uff1b\u952e\u5165\u5206\u53f7\u6216<code class=\"literal\">\\g</code> \u53d1\u9001\u5b83\uff0c\u6216\u7528<code class=\"literal\">\\r</code> \u53d6\u6d88\u3002\n        </p><p>\n         \u76ee\u6807\u51fd\u6570\u53ef\u4ee5\u4ec5\u901a\u8fc7\u540d\u79f0\u6307\u5b9a\uff0c\u4e5f\u53ef\u4ee5\u901a\u8fc7\u540d\u79f0\u548c\u53c2\u6570\u6307\u5b9a\uff0c\u4f8b\u5982 <code class=\"literal\">foo(integer, text)</code>\u3002\u5982\u679c\u6709\u591a\u4e2a\u540c\u540d\u51fd\u6570\uff0c\u5219\u5fc5\u987b\u7ed9\u51fa\u53c2\u6570\u7c7b\u578b\u3002\n        </p><p>\n         \u5982\u679c\u672a\u6307\u5b9a\u51fd\u6570\uff0c\u5219\u4f1a\u5448\u73b0\u4e00\u4e2a\u7a7a\u7684 <code class=\"command\">CREATE FUNCTION</code> \u6a21\u677f\u4f9b\u7f16\u8f91\u3002\n        </p><p>\n        \u5982\u679c\u6307\u5b9a\u4e86\u884c\u53f7\uff0c<span class=\"application\">psql</span> \u5c06\u5149\u6807\u5b9a\u4f4d\u5728\u51fd\u6570\u4f53\u7684\u6307\u5b9a\u884c\u4e0a\u3002\uff08\u8bf7\u6ce8\u610f\uff0c\u51fd\u6570\u4f53\u901a\u5e38\u4e0d\u4f1a\u4ece\u6587\u4ef6\u7684\u7b2c\u4e00\u884c\u5f00\u59cb\u3002\uff09\n        </p><p>\n        \u4e0e\u5927\u591a\u6570\u5176\u4ed6\u5143\u547d\u4ee4\u4e0d\u540c\uff0c\u6574\u4e2a\u884c\u7684\u5269\u4f59\u90e8\u5206\u59cb\u7ec8\u88ab\u89c6\u4e3a<code class=\"command\">\\ef</code> \u7684\u53c2\u6570\uff0c\u53c2\u6570\u4e2d\u4e0d\u8fdb\u884c\u53d8\u91cf\u63d2\u503c\u6216\u53cd\u5f15\u53f7\u6269\u5c55\u3002\n        </p><div class=\"tip\"><h3 class=\"title\">\u63d0\u793a</h3><p>\n        \u5173\u4e8e\u5982\u4f55\u914d\u7f6e\u548c\u81ea\u5b9a\u4e49\u7f16\u8f91\u5668\uff0c\u8bf7\u53c2\u89c1\u4e0b\u9762\u7684<a class=\"xref\" href=\"/docs/17/app-psql.html#APP-PSQL-ENVIRONMENT\" title=\"\u73af\u5883\">\u73af\u5883</a>\u3002\n        </p></div></dd>", "body_sha256": "fc7253b9b48672efc4f1fc399588053008f6145091bd6f718681ea954f59b378", "content_hash": "b4aa9f20911cea721114c7fb6dbf3b229b0534bc3c60913bd5a7c1525e110329", "source_revision": "pgdoc:b9f0e7232f60f380d642ac9b99226606c254b552", "definition_version": "17", "documentation_release": "17.12"}, "modifiers": [], "signature": "\\ef [ function_description [ line_number ] ]", "spellings": ["\\ef"], "tables_zh": [{"key": "spellings", "rows": [{"command": {"url": "/wiki/psql/cmd-65-66/?v=17", "text": "\\ef"}, "modifiers": "\u6b64\u8bed\u6cd5\u7b7e\u540d\u672a\u5217\u51fa"}], "title": "\u672c\u7248\u624b\u518c\u4e2d\u7684\u5199\u6cd5", "columns": [{"key": "command", "label": "\u547d\u4ee4"}, {"key": "modifiers", "label": "\u624b\u518c\u4e2d\u7684\u540e\u7f00\u4fee\u9970\u7b26"}]}], "related_zh": [{"url": "/wiki/tool/psql/?v=17", "label": "psql \u547d\u4ee4\u884c\u9009\u9879\u53ca\u5b8c\u6574\u624b\u518c"}], "description": ["\u8fd9\u4e2a\u547d\u4ee4\u83b7\u53d6\u5e76\u7f16\u8f91\u6307\u5b9a\u51fd\u6570\u6216\u8fc7\u7a0b\u7684\u5b9a\u4e49\uff0c\u5f62\u5f0f\u4e3a CREATE OR REPLACE FUNCTION \u6216 CREATE OR REPLACE PROCEDURE \u547d\u4ee4\u3002\u7f16\u8f91\u65b9\u5f0f\u4e0e \\edit \u76f8\u540c\u3002\u5982\u679c\u5728\u4e0d\u4fdd\u5b58\u7684\u60c5\u51b5\u4e0b\u9000\u51fa\u7f16\u8f91\u5668\uff0c\u5219\u8be5\u8bed\u53e5\u4f1a\u88ab\u4e22\u5f03\u3002\u5982\u679c\u4fdd\u5b58\u5e76\u9000\u51fa\u7f16\u8f91\u5668\uff0c\u5e76\u5728\u5176\u4e2d\u6dfb\u52a0\u4e86\u5206\u53f7\uff0c\u5219\u66f4\u65b0\u540e\u7684\u547d\u4ee4\u4f1a\u7acb\u5373\u6267\u884c\u3002\u5426\u5219\u5b83\u4f1a\u91cd\u65b0\u663e\u793a\uff1b\u952e\u5165\u5206\u53f7\u6216 \\g \u53d1\u9001\u5b83\uff0c\u6216\u7528 \\r \u53d6\u6d88\u3002"], "manual_html": "<dd><p>\n         \u8fd9\u4e2a\u547d\u4ee4\u83b7\u53d6\u5e76\u7f16\u8f91\u6307\u5b9a\u51fd\u6570\u6216\u8fc7\u7a0b\u7684\u5b9a\u4e49\uff0c\u5f62\u5f0f\u4e3a <code class=\"command\">CREATE OR REPLACE FUNCTION</code> \u6216\n         <code class=\"command\">CREATE OR REPLACE PROCEDURE</code> \u547d\u4ee4\u3002\u7f16\u8f91\u65b9\u5f0f\u4e0e<code class=\"literal\">\\edit</code> \u76f8\u540c\u3002\u5982\u679c\u5728\u4e0d\u4fdd\u5b58\u7684\u60c5\u51b5\u4e0b\u9000\u51fa\u7f16\u8f91\u5668\uff0c\u5219\u8be5\u8bed\u53e5\u4f1a\u88ab\u4e22\u5f03\u3002\u5982\u679c\u4fdd\u5b58\u5e76\u9000\u51fa\u7f16\u8f91\u5668\uff0c\u5e76\u5728\u5176\u4e2d\u6dfb\u52a0\u4e86\u5206\u53f7\uff0c\u5219\u66f4\u65b0\u540e\u7684\u547d\u4ee4\u4f1a\u7acb\u5373\u6267\u884c\u3002\u5426\u5219\u5b83\u4f1a\u91cd\u65b0\u663e\u793a\uff1b\u952e\u5165\u5206\u53f7\u6216<code class=\"literal\">\\g</code> \u53d1\u9001\u5b83\uff0c\u6216\u7528<code class=\"literal\">\\r</code> \u53d6\u6d88\u3002\n        </p><p>\n         \u76ee\u6807\u51fd\u6570\u53ef\u4ee5\u4ec5\u901a\u8fc7\u540d\u79f0\u6307\u5b9a\uff0c\u4e5f\u53ef\u4ee5\u901a\u8fc7\u540d\u79f0\u548c\u53c2\u6570\u6307\u5b9a\uff0c\u4f8b\u5982 <code class=\"literal\">foo(integer, text)</code>\u3002\u5982\u679c\u6709\u591a\u4e2a\u540c\u540d\u51fd\u6570\uff0c\u5219\u5fc5\u987b\u7ed9\u51fa\u53c2\u6570\u7c7b\u578b\u3002\n        </p><p>\n         \u5982\u679c\u672a\u6307\u5b9a\u51fd\u6570\uff0c\u5219\u4f1a\u5448\u73b0\u4e00\u4e2a\u7a7a\u7684 <code class=\"command\">CREATE FUNCTION</code> \u6a21\u677f\u4f9b\u7f16\u8f91\u3002\n        </p><p>\n        \u5982\u679c\u6307\u5b9a\u4e86\u884c\u53f7\uff0c<span class=\"application\">psql</span> \u5c06\u5149\u6807\u5b9a\u4f4d\u5728\u51fd\u6570\u4f53\u7684\u6307\u5b9a\u884c\u4e0a\u3002\uff08\u8bf7\u6ce8\u610f\uff0c\u51fd\u6570\u4f53\u901a\u5e38\u4e0d\u4f1a\u4ece\u6587\u4ef6\u7684\u7b2c\u4e00\u884c\u5f00\u59cb\u3002\uff09\n        </p><p>\n        \u4e0e\u5927\u591a\u6570\u5176\u4ed6\u5143\u547d\u4ee4\u4e0d\u540c\uff0c\u6574\u4e2a\u884c\u7684\u5269\u4f59\u90e8\u5206\u59cb\u7ec8\u88ab\u89c6\u4e3a<code class=\"command\">\\ef</code> \u7684\u53c2\u6570\uff0c\u53c2\u6570\u4e2d\u4e0d\u8fdb\u884c\u53d8\u91cf\u63d2\u503c\u6216\u53cd\u5f15\u53f7\u6269\u5c55\u3002\n        </p><div class=\"tip\"><h3 class=\"title\">\u63d0\u793a</h3><p>\n        \u5173\u4e8e\u5982\u4f55\u914d\u7f6e\u548c\u81ea\u5b9a\u4e49\u7f16\u8f91\u5668\uff0c\u8bf7\u53c2\u89c1\u4e0b\u9762\u7684<a class=\"xref\" href=\"/docs/17/app-psql.html#APP-PSQL-ENVIRONMENT\" title=\"\u73af\u5883\">\u73af\u5883</a>\u3002\n        </p></div></dd>", "manual_path": "app-psql.html#APP-PSQL-META-COMMAND-EF", "sections_zh": [], "localization": {"status": "same-version-reviewed-manual", "language": "zh", "source_language": "en", "source_revision": "pgdoc:b9f0e7232f60f380d642ac9b99226606c254b552", "documentation_release": "17.12"}, "description_zh": "\u8fd9\u4e2a\u547d\u4ee4\u83b7\u53d6\u5e76\u7f16\u8f91\u6307\u5b9a\u51fd\u6570\u6216\u8fc7\u7a0b\u7684\u5b9a\u4e49\uff0c\u5f62\u5f0f\u4e3a CREATE OR REPLACE FUNCTION \u6216 CREATE OR REPLACE PROCEDURE \u547d\u4ee4\u3002\u7f16\u8f91\u65b9\u5f0f\u4e0e \\edit \u76f8\u540c\u3002\u5982\u679c\u5728\u4e0d\u4fdd\u5b58\u7684\u60c5\u51b5\u4e0b\u9000\u51fa\u7f16\u8f91\u5668\uff0c\u5219\u8be5\u8bed\u53e5\u4f1a\u88ab\u4e22\u5f03\u3002\u5982\u679c\u4fdd\u5b58\u5e76\u9000\u51fa\u7f16\u8f91\u5668\uff0c\u5e76\u5728\u5176\u4e2d\u6dfb\u52a0\u4e86\u5206\u53f7\uff0c\u5219\u66f4\u65b0\u540e\u7684\u547d\u4ee4\u4f1a\u7acb\u5373\u6267\u884c\u3002\u5426\u5219\u5b83\u4f1a\u91cd\u65b0\u663e\u793a\uff1b\u952e\u5165\u5206\u53f7\u6216 \\g \u53d1\u9001\u5b83\uff0c\u6216\u7528 \\r \u53d6\u6d88\u3002", "comparison_data": {"modifiers": [], "signature": "\\ef [ function_description [ line_number ] ]", "spellings": ["\\ef"], "definition": "This command fetches and edits the definition of the named function or procedure, in the form of a CREATE OR REPLACE FUNCTION or CREATE OR REPLACE PROCEDURE command. Editing is done in the same way as for \\edit . If you quit the editor without saving, the statement is discarded. If you save and exit the editor, the updated command is executed immediately if you added a semicolon to it. Otherwise it is redisplayed; type semicolon or \\g to send it, or \\r to cancel. The target function can be specified by name alone, or by name and arguments, for example foo(integer, text) . The argument types must be given if there is more than one function of the same name. If no function is specified, a blank CREATE FUNCTION template is presented for editing. If a line number is specified, psql will position the cursor on the specified line of the function body. (Note that the function body typically does not begin on the first line of the file.) Unlike most other meta-commands, the entire remainder of the line is always taken to be the argument(s) of \\ef , and neither variable interpolation nor backquote expansion are performed in the arguments. Tip See Environment , below, for how to configure and customize your editor."}, "comparison_hash": "c6f53578cbd03f42a5ee2d84af67e951894977f92c34d928eb87890b8e81638e", "manual_language": "zh", "description_zh_html": "<dd><p>\n         \u8fd9\u4e2a\u547d\u4ee4\u83b7\u53d6\u5e76\u7f16\u8f91\u6307\u5b9a\u51fd\u6570\u6216\u8fc7\u7a0b\u7684\u5b9a\u4e49\uff0c\u5f62\u5f0f\u4e3a <code class=\"command\">CREATE OR REPLACE FUNCTION</code> \u6216\n         <code class=\"command\">CREATE OR REPLACE PROCEDURE</code> \u547d\u4ee4\u3002\u7f16\u8f91\u65b9\u5f0f\u4e0e<code class=\"literal\">\\edit</code> \u76f8\u540c\u3002\u5982\u679c\u5728\u4e0d\u4fdd\u5b58\u7684\u60c5\u51b5\u4e0b\u9000\u51fa\u7f16\u8f91\u5668\uff0c\u5219\u8be5\u8bed\u53e5\u4f1a\u88ab\u4e22\u5f03\u3002\u5982\u679c\u4fdd\u5b58\u5e76\u9000\u51fa\u7f16\u8f91\u5668\uff0c\u5e76\u5728\u5176\u4e2d\u6dfb\u52a0\u4e86\u5206\u53f7\uff0c\u5219\u66f4\u65b0\u540e\u7684\u547d\u4ee4\u4f1a\u7acb\u5373\u6267\u884c\u3002\u5426\u5219\u5b83\u4f1a\u91cd\u65b0\u663e\u793a\uff1b\u952e\u5165\u5206\u53f7\u6216<code class=\"literal\">\\g</code> \u53d1\u9001\u5b83\uff0c\u6216\u7528<code class=\"literal\">\\r</code> \u53d6\u6d88\u3002\n        </p><p>\n         \u76ee\u6807\u51fd\u6570\u53ef\u4ee5\u4ec5\u901a\u8fc7\u540d\u79f0\u6307\u5b9a\uff0c\u4e5f\u53ef\u4ee5\u901a\u8fc7\u540d\u79f0\u548c\u53c2\u6570\u6307\u5b9a\uff0c\u4f8b\u5982 <code class=\"literal\">foo(integer, text)</code>\u3002\u5982\u679c\u6709\u591a\u4e2a\u540c\u540d\u51fd\u6570\uff0c\u5219\u5fc5\u987b\u7ed9\u51fa\u53c2\u6570\u7c7b\u578b\u3002\n        </p><p>\n         \u5982\u679c\u672a\u6307\u5b9a\u51fd\u6570\uff0c\u5219\u4f1a\u5448\u73b0\u4e00\u4e2a\u7a7a\u7684 <code class=\"command\">CREATE FUNCTION</code> \u6a21\u677f\u4f9b\u7f16\u8f91\u3002\n        </p><p>\n        \u5982\u679c\u6307\u5b9a\u4e86\u884c\u53f7\uff0c<span class=\"application\">psql</span> \u5c06\u5149\u6807\u5b9a\u4f4d\u5728\u51fd\u6570\u4f53\u7684\u6307\u5b9a\u884c\u4e0a\u3002\uff08\u8bf7\u6ce8\u610f\uff0c\u51fd\u6570\u4f53\u901a\u5e38\u4e0d\u4f1a\u4ece\u6587\u4ef6\u7684\u7b2c\u4e00\u884c\u5f00\u59cb\u3002\uff09\n        </p><p>\n        \u4e0e\u5927\u591a\u6570\u5176\u4ed6\u5143\u547d\u4ee4\u4e0d\u540c\uff0c\u6574\u4e2a\u884c\u7684\u5269\u4f59\u90e8\u5206\u59cb\u7ec8\u88ab\u89c6\u4e3a<code class=\"command\">\\ef</code> \u7684\u53c2\u6570\uff0c\u53c2\u6570\u4e2d\u4e0d\u8fdb\u884c\u53d8\u91cf\u63d2\u503c\u6216\u53cd\u5f15\u53f7\u6269\u5c55\u3002\n        </p><div class=\"tip\"><h3 class=\"title\">\u63d0\u793a</h3><p>\n        \u5173\u4e8e\u5982\u4f55\u914d\u7f6e\u548c\u81ea\u5b9a\u4e49\u7f16\u8f91\u5668\uff0c\u8bf7\u53c2\u89c1\u4e0b\u9762\u7684<a class=\"xref\" href=\"/docs/17/app-psql.html#APP-PSQL-ENVIRONMENT\" title=\"\u73af\u5883\">\u73af\u5883</a>\u3002\n        </p></div></dd>", "documentation_revision": {"inputs": [{"file": "app-psql.html", "kind": "same-version-reviewed-manual", "locale": "en", "sha256": "0a15b496eec7377c3e3cdbba9c3202ea984799cde158cf8c6826d339ff454a76", "version": "17.12"}, {"file": "app-psql.html", "kind": "same-version-reviewed-manual", "locale": "zh-Hans", "sha256": "72c5d1a2c80c31246970e54811e0b6ea23a7c11cefe49b9e64efbb6b84781fa2", "version": "17.12"}], "release": "17.12", "source_revision": "pgdoc:b9f0e7232f60f380d642ac9b99226606c254b552", "runtime_remeasured": false}}, "18": {"lang": "zh", "facts": [{"label": "\u5ba2\u6237\u7aef", "value": "psql 18.7"}, {"label": "\u533a\u5206\u5927\u5c0f\u5199\u7684\u5199\u6cd5", "value": "\\ef"}], "tables": [{"key": "spellings", "rows": [{"command": {"url": "/wiki/psql/cmd-65-66/?v=18", "text": "\\ef"}, "modifiers": "\u6b64\u8bed\u6cd5\u7b7e\u540d\u672a\u5217\u51fa"}], "title": "\u672c\u7248\u624b\u518c\u4e2d\u7684\u5199\u6cd5", "columns": [{"key": "command", "label": "\u547d\u4ee4"}, {"key": "modifiers", "label": "\u624b\u518c\u4e2d\u7684\u540e\u7f00\u4fee\u9970\u7b26"}]}], "command": "\\ef", "related": [{"url": "/wiki/tool/psql/?v=18", "label": "psql \u547d\u4ee4\u884c\u9009\u9879\u53ca\u5b8c\u6574\u624b\u518c"}], "release": {"ref": "https://ftp.postgresql.org/pub/source/v18.7/postgresql-18.7.tar.bz2", "label": "18.7", "major": "18", "channel": "stable", "manifest": {"major": "18", "release": "18.7", "source_url": "https://ftp.postgresql.org/pub/source/v18.7/postgresql-18.7.tar.bz2", "source_sha256": "441dfae4280cae3e0425e5f876f80559fb0731c140f1aae22b3e5a54d0411bfd"}, "revision": "1b2d62b4845aa46374f2cb680f95d3392322cc8128646992ae4e18d0e7084915", "evidence_kind": "English manual and source declarations", "source_sha256": "441dfae4280cae3e0425e5f876f80559fb0731c140f1aae22b3e5a54d0411bfd"}, "sources": [{"url": "/docs/18/app-psql.html#APP-PSQL-META-COMMAND-EF", "file": "app-psql.html", "label": "18.7 English manual \u00b7 app-psql.html", "anchor": "APP-PSQL-META-COMMAND-EF", "sha256": "af50448485df02bdef2b72b8347192ba029c7082b8d0392ecb17db44ad533aaf"}], "zh_from": "same-version-manual", "facts_zh": [{"label": "\u5ba2\u6237\u7aef", "value": "psql 18.7"}, {"label": "\u533a\u5206\u5927\u5c0f\u5199\u7684\u5199\u6cd5", "value": "\\ef"}], "sections": [], "center_zh": {"locale": "zh-Hans", "payload": {"description_zh": "\u8fd9\u4e2a\u547d\u4ee4\u83b7\u53d6\u5e76\u7f16\u8f91\u6307\u5b9a\u51fd\u6570\u6216\u8fc7\u7a0b\u7684\u5b9a\u4e49\uff0c\u5f62\u5f0f\u4e3a CREATE OR REPLACE FUNCTION \u6216 CREATE OR REPLACE PROCEDURE \u547d\u4ee4\u3002\u7f16\u8f91\u65b9\u5f0f\u4e0e \\edit \u76f8\u540c\u3002\u5982\u679c\u5728\u4e0d\u4fdd\u5b58\u7684\u60c5\u51b5\u4e0b\u9000\u51fa\u7f16\u8f91\u5668\uff0c\u5219\u8be5\u8bed\u53e5\u4f1a\u88ab\u4e22\u5f03\u3002\u5982\u679c\u4fdd\u5b58\u5e76\u9000\u51fa\u7f16\u8f91\u5668\uff0c\u5e76\u5728\u5176\u4e2d\u6dfb\u52a0\u4e86\u5206\u53f7\uff0c\u5219\u66f4\u65b0\u540e\u7684\u547d\u4ee4\u4f1a\u7acb\u5373\u6267\u884c\u3002\u5426\u5219\u5b83\u4f1a\u91cd\u65b0\u663e\u793a\uff1b\u952e\u5165\u5206\u53f7\u6216 \\g \u53d1\u9001\u5b83\uff0c\u6216\u7528 \\r \u53d6\u6d88\u3002", "description_zh_html": "<dd><p>\n         \u8fd9\u4e2a\u547d\u4ee4\u83b7\u53d6\u5e76\u7f16\u8f91\u6307\u5b9a\u51fd\u6570\u6216\u8fc7\u7a0b\u7684\u5b9a\u4e49\uff0c\u5f62\u5f0f\u4e3a <code class=\"command\">CREATE OR REPLACE FUNCTION</code> \u6216\n         <code class=\"command\">CREATE OR REPLACE PROCEDURE</code> \u547d\u4ee4\u3002\u7f16\u8f91\u65b9\u5f0f\u4e0e<code class=\"literal\">\\edit</code> \u76f8\u540c\u3002\u5982\u679c\u5728\u4e0d\u4fdd\u5b58\u7684\u60c5\u51b5\u4e0b\u9000\u51fa\u7f16\u8f91\u5668\uff0c\u5219\u8be5\u8bed\u53e5\u4f1a\u88ab\u4e22\u5f03\u3002\u5982\u679c\u4fdd\u5b58\u5e76\u9000\u51fa\u7f16\u8f91\u5668\uff0c\u5e76\u5728\u5176\u4e2d\u6dfb\u52a0\u4e86\u5206\u53f7\uff0c\u5219\u66f4\u65b0\u540e\u7684\u547d\u4ee4\u4f1a\u7acb\u5373\u6267\u884c\u3002\u5426\u5219\u5b83\u4f1a\u91cd\u65b0\u663e\u793a\uff1b\u952e\u5165\u5206\u53f7\u6216<code class=\"literal\">\\g</code> \u53d1\u9001\u5b83\uff0c\u6216\u7528<code class=\"literal\">\\r</code> \u53d6\u6d88\u3002\n        </p><p>\n         \u76ee\u6807\u51fd\u6570\u53ef\u4ee5\u4ec5\u901a\u8fc7\u540d\u79f0\u6307\u5b9a\uff0c\u4e5f\u53ef\u4ee5\u901a\u8fc7\u540d\u79f0\u548c\u53c2\u6570\u6307\u5b9a\uff0c\u4f8b\u5982 <code class=\"literal\">foo(integer, text)</code>\u3002\u5982\u679c\u6709\u591a\u4e2a\u540c\u540d\u51fd\u6570\uff0c\u5219\u5fc5\u987b\u7ed9\u51fa\u53c2\u6570\u7c7b\u578b\u3002\n        </p><p>\n         \u5982\u679c\u672a\u6307\u5b9a\u51fd\u6570\uff0c\u5219\u4f1a\u5448\u73b0\u4e00\u4e2a\u7a7a\u7684 <code class=\"command\">CREATE FUNCTION</code> \u6a21\u677f\u4f9b\u7f16\u8f91\u3002\n        </p><p>\n        \u5982\u679c\u6307\u5b9a\u4e86\u884c\u53f7\uff0c<span class=\"application\">psql</span> \u5c06\u5149\u6807\u5b9a\u4f4d\u5728\u51fd\u6570\u4f53\u7684\u6307\u5b9a\u884c\u4e0a\u3002\uff08\u8bf7\u6ce8\u610f\uff0c\u51fd\u6570\u4f53\u901a\u5e38\u4e0d\u4f1a\u4ece\u6587\u4ef6\u7684\u7b2c\u4e00\u884c\u5f00\u59cb\u3002\uff09\n        </p><p>\n        \u4e0e\u5927\u591a\u6570\u5176\u4ed6\u5143\u547d\u4ee4\u4e0d\u540c\uff0c\u6574\u4e2a\u884c\u7684\u5269\u4f59\u90e8\u5206\u59cb\u7ec8\u88ab\u89c6\u4e3a<code class=\"command\">\\ef</code> \u7684\u53c2\u6570\uff0c\u53c2\u6570\u4e2d\u4e0d\u8fdb\u884c\u53d8\u91cf\u63d2\u503c\u6216\u53cd\u5f15\u53f7\u6269\u5c55\u3002\n        </p><div class=\"tip\"><h3 class=\"title\">\u63d0\u793a</h3><p>\n        \u5173\u4e8e\u5982\u4f55\u914d\u7f6e\u548c\u81ea\u5b9a\u4e49\u7f16\u8f91\u5668\uff0c\u8bf7\u53c2\u89c1\u4e0b\u9762\u7684<a class=\"xref\" href=\"/docs/18/app-psql.html#APP-PSQL-ENVIRONMENT\" title=\"\u73af\u5883\">\u73af\u5883</a>\u3002\n        </p></div></dd>"}, "summary": "\u8fd9\u4e2a\u547d\u4ee4\u83b7\u53d6\u5e76\u7f16\u8f91\u6307\u5b9a\u51fd\u6570\u6216\u8fc7\u7a0b\u7684\u5b9a\u4e49\uff0c\u5f62\u5f0f\u4e3a CREATE OR REPLACE FUNCTION \u6216 CREATE OR REPLACE PROCEDURE \u547d\u4ee4\u3002\u7f16\u8f91\u65b9\u5f0f\u4e0e \\edit \u76f8\u540c\u3002\u5982\u679c\u5728\u4e0d\u4fdd\u5b58\u7684\u60c5\u51b5\u4e0b\u9000\u51fa\u7f16\u8f91\u5668\uff0c\u5219\u8be5\u8bed\u53e5\u4f1a\u88ab\u4e22\u5f03\u3002\u5982\u679c\u4fdd\u5b58\u5e76\u9000\u51fa\u7f16\u8f91\u5668\uff0c\u5e76\u5728\u5176\u4e2d\u6dfb\u52a0\u4e86\u5206\u53f7\uff0c\u5219\u66f4\u65b0\u540e\u7684\u547d\u4ee4\u4f1a\u7acb\u5373\u6267\u884c\u3002\u5426\u5219\u5b83\u4f1a\u91cd\u65b0\u663e\u793a\uff1b\u952e\u5165\u5206\u53f7\u6216 \\g \u53d1\u9001\u5b83\uff0c\u6216\u7528 \\r \u53d6\u6d88\u3002", "body_html": "<dd><p>\n         \u8fd9\u4e2a\u547d\u4ee4\u83b7\u53d6\u5e76\u7f16\u8f91\u6307\u5b9a\u51fd\u6570\u6216\u8fc7\u7a0b\u7684\u5b9a\u4e49\uff0c\u5f62\u5f0f\u4e3a <code class=\"command\">CREATE OR REPLACE FUNCTION</code> \u6216\n         <code class=\"command\">CREATE OR REPLACE PROCEDURE</code> \u547d\u4ee4\u3002\u7f16\u8f91\u65b9\u5f0f\u4e0e<code class=\"literal\">\\edit</code> \u76f8\u540c\u3002\u5982\u679c\u5728\u4e0d\u4fdd\u5b58\u7684\u60c5\u51b5\u4e0b\u9000\u51fa\u7f16\u8f91\u5668\uff0c\u5219\u8be5\u8bed\u53e5\u4f1a\u88ab\u4e22\u5f03\u3002\u5982\u679c\u4fdd\u5b58\u5e76\u9000\u51fa\u7f16\u8f91\u5668\uff0c\u5e76\u5728\u5176\u4e2d\u6dfb\u52a0\u4e86\u5206\u53f7\uff0c\u5219\u66f4\u65b0\u540e\u7684\u547d\u4ee4\u4f1a\u7acb\u5373\u6267\u884c\u3002\u5426\u5219\u5b83\u4f1a\u91cd\u65b0\u663e\u793a\uff1b\u952e\u5165\u5206\u53f7\u6216<code class=\"literal\">\\g</code> \u53d1\u9001\u5b83\uff0c\u6216\u7528<code class=\"literal\">\\r</code> \u53d6\u6d88\u3002\n        </p><p>\n         \u76ee\u6807\u51fd\u6570\u53ef\u4ee5\u4ec5\u901a\u8fc7\u540d\u79f0\u6307\u5b9a\uff0c\u4e5f\u53ef\u4ee5\u901a\u8fc7\u540d\u79f0\u548c\u53c2\u6570\u6307\u5b9a\uff0c\u4f8b\u5982 <code class=\"literal\">foo(integer, text)</code>\u3002\u5982\u679c\u6709\u591a\u4e2a\u540c\u540d\u51fd\u6570\uff0c\u5219\u5fc5\u987b\u7ed9\u51fa\u53c2\u6570\u7c7b\u578b\u3002\n        </p><p>\n         \u5982\u679c\u672a\u6307\u5b9a\u51fd\u6570\uff0c\u5219\u4f1a\u5448\u73b0\u4e00\u4e2a\u7a7a\u7684 <code class=\"command\">CREATE FUNCTION</code> \u6a21\u677f\u4f9b\u7f16\u8f91\u3002\n        </p><p>\n        \u5982\u679c\u6307\u5b9a\u4e86\u884c\u53f7\uff0c<span class=\"application\">psql</span> \u5c06\u5149\u6807\u5b9a\u4f4d\u5728\u51fd\u6570\u4f53\u7684\u6307\u5b9a\u884c\u4e0a\u3002\uff08\u8bf7\u6ce8\u610f\uff0c\u51fd\u6570\u4f53\u901a\u5e38\u4e0d\u4f1a\u4ece\u6587\u4ef6\u7684\u7b2c\u4e00\u884c\u5f00\u59cb\u3002\uff09\n        </p><p>\n        \u4e0e\u5927\u591a\u6570\u5176\u4ed6\u5143\u547d\u4ee4\u4e0d\u540c\uff0c\u6574\u4e2a\u884c\u7684\u5269\u4f59\u90e8\u5206\u59cb\u7ec8\u88ab\u89c6\u4e3a<code class=\"command\">\\ef</code> \u7684\u53c2\u6570\uff0c\u53c2\u6570\u4e2d\u4e0d\u8fdb\u884c\u53d8\u91cf\u63d2\u503c\u6216\u53cd\u5f15\u53f7\u6269\u5c55\u3002\n        </p><div class=\"tip\"><h3 class=\"title\">\u63d0\u793a</h3><p>\n        \u5173\u4e8e\u5982\u4f55\u914d\u7f6e\u548c\u81ea\u5b9a\u4e49\u7f16\u8f91\u5668\uff0c\u8bf7\u53c2\u89c1\u4e0b\u9762\u7684<a class=\"xref\" href=\"/docs/18/app-psql.html#APP-PSQL-ENVIRONMENT\" title=\"\u73af\u5883\">\u73af\u5883</a>\u3002\n        </p></div></dd>", "body_sha256": "34ad6c1a2783cbd0b9ca2044673fca1c66b019abf730e7d5ecf8145f6fb4c31f", "content_hash": "91aebfc0813ed8d2c29add0bcac77320aaeba4a57e7d9db115c10a3150f68806", "source_revision": "pgdoc:b9f0e7232f60f380d642ac9b99226606c254b552", "definition_version": "18", "documentation_release": "18.7"}, "modifiers": [], "signature": "\\ef [ function_description [ line_number ] ]", "spellings": ["\\ef"], "tables_zh": [{"key": "spellings", "rows": [{"command": {"url": "/wiki/psql/cmd-65-66/?v=18", "text": "\\ef"}, "modifiers": "\u6b64\u8bed\u6cd5\u7b7e\u540d\u672a\u5217\u51fa"}], "title": "\u672c\u7248\u624b\u518c\u4e2d\u7684\u5199\u6cd5", "columns": [{"key": "command", "label": "\u547d\u4ee4"}, {"key": "modifiers", "label": "\u624b\u518c\u4e2d\u7684\u540e\u7f00\u4fee\u9970\u7b26"}]}], "related_zh": [{"url": "/wiki/tool/psql/?v=18", "label": "psql \u547d\u4ee4\u884c\u9009\u9879\u53ca\u5b8c\u6574\u624b\u518c"}], "description": ["\u8fd9\u4e2a\u547d\u4ee4\u83b7\u53d6\u5e76\u7f16\u8f91\u6307\u5b9a\u51fd\u6570\u6216\u8fc7\u7a0b\u7684\u5b9a\u4e49\uff0c\u5f62\u5f0f\u4e3a CREATE OR REPLACE FUNCTION \u6216 CREATE OR REPLACE PROCEDURE \u547d\u4ee4\u3002\u7f16\u8f91\u65b9\u5f0f\u4e0e \\edit \u76f8\u540c\u3002\u5982\u679c\u5728\u4e0d\u4fdd\u5b58\u7684\u60c5\u51b5\u4e0b\u9000\u51fa\u7f16\u8f91\u5668\uff0c\u5219\u8be5\u8bed\u53e5\u4f1a\u88ab\u4e22\u5f03\u3002\u5982\u679c\u4fdd\u5b58\u5e76\u9000\u51fa\u7f16\u8f91\u5668\uff0c\u5e76\u5728\u5176\u4e2d\u6dfb\u52a0\u4e86\u5206\u53f7\uff0c\u5219\u66f4\u65b0\u540e\u7684\u547d\u4ee4\u4f1a\u7acb\u5373\u6267\u884c\u3002\u5426\u5219\u5b83\u4f1a\u91cd\u65b0\u663e\u793a\uff1b\u952e\u5165\u5206\u53f7\u6216 \\g \u53d1\u9001\u5b83\uff0c\u6216\u7528 \\r \u53d6\u6d88\u3002"], "manual_html": "<dd><p>\n         \u8fd9\u4e2a\u547d\u4ee4\u83b7\u53d6\u5e76\u7f16\u8f91\u6307\u5b9a\u51fd\u6570\u6216\u8fc7\u7a0b\u7684\u5b9a\u4e49\uff0c\u5f62\u5f0f\u4e3a <code class=\"command\">CREATE OR REPLACE FUNCTION</code> \u6216\n         <code class=\"command\">CREATE OR REPLACE PROCEDURE</code> \u547d\u4ee4\u3002\u7f16\u8f91\u65b9\u5f0f\u4e0e<code class=\"literal\">\\edit</code> \u76f8\u540c\u3002\u5982\u679c\u5728\u4e0d\u4fdd\u5b58\u7684\u60c5\u51b5\u4e0b\u9000\u51fa\u7f16\u8f91\u5668\uff0c\u5219\u8be5\u8bed\u53e5\u4f1a\u88ab\u4e22\u5f03\u3002\u5982\u679c\u4fdd\u5b58\u5e76\u9000\u51fa\u7f16\u8f91\u5668\uff0c\u5e76\u5728\u5176\u4e2d\u6dfb\u52a0\u4e86\u5206\u53f7\uff0c\u5219\u66f4\u65b0\u540e\u7684\u547d\u4ee4\u4f1a\u7acb\u5373\u6267\u884c\u3002\u5426\u5219\u5b83\u4f1a\u91cd\u65b0\u663e\u793a\uff1b\u952e\u5165\u5206\u53f7\u6216<code class=\"literal\">\\g</code> \u53d1\u9001\u5b83\uff0c\u6216\u7528<code class=\"literal\">\\r</code> \u53d6\u6d88\u3002\n        </p><p>\n         \u76ee\u6807\u51fd\u6570\u53ef\u4ee5\u4ec5\u901a\u8fc7\u540d\u79f0\u6307\u5b9a\uff0c\u4e5f\u53ef\u4ee5\u901a\u8fc7\u540d\u79f0\u548c\u53c2\u6570\u6307\u5b9a\uff0c\u4f8b\u5982 <code class=\"literal\">foo(integer, text)</code>\u3002\u5982\u679c\u6709\u591a\u4e2a\u540c\u540d\u51fd\u6570\uff0c\u5219\u5fc5\u987b\u7ed9\u51fa\u53c2\u6570\u7c7b\u578b\u3002\n        </p><p>\n         \u5982\u679c\u672a\u6307\u5b9a\u51fd\u6570\uff0c\u5219\u4f1a\u5448\u73b0\u4e00\u4e2a\u7a7a\u7684 <code class=\"command\">CREATE FUNCTION</code> \u6a21\u677f\u4f9b\u7f16\u8f91\u3002\n        </p><p>\n        \u5982\u679c\u6307\u5b9a\u4e86\u884c\u53f7\uff0c<span class=\"application\">psql</span> \u5c06\u5149\u6807\u5b9a\u4f4d\u5728\u51fd\u6570\u4f53\u7684\u6307\u5b9a\u884c\u4e0a\u3002\uff08\u8bf7\u6ce8\u610f\uff0c\u51fd\u6570\u4f53\u901a\u5e38\u4e0d\u4f1a\u4ece\u6587\u4ef6\u7684\u7b2c\u4e00\u884c\u5f00\u59cb\u3002\uff09\n        </p><p>\n        \u4e0e\u5927\u591a\u6570\u5176\u4ed6\u5143\u547d\u4ee4\u4e0d\u540c\uff0c\u6574\u4e2a\u884c\u7684\u5269\u4f59\u90e8\u5206\u59cb\u7ec8\u88ab\u89c6\u4e3a<code class=\"command\">\\ef</code> \u7684\u53c2\u6570\uff0c\u53c2\u6570\u4e2d\u4e0d\u8fdb\u884c\u53d8\u91cf\u63d2\u503c\u6216\u53cd\u5f15\u53f7\u6269\u5c55\u3002\n        </p><div class=\"tip\"><h3 class=\"title\">\u63d0\u793a</h3><p>\n        \u5173\u4e8e\u5982\u4f55\u914d\u7f6e\u548c\u81ea\u5b9a\u4e49\u7f16\u8f91\u5668\uff0c\u8bf7\u53c2\u89c1\u4e0b\u9762\u7684<a class=\"xref\" href=\"/docs/18/app-psql.html#APP-PSQL-ENVIRONMENT\" title=\"\u73af\u5883\">\u73af\u5883</a>\u3002\n        </p></div></dd>", "manual_path": "app-psql.html#APP-PSQL-META-COMMAND-EF", "sections_zh": [], "localization": {"status": "same-version-reviewed-manual", "language": "zh", "source_language": "en", "source_revision": "pgdoc:b9f0e7232f60f380d642ac9b99226606c254b552", "documentation_release": "18.7"}, "description_zh": "\u8fd9\u4e2a\u547d\u4ee4\u83b7\u53d6\u5e76\u7f16\u8f91\u6307\u5b9a\u51fd\u6570\u6216\u8fc7\u7a0b\u7684\u5b9a\u4e49\uff0c\u5f62\u5f0f\u4e3a CREATE OR REPLACE FUNCTION \u6216 CREATE OR REPLACE PROCEDURE \u547d\u4ee4\u3002\u7f16\u8f91\u65b9\u5f0f\u4e0e \\edit \u76f8\u540c\u3002\u5982\u679c\u5728\u4e0d\u4fdd\u5b58\u7684\u60c5\u51b5\u4e0b\u9000\u51fa\u7f16\u8f91\u5668\uff0c\u5219\u8be5\u8bed\u53e5\u4f1a\u88ab\u4e22\u5f03\u3002\u5982\u679c\u4fdd\u5b58\u5e76\u9000\u51fa\u7f16\u8f91\u5668\uff0c\u5e76\u5728\u5176\u4e2d\u6dfb\u52a0\u4e86\u5206\u53f7\uff0c\u5219\u66f4\u65b0\u540e\u7684\u547d\u4ee4\u4f1a\u7acb\u5373\u6267\u884c\u3002\u5426\u5219\u5b83\u4f1a\u91cd\u65b0\u663e\u793a\uff1b\u952e\u5165\u5206\u53f7\u6216 \\g \u53d1\u9001\u5b83\uff0c\u6216\u7528 \\r \u53d6\u6d88\u3002", "comparison_data": {"modifiers": [], "signature": "\\ef [ function_description [ line_number ] ]", "spellings": ["\\ef"], "definition": "This command fetches and edits the definition of the named function or procedure, in the form of a CREATE OR REPLACE FUNCTION or CREATE OR REPLACE PROCEDURE command. Editing is done in the same way as for \\edit . If you quit the editor without saving, the statement is discarded. If you save and exit the editor, the updated command is executed immediately if you added a semicolon to it. Otherwise it is redisplayed; type semicolon or \\g to send it, or \\r to cancel. The target function can be specified by name alone, or by name and arguments, for example foo(integer, text) . The argument types must be given if there is more than one function of the same name. If no function is specified, a blank CREATE FUNCTION template is presented for editing. If a line number is specified, psql will position the cursor on the specified line of the function body. (Note that the function body typically does not begin on the first line of the file.) Unlike most other meta-commands, the entire remainder of the line is always taken to be the argument(s) of \\ef , and neither variable interpolation nor backquote expansion are performed in the arguments. Tip See Environment , below, for how to configure and customize your editor."}, "comparison_hash": "c6f53578cbd03f42a5ee2d84af67e951894977f92c34d928eb87890b8e81638e", "manual_language": "zh", "description_zh_html": "<dd><p>\n         \u8fd9\u4e2a\u547d\u4ee4\u83b7\u53d6\u5e76\u7f16\u8f91\u6307\u5b9a\u51fd\u6570\u6216\u8fc7\u7a0b\u7684\u5b9a\u4e49\uff0c\u5f62\u5f0f\u4e3a <code class=\"command\">CREATE OR REPLACE FUNCTION</code> \u6216\n         <code class=\"command\">CREATE OR REPLACE PROCEDURE</code> \u547d\u4ee4\u3002\u7f16\u8f91\u65b9\u5f0f\u4e0e<code class=\"literal\">\\edit</code> \u76f8\u540c\u3002\u5982\u679c\u5728\u4e0d\u4fdd\u5b58\u7684\u60c5\u51b5\u4e0b\u9000\u51fa\u7f16\u8f91\u5668\uff0c\u5219\u8be5\u8bed\u53e5\u4f1a\u88ab\u4e22\u5f03\u3002\u5982\u679c\u4fdd\u5b58\u5e76\u9000\u51fa\u7f16\u8f91\u5668\uff0c\u5e76\u5728\u5176\u4e2d\u6dfb\u52a0\u4e86\u5206\u53f7\uff0c\u5219\u66f4\u65b0\u540e\u7684\u547d\u4ee4\u4f1a\u7acb\u5373\u6267\u884c\u3002\u5426\u5219\u5b83\u4f1a\u91cd\u65b0\u663e\u793a\uff1b\u952e\u5165\u5206\u53f7\u6216<code class=\"literal\">\\g</code> \u53d1\u9001\u5b83\uff0c\u6216\u7528<code class=\"literal\">\\r</code> \u53d6\u6d88\u3002\n        </p><p>\n         \u76ee\u6807\u51fd\u6570\u53ef\u4ee5\u4ec5\u901a\u8fc7\u540d\u79f0\u6307\u5b9a\uff0c\u4e5f\u53ef\u4ee5\u901a\u8fc7\u540d\u79f0\u548c\u53c2\u6570\u6307\u5b9a\uff0c\u4f8b\u5982 <code class=\"literal\">foo(integer, text)</code>\u3002\u5982\u679c\u6709\u591a\u4e2a\u540c\u540d\u51fd\u6570\uff0c\u5219\u5fc5\u987b\u7ed9\u51fa\u53c2\u6570\u7c7b\u578b\u3002\n        </p><p>\n         \u5982\u679c\u672a\u6307\u5b9a\u51fd\u6570\uff0c\u5219\u4f1a\u5448\u73b0\u4e00\u4e2a\u7a7a\u7684 <code class=\"command\">CREATE FUNCTION</code> \u6a21\u677f\u4f9b\u7f16\u8f91\u3002\n        </p><p>\n        \u5982\u679c\u6307\u5b9a\u4e86\u884c\u53f7\uff0c<span class=\"application\">psql</span> \u5c06\u5149\u6807\u5b9a\u4f4d\u5728\u51fd\u6570\u4f53\u7684\u6307\u5b9a\u884c\u4e0a\u3002\uff08\u8bf7\u6ce8\u610f\uff0c\u51fd\u6570\u4f53\u901a\u5e38\u4e0d\u4f1a\u4ece\u6587\u4ef6\u7684\u7b2c\u4e00\u884c\u5f00\u59cb\u3002\uff09\n        </p><p>\n        \u4e0e\u5927\u591a\u6570\u5176\u4ed6\u5143\u547d\u4ee4\u4e0d\u540c\uff0c\u6574\u4e2a\u884c\u7684\u5269\u4f59\u90e8\u5206\u59cb\u7ec8\u88ab\u89c6\u4e3a<code class=\"command\">\\ef</code> \u7684\u53c2\u6570\uff0c\u53c2\u6570\u4e2d\u4e0d\u8fdb\u884c\u53d8\u91cf\u63d2\u503c\u6216\u53cd\u5f15\u53f7\u6269\u5c55\u3002\n        </p><div class=\"tip\"><h3 class=\"title\">\u63d0\u793a</h3><p>\n        \u5173\u4e8e\u5982\u4f55\u914d\u7f6e\u548c\u81ea\u5b9a\u4e49\u7f16\u8f91\u5668\uff0c\u8bf7\u53c2\u89c1\u4e0b\u9762\u7684<a class=\"xref\" href=\"/docs/18/app-psql.html#APP-PSQL-ENVIRONMENT\" title=\"\u73af\u5883\">\u73af\u5883</a>\u3002\n        </p></div></dd>", "documentation_revision": {"inputs": [{"file": "app-psql.html", "kind": "same-version-reviewed-manual", "locale": "en", "sha256": "af50448485df02bdef2b72b8347192ba029c7082b8d0392ecb17db44ad533aaf", "version": "18.7"}, {"file": "app-psql.html", "kind": "same-version-reviewed-manual", "locale": "zh-Hans", "sha256": "cb475c53a16d9e06358f5e6c9c5649645db92568cfd319f230c62c9f57ae090b", "version": "18.7"}], "release": "18.7", "source_revision": "pgdoc:b9f0e7232f60f380d642ac9b99226606c254b552", "runtime_remeasured": false}, "center_zh_rendered": "<dl><dd><p>\n         \u8fd9\u4e2a\u547d\u4ee4\u83b7\u53d6\u5e76\u7f16\u8f91\u6307\u5b9a\u51fd\u6570\u6216\u8fc7\u7a0b\u7684\u5b9a\u4e49\uff0c\u5f62\u5f0f\u4e3a <code class=\"command\">CREATE OR REPLACE FUNCTION</code> \u6216\n         <code class=\"command\">CREATE OR REPLACE PROCEDURE</code> \u547d\u4ee4\u3002\u7f16\u8f91\u65b9\u5f0f\u4e0e<code class=\"literal\">\\edit</code> \u76f8\u540c\u3002\u5982\u679c\u5728\u4e0d\u4fdd\u5b58\u7684\u60c5\u51b5\u4e0b\u9000\u51fa\u7f16\u8f91\u5668\uff0c\u5219\u8be5\u8bed\u53e5\u4f1a\u88ab\u4e22\u5f03\u3002\u5982\u679c\u4fdd\u5b58\u5e76\u9000\u51fa\u7f16\u8f91\u5668\uff0c\u5e76\u5728\u5176\u4e2d\u6dfb\u52a0\u4e86\u5206\u53f7\uff0c\u5219\u66f4\u65b0\u540e\u7684\u547d\u4ee4\u4f1a\u7acb\u5373\u6267\u884c\u3002\u5426\u5219\u5b83\u4f1a\u91cd\u65b0\u663e\u793a\uff1b\u952e\u5165\u5206\u53f7\u6216<code class=\"literal\">\\g</code> \u53d1\u9001\u5b83\uff0c\u6216\u7528<code class=\"literal\">\\r</code> \u53d6\u6d88\u3002\n        </p><p>\n         \u76ee\u6807\u51fd\u6570\u53ef\u4ee5\u4ec5\u901a\u8fc7\u540d\u79f0\u6307\u5b9a\uff0c\u4e5f\u53ef\u4ee5\u901a\u8fc7\u540d\u79f0\u548c\u53c2\u6570\u6307\u5b9a\uff0c\u4f8b\u5982 <code class=\"literal\">foo(integer, text)</code>\u3002\u5982\u679c\u6709\u591a\u4e2a\u540c\u540d\u51fd\u6570\uff0c\u5219\u5fc5\u987b\u7ed9\u51fa\u53c2\u6570\u7c7b\u578b\u3002\n        </p><p>\n         \u5982\u679c\u672a\u6307\u5b9a\u51fd\u6570\uff0c\u5219\u4f1a\u5448\u73b0\u4e00\u4e2a\u7a7a\u7684 <code class=\"command\">CREATE FUNCTION</code> \u6a21\u677f\u4f9b\u7f16\u8f91\u3002\n        </p><p>\n        \u5982\u679c\u6307\u5b9a\u4e86\u884c\u53f7\uff0c<span class=\"application\">psql</span> \u5c06\u5149\u6807\u5b9a\u4f4d\u5728\u51fd\u6570\u4f53\u7684\u6307\u5b9a\u884c\u4e0a\u3002\uff08\u8bf7\u6ce8\u610f\uff0c\u51fd\u6570\u4f53\u901a\u5e38\u4e0d\u4f1a\u4ece\u6587\u4ef6\u7684\u7b2c\u4e00\u884c\u5f00\u59cb\u3002\uff09\n        </p><p>\n        \u4e0e\u5927\u591a\u6570\u5176\u4ed6\u5143\u547d\u4ee4\u4e0d\u540c\uff0c\u6574\u4e2a\u884c\u7684\u5269\u4f59\u90e8\u5206\u59cb\u7ec8\u88ab\u89c6\u4e3a<code class=\"command\">\\ef</code> \u7684\u53c2\u6570\uff0c\u53c2\u6570\u4e2d\u4e0d\u8fdb\u884c\u53d8\u91cf\u63d2\u503c\u6216\u53cd\u5f15\u53f7\u6269\u5c55\u3002\n        </p><div class=\"tip\"><h3 class=\"title\">\u63d0\u793a</h3><p>\n        \u5173\u4e8e\u5982\u4f55\u914d\u7f6e\u548c\u81ea\u5b9a\u4e49\u7f16\u8f91\u5668\uff0c\u8bf7\u53c2\u89c1\u4e0b\u9762\u7684<a class=\"xref\" href=\"/docs/18/app-psql.html#APP-PSQL-ENVIRONMENT\" title=\"\u73af\u5883\">\u73af\u5883</a>\u3002\n        </p></div></dd></dl>"}, "19": {"lang": "zh", "facts": [{"label": "\u5ba2\u6237\u7aef", "value": "psql 19rc2"}, {"label": "\u533a\u5206\u5927\u5c0f\u5199\u7684\u5199\u6cd5", "value": "\\ef"}], "tables": [{"key": "spellings", "rows": [{"command": {"url": "/wiki/psql/cmd-65-66/?v=19", "text": "\\ef"}, "modifiers": "\u6b64\u8bed\u6cd5\u7b7e\u540d\u672a\u5217\u51fa"}], "title": "\u672c\u7248\u624b\u518c\u4e2d\u7684\u5199\u6cd5", "columns": [{"key": "command", "label": "\u547d\u4ee4"}, {"key": "modifiers", "label": "\u624b\u518c\u4e2d\u7684\u540e\u7f00\u4fee\u9970\u7b26"}]}], "command": "\\ef", "related": [{"url": "/wiki/tool/psql/?v=19", "label": "psql \u547d\u4ee4\u884c\u9009\u9879\u53ca\u5b8c\u6574\u624b\u518c"}], "release": {"ref": "https://ftp.postgresql.org/pub/source/v19rc2/postgresql-19rc2.tar.bz2", "label": "19rc2", "major": "19", "channel": "preview", "manifest": {"major": "19", "release": "19rc2", "source_url": "https://ftp.postgresql.org/pub/source/v19rc2/postgresql-19rc2.tar.bz2", "source_sha256": "23a7bb862e4bac395c047305ed0084117b01e71255ce858b907cdcd78ce40351"}, "revision": "cd49a2a98fed04eec7571858125796f86e63613d1985225049f2aa8b0955f256", "evidence_kind": "English manual and source declarations", "source_sha256": "23a7bb862e4bac395c047305ed0084117b01e71255ce858b907cdcd78ce40351"}, "sources": [{"url": "/docs/19/app-psql.html#APP-PSQL-META-COMMAND-EF", "file": "app-psql.html", "label": "19rc2 English manual \u00b7 app-psql.html", "anchor": "APP-PSQL-META-COMMAND-EF", "sha256": "88aeb3d77ad0a535a6a363215f0ac18936c368ac157e694ad30fea3c1ee30218"}], "zh_from": "same-version-manual", "facts_zh": [{"label": "\u5ba2\u6237\u7aef", "value": "psql 19rc2"}, {"label": "\u533a\u5206\u5927\u5c0f\u5199\u7684\u5199\u6cd5", "value": "\\ef"}], "sections": [], "center_zh": {"locale": "zh-Hans", "payload": {"description_zh": "\u8fd9\u4e2a\u547d\u4ee4\u83b7\u53d6\u5e76\u7f16\u8f91\u6307\u5b9a\u51fd\u6570\u6216\u8fc7\u7a0b\u7684\u5b9a\u4e49\uff0c\u5f62\u5f0f\u4e3a CREATE OR REPLACE FUNCTION \u6216 CREATE OR REPLACE PROCEDURE \u547d\u4ee4\u3002\u7f16\u8f91\u65b9\u5f0f\u4e0e \\edit \u76f8\u540c\u3002\u5982\u679c\u5728\u4e0d\u4fdd\u5b58\u7684\u60c5\u51b5\u4e0b\u9000\u51fa\u7f16\u8f91\u5668\uff0c\u5219\u8be5\u8bed\u53e5\u4f1a\u88ab\u4e22\u5f03\u3002\u5982\u679c\u4fdd\u5b58\u5e76\u9000\u51fa\u7f16\u8f91\u5668\uff0c\u5e76\u5728\u5176\u4e2d\u6dfb\u52a0\u4e86\u5206\u53f7\uff0c\u5219\u66f4\u65b0\u540e\u7684\u547d\u4ee4\u4f1a\u7acb\u5373\u6267\u884c\u3002\u5426\u5219\u5b83\u4f1a\u91cd\u65b0\u663e\u793a\uff1b\u952e\u5165\u5206\u53f7\u6216 \\g \u53d1\u9001\u5b83\uff0c\u6216\u7528 \\r \u53d6\u6d88\u3002", "description_zh_html": "<dd><p>\n         \u8fd9\u4e2a\u547d\u4ee4\u83b7\u53d6\u5e76\u7f16\u8f91\u6307\u5b9a\u51fd\u6570\u6216\u8fc7\u7a0b\u7684\u5b9a\u4e49\uff0c\u5f62\u5f0f\u4e3a <code class=\"command\">CREATE OR REPLACE FUNCTION</code> \u6216\n         <code class=\"command\">CREATE OR REPLACE PROCEDURE</code> \u547d\u4ee4\u3002\u7f16\u8f91\u65b9\u5f0f\u4e0e<code class=\"literal\">\\edit</code> \u76f8\u540c\u3002\u5982\u679c\u5728\u4e0d\u4fdd\u5b58\u7684\u60c5\u51b5\u4e0b\u9000\u51fa\u7f16\u8f91\u5668\uff0c\u5219\u8be5\u8bed\u53e5\u4f1a\u88ab\u4e22\u5f03\u3002\u5982\u679c\u4fdd\u5b58\u5e76\u9000\u51fa\u7f16\u8f91\u5668\uff0c\u5e76\u5728\u5176\u4e2d\u6dfb\u52a0\u4e86\u5206\u53f7\uff0c\u5219\u66f4\u65b0\u540e\u7684\u547d\u4ee4\u4f1a\u7acb\u5373\u6267\u884c\u3002\u5426\u5219\u5b83\u4f1a\u91cd\u65b0\u663e\u793a\uff1b\u952e\u5165\u5206\u53f7\u6216<code class=\"literal\">\\g</code> \u53d1\u9001\u5b83\uff0c\u6216\u7528<code class=\"literal\">\\r</code> \u53d6\u6d88\u3002\n        </p><p>\n         \u76ee\u6807\u51fd\u6570\u53ef\u4ee5\u4ec5\u901a\u8fc7\u540d\u79f0\u6307\u5b9a\uff0c\u4e5f\u53ef\u4ee5\u901a\u8fc7\u540d\u79f0\u548c\u53c2\u6570\u6307\u5b9a\uff0c\u4f8b\u5982 <code class=\"literal\">foo(integer, text)</code>\u3002\u5982\u679c\u6709\u591a\u4e2a\u540c\u540d\u51fd\u6570\uff0c\u5219\u5fc5\u987b\u7ed9\u51fa\u53c2\u6570\u7c7b\u578b\u3002\n        </p><p>\n         \u5982\u679c\u672a\u6307\u5b9a\u51fd\u6570\uff0c\u5219\u4f1a\u5448\u73b0\u4e00\u4e2a\u7a7a\u7684 <code class=\"command\">CREATE FUNCTION</code> \u6a21\u677f\u4f9b\u7f16\u8f91\u3002\n        </p><p>\n        \u5982\u679c\u6307\u5b9a\u4e86\u884c\u53f7\uff0c<span class=\"application\">psql</span> \u5c06\u5149\u6807\u5b9a\u4f4d\u5728\u51fd\u6570\u4f53\u7684\u6307\u5b9a\u884c\u4e0a\u3002\uff08\u8bf7\u6ce8\u610f\uff0c\u51fd\u6570\u4f53\u901a\u5e38\u4e0d\u4f1a\u4ece\u6587\u4ef6\u7684\u7b2c\u4e00\u884c\u5f00\u59cb\u3002\uff09\n        </p><p>\n        \u4e0e\u5927\u591a\u6570\u5176\u4ed6\u5143\u547d\u4ee4\u4e0d\u540c\uff0c\u6574\u4e2a\u884c\u7684\u5269\u4f59\u90e8\u5206\u59cb\u7ec8\u88ab\u89c6\u4e3a<code class=\"command\">\\ef</code> \u7684\u53c2\u6570\uff0c\u53c2\u6570\u4e2d\u4e0d\u8fdb\u884c\u53d8\u91cf\u63d2\u503c\u6216\u53cd\u5f15\u53f7\u6269\u5c55\u3002\n        </p><div class=\"tip\"><h3 class=\"title\">\u63d0\u793a</h3><p>\n        \u5173\u4e8e\u5982\u4f55\u914d\u7f6e\u548c\u81ea\u5b9a\u4e49\u7f16\u8f91\u5668\uff0c\u8bf7\u53c2\u89c1\u4e0b\u9762\u7684<a class=\"xref\" href=\"/docs/19/app-psql.html#APP-PSQL-ENVIRONMENT\" title=\"\u73af\u5883\">\u73af\u5883</a>\u3002\n        </p></div></dd>"}, "summary": "\u8fd9\u4e2a\u547d\u4ee4\u83b7\u53d6\u5e76\u7f16\u8f91\u6307\u5b9a\u51fd\u6570\u6216\u8fc7\u7a0b\u7684\u5b9a\u4e49\uff0c\u5f62\u5f0f\u4e3a CREATE OR REPLACE FUNCTION \u6216 CREATE OR REPLACE PROCEDURE \u547d\u4ee4\u3002\u7f16\u8f91\u65b9\u5f0f\u4e0e \\edit \u76f8\u540c\u3002\u5982\u679c\u5728\u4e0d\u4fdd\u5b58\u7684\u60c5\u51b5\u4e0b\u9000\u51fa\u7f16\u8f91\u5668\uff0c\u5219\u8be5\u8bed\u53e5\u4f1a\u88ab\u4e22\u5f03\u3002\u5982\u679c\u4fdd\u5b58\u5e76\u9000\u51fa\u7f16\u8f91\u5668\uff0c\u5e76\u5728\u5176\u4e2d\u6dfb\u52a0\u4e86\u5206\u53f7\uff0c\u5219\u66f4\u65b0\u540e\u7684\u547d\u4ee4\u4f1a\u7acb\u5373\u6267\u884c\u3002\u5426\u5219\u5b83\u4f1a\u91cd\u65b0\u663e\u793a\uff1b\u952e\u5165\u5206\u53f7\u6216 \\g \u53d1\u9001\u5b83\uff0c\u6216\u7528 \\r \u53d6\u6d88\u3002", "body_html": "<dd><p>\n         \u8fd9\u4e2a\u547d\u4ee4\u83b7\u53d6\u5e76\u7f16\u8f91\u6307\u5b9a\u51fd\u6570\u6216\u8fc7\u7a0b\u7684\u5b9a\u4e49\uff0c\u5f62\u5f0f\u4e3a <code class=\"command\">CREATE OR REPLACE FUNCTION</code> \u6216\n         <code class=\"command\">CREATE OR REPLACE PROCEDURE</code> \u547d\u4ee4\u3002\u7f16\u8f91\u65b9\u5f0f\u4e0e<code class=\"literal\">\\edit</code> \u76f8\u540c\u3002\u5982\u679c\u5728\u4e0d\u4fdd\u5b58\u7684\u60c5\u51b5\u4e0b\u9000\u51fa\u7f16\u8f91\u5668\uff0c\u5219\u8be5\u8bed\u53e5\u4f1a\u88ab\u4e22\u5f03\u3002\u5982\u679c\u4fdd\u5b58\u5e76\u9000\u51fa\u7f16\u8f91\u5668\uff0c\u5e76\u5728\u5176\u4e2d\u6dfb\u52a0\u4e86\u5206\u53f7\uff0c\u5219\u66f4\u65b0\u540e\u7684\u547d\u4ee4\u4f1a\u7acb\u5373\u6267\u884c\u3002\u5426\u5219\u5b83\u4f1a\u91cd\u65b0\u663e\u793a\uff1b\u952e\u5165\u5206\u53f7\u6216<code class=\"literal\">\\g</code> \u53d1\u9001\u5b83\uff0c\u6216\u7528<code class=\"literal\">\\r</code> \u53d6\u6d88\u3002\n        </p><p>\n         \u76ee\u6807\u51fd\u6570\u53ef\u4ee5\u4ec5\u901a\u8fc7\u540d\u79f0\u6307\u5b9a\uff0c\u4e5f\u53ef\u4ee5\u901a\u8fc7\u540d\u79f0\u548c\u53c2\u6570\u6307\u5b9a\uff0c\u4f8b\u5982 <code class=\"literal\">foo(integer, text)</code>\u3002\u5982\u679c\u6709\u591a\u4e2a\u540c\u540d\u51fd\u6570\uff0c\u5219\u5fc5\u987b\u7ed9\u51fa\u53c2\u6570\u7c7b\u578b\u3002\n        </p><p>\n         \u5982\u679c\u672a\u6307\u5b9a\u51fd\u6570\uff0c\u5219\u4f1a\u5448\u73b0\u4e00\u4e2a\u7a7a\u7684 <code class=\"command\">CREATE FUNCTION</code> \u6a21\u677f\u4f9b\u7f16\u8f91\u3002\n        </p><p>\n        \u5982\u679c\u6307\u5b9a\u4e86\u884c\u53f7\uff0c<span class=\"application\">psql</span> \u5c06\u5149\u6807\u5b9a\u4f4d\u5728\u51fd\u6570\u4f53\u7684\u6307\u5b9a\u884c\u4e0a\u3002\uff08\u8bf7\u6ce8\u610f\uff0c\u51fd\u6570\u4f53\u901a\u5e38\u4e0d\u4f1a\u4ece\u6587\u4ef6\u7684\u7b2c\u4e00\u884c\u5f00\u59cb\u3002\uff09\n        </p><p>\n        \u4e0e\u5927\u591a\u6570\u5176\u4ed6\u5143\u547d\u4ee4\u4e0d\u540c\uff0c\u6574\u4e2a\u884c\u7684\u5269\u4f59\u90e8\u5206\u59cb\u7ec8\u88ab\u89c6\u4e3a<code class=\"command\">\\ef</code> \u7684\u53c2\u6570\uff0c\u53c2\u6570\u4e2d\u4e0d\u8fdb\u884c\u53d8\u91cf\u63d2\u503c\u6216\u53cd\u5f15\u53f7\u6269\u5c55\u3002\n        </p><div class=\"tip\"><h3 class=\"title\">\u63d0\u793a</h3><p>\n        \u5173\u4e8e\u5982\u4f55\u914d\u7f6e\u548c\u81ea\u5b9a\u4e49\u7f16\u8f91\u5668\uff0c\u8bf7\u53c2\u89c1\u4e0b\u9762\u7684<a class=\"xref\" href=\"/docs/19/app-psql.html#APP-PSQL-ENVIRONMENT\" title=\"\u73af\u5883\">\u73af\u5883</a>\u3002\n        </p></div></dd>", "body_sha256": "05bca71526fdc7d6f9315a481facfb6f34f979731328de92a5af3c1848ceada0", "content_hash": "c34ba73e293ca97aa6d1cfe050a8ec3e218413af55205c20d271732d6cf3f7bc", "source_revision": "pgdoc:b9f0e7232f60f380d642ac9b99226606c254b552", "definition_version": "19", "documentation_release": "19rc2"}, "modifiers": [], "signature": "\\ef [ function_description [ line_number ] ]", "spellings": ["\\ef"], "tables_zh": [{"key": "spellings", "rows": [{"command": {"url": "/wiki/psql/cmd-65-66/?v=19", "text": "\\ef"}, "modifiers": "\u6b64\u8bed\u6cd5\u7b7e\u540d\u672a\u5217\u51fa"}], "title": "\u672c\u7248\u624b\u518c\u4e2d\u7684\u5199\u6cd5", "columns": [{"key": "command", "label": "\u547d\u4ee4"}, {"key": "modifiers", "label": "\u624b\u518c\u4e2d\u7684\u540e\u7f00\u4fee\u9970\u7b26"}]}], "related_zh": [{"url": "/wiki/tool/psql/?v=19", "label": "psql \u547d\u4ee4\u884c\u9009\u9879\u53ca\u5b8c\u6574\u624b\u518c"}], "description": ["\u8fd9\u4e2a\u547d\u4ee4\u83b7\u53d6\u5e76\u7f16\u8f91\u6307\u5b9a\u51fd\u6570\u6216\u8fc7\u7a0b\u7684\u5b9a\u4e49\uff0c\u5f62\u5f0f\u4e3a CREATE OR REPLACE FUNCTION \u6216 CREATE OR REPLACE PROCEDURE \u547d\u4ee4\u3002\u7f16\u8f91\u65b9\u5f0f\u4e0e \\edit \u76f8\u540c\u3002\u5982\u679c\u5728\u4e0d\u4fdd\u5b58\u7684\u60c5\u51b5\u4e0b\u9000\u51fa\u7f16\u8f91\u5668\uff0c\u5219\u8be5\u8bed\u53e5\u4f1a\u88ab\u4e22\u5f03\u3002\u5982\u679c\u4fdd\u5b58\u5e76\u9000\u51fa\u7f16\u8f91\u5668\uff0c\u5e76\u5728\u5176\u4e2d\u6dfb\u52a0\u4e86\u5206\u53f7\uff0c\u5219\u66f4\u65b0\u540e\u7684\u547d\u4ee4\u4f1a\u7acb\u5373\u6267\u884c\u3002\u5426\u5219\u5b83\u4f1a\u91cd\u65b0\u663e\u793a\uff1b\u952e\u5165\u5206\u53f7\u6216 \\g \u53d1\u9001\u5b83\uff0c\u6216\u7528 \\r \u53d6\u6d88\u3002"], "manual_html": "<dd><p>\n         \u8fd9\u4e2a\u547d\u4ee4\u83b7\u53d6\u5e76\u7f16\u8f91\u6307\u5b9a\u51fd\u6570\u6216\u8fc7\u7a0b\u7684\u5b9a\u4e49\uff0c\u5f62\u5f0f\u4e3a <code class=\"command\">CREATE OR REPLACE FUNCTION</code> \u6216\n         <code class=\"command\">CREATE OR REPLACE PROCEDURE</code> \u547d\u4ee4\u3002\u7f16\u8f91\u65b9\u5f0f\u4e0e<code class=\"literal\">\\edit</code> \u76f8\u540c\u3002\u5982\u679c\u5728\u4e0d\u4fdd\u5b58\u7684\u60c5\u51b5\u4e0b\u9000\u51fa\u7f16\u8f91\u5668\uff0c\u5219\u8be5\u8bed\u53e5\u4f1a\u88ab\u4e22\u5f03\u3002\u5982\u679c\u4fdd\u5b58\u5e76\u9000\u51fa\u7f16\u8f91\u5668\uff0c\u5e76\u5728\u5176\u4e2d\u6dfb\u52a0\u4e86\u5206\u53f7\uff0c\u5219\u66f4\u65b0\u540e\u7684\u547d\u4ee4\u4f1a\u7acb\u5373\u6267\u884c\u3002\u5426\u5219\u5b83\u4f1a\u91cd\u65b0\u663e\u793a\uff1b\u952e\u5165\u5206\u53f7\u6216<code class=\"literal\">\\g</code> \u53d1\u9001\u5b83\uff0c\u6216\u7528<code class=\"literal\">\\r</code> \u53d6\u6d88\u3002\n        </p><p>\n         \u76ee\u6807\u51fd\u6570\u53ef\u4ee5\u4ec5\u901a\u8fc7\u540d\u79f0\u6307\u5b9a\uff0c\u4e5f\u53ef\u4ee5\u901a\u8fc7\u540d\u79f0\u548c\u53c2\u6570\u6307\u5b9a\uff0c\u4f8b\u5982 <code class=\"literal\">foo(integer, text)</code>\u3002\u5982\u679c\u6709\u591a\u4e2a\u540c\u540d\u51fd\u6570\uff0c\u5219\u5fc5\u987b\u7ed9\u51fa\u53c2\u6570\u7c7b\u578b\u3002\n        </p><p>\n         \u5982\u679c\u672a\u6307\u5b9a\u51fd\u6570\uff0c\u5219\u4f1a\u5448\u73b0\u4e00\u4e2a\u7a7a\u7684 <code class=\"command\">CREATE FUNCTION</code> \u6a21\u677f\u4f9b\u7f16\u8f91\u3002\n        </p><p>\n        \u5982\u679c\u6307\u5b9a\u4e86\u884c\u53f7\uff0c<span class=\"application\">psql</span> \u5c06\u5149\u6807\u5b9a\u4f4d\u5728\u51fd\u6570\u4f53\u7684\u6307\u5b9a\u884c\u4e0a\u3002\uff08\u8bf7\u6ce8\u610f\uff0c\u51fd\u6570\u4f53\u901a\u5e38\u4e0d\u4f1a\u4ece\u6587\u4ef6\u7684\u7b2c\u4e00\u884c\u5f00\u59cb\u3002\uff09\n        </p><p>\n        \u4e0e\u5927\u591a\u6570\u5176\u4ed6\u5143\u547d\u4ee4\u4e0d\u540c\uff0c\u6574\u4e2a\u884c\u7684\u5269\u4f59\u90e8\u5206\u59cb\u7ec8\u88ab\u89c6\u4e3a<code class=\"command\">\\ef</code> \u7684\u53c2\u6570\uff0c\u53c2\u6570\u4e2d\u4e0d\u8fdb\u884c\u53d8\u91cf\u63d2\u503c\u6216\u53cd\u5f15\u53f7\u6269\u5c55\u3002\n        </p><div class=\"tip\"><h3 class=\"title\">\u63d0\u793a</h3><p>\n        \u5173\u4e8e\u5982\u4f55\u914d\u7f6e\u548c\u81ea\u5b9a\u4e49\u7f16\u8f91\u5668\uff0c\u8bf7\u53c2\u89c1\u4e0b\u9762\u7684<a class=\"xref\" href=\"/docs/19/app-psql.html#APP-PSQL-ENVIRONMENT\" title=\"\u73af\u5883\">\u73af\u5883</a>\u3002\n        </p></div></dd>", "manual_path": "app-psql.html#APP-PSQL-META-COMMAND-EF", "sections_zh": [], "localization": {"status": "same-version-reviewed-manual", "language": "zh", "source_language": "en", "source_revision": "pgdoc:b9f0e7232f60f380d642ac9b99226606c254b552", "documentation_release": "19rc2"}, "description_zh": "\u8fd9\u4e2a\u547d\u4ee4\u83b7\u53d6\u5e76\u7f16\u8f91\u6307\u5b9a\u51fd\u6570\u6216\u8fc7\u7a0b\u7684\u5b9a\u4e49\uff0c\u5f62\u5f0f\u4e3a CREATE OR REPLACE FUNCTION \u6216 CREATE OR REPLACE PROCEDURE \u547d\u4ee4\u3002\u7f16\u8f91\u65b9\u5f0f\u4e0e \\edit \u76f8\u540c\u3002\u5982\u679c\u5728\u4e0d\u4fdd\u5b58\u7684\u60c5\u51b5\u4e0b\u9000\u51fa\u7f16\u8f91\u5668\uff0c\u5219\u8be5\u8bed\u53e5\u4f1a\u88ab\u4e22\u5f03\u3002\u5982\u679c\u4fdd\u5b58\u5e76\u9000\u51fa\u7f16\u8f91\u5668\uff0c\u5e76\u5728\u5176\u4e2d\u6dfb\u52a0\u4e86\u5206\u53f7\uff0c\u5219\u66f4\u65b0\u540e\u7684\u547d\u4ee4\u4f1a\u7acb\u5373\u6267\u884c\u3002\u5426\u5219\u5b83\u4f1a\u91cd\u65b0\u663e\u793a\uff1b\u952e\u5165\u5206\u53f7\u6216 \\g \u53d1\u9001\u5b83\uff0c\u6216\u7528 \\r \u53d6\u6d88\u3002", "comparison_data": {"modifiers": [], "signature": "\\ef [ function_description [ line_number ] ]", "spellings": ["\\ef"], "definition": "This command fetches and edits the definition of the named function or procedure, in the form of a CREATE OR REPLACE FUNCTION or CREATE OR REPLACE PROCEDURE command. Editing is done in the same way as for \\edit . If you quit the editor without saving, the statement is discarded. If you save and exit the editor, the updated command is executed immediately if you added a semicolon to it. Otherwise it is redisplayed; type semicolon or \\g to send it, or \\r to cancel. The target function can be specified by name alone, or by name and arguments, for example foo(integer, text) . The argument types must be given if there is more than one function of the same name. If no function is specified, a blank CREATE FUNCTION template is presented for editing. If a line number is specified, psql will position the cursor on the specified line of the function body. (Note that the function body typically does not begin on the first line of the file.) Unlike most other meta-commands, the entire remainder of the line is always taken to be the argument(s) of \\ef , and neither variable interpolation nor backquote expansion are performed in the arguments. Tip See Environment , below, for how to configure and customize your editor."}, "comparison_hash": "c6f53578cbd03f42a5ee2d84af67e951894977f92c34d928eb87890b8e81638e", "manual_language": "zh", "description_zh_html": "<dd><p>\n         \u8fd9\u4e2a\u547d\u4ee4\u83b7\u53d6\u5e76\u7f16\u8f91\u6307\u5b9a\u51fd\u6570\u6216\u8fc7\u7a0b\u7684\u5b9a\u4e49\uff0c\u5f62\u5f0f\u4e3a <code class=\"command\">CREATE OR REPLACE FUNCTION</code> \u6216\n         <code class=\"command\">CREATE OR REPLACE PROCEDURE</code> \u547d\u4ee4\u3002\u7f16\u8f91\u65b9\u5f0f\u4e0e<code class=\"literal\">\\edit</code> \u76f8\u540c\u3002\u5982\u679c\u5728\u4e0d\u4fdd\u5b58\u7684\u60c5\u51b5\u4e0b\u9000\u51fa\u7f16\u8f91\u5668\uff0c\u5219\u8be5\u8bed\u53e5\u4f1a\u88ab\u4e22\u5f03\u3002\u5982\u679c\u4fdd\u5b58\u5e76\u9000\u51fa\u7f16\u8f91\u5668\uff0c\u5e76\u5728\u5176\u4e2d\u6dfb\u52a0\u4e86\u5206\u53f7\uff0c\u5219\u66f4\u65b0\u540e\u7684\u547d\u4ee4\u4f1a\u7acb\u5373\u6267\u884c\u3002\u5426\u5219\u5b83\u4f1a\u91cd\u65b0\u663e\u793a\uff1b\u952e\u5165\u5206\u53f7\u6216<code class=\"literal\">\\g</code> \u53d1\u9001\u5b83\uff0c\u6216\u7528<code class=\"literal\">\\r</code> \u53d6\u6d88\u3002\n        </p><p>\n         \u76ee\u6807\u51fd\u6570\u53ef\u4ee5\u4ec5\u901a\u8fc7\u540d\u79f0\u6307\u5b9a\uff0c\u4e5f\u53ef\u4ee5\u901a\u8fc7\u540d\u79f0\u548c\u53c2\u6570\u6307\u5b9a\uff0c\u4f8b\u5982 <code class=\"literal\">foo(integer, text)</code>\u3002\u5982\u679c\u6709\u591a\u4e2a\u540c\u540d\u51fd\u6570\uff0c\u5219\u5fc5\u987b\u7ed9\u51fa\u53c2\u6570\u7c7b\u578b\u3002\n        </p><p>\n         \u5982\u679c\u672a\u6307\u5b9a\u51fd\u6570\uff0c\u5219\u4f1a\u5448\u73b0\u4e00\u4e2a\u7a7a\u7684 <code class=\"command\">CREATE FUNCTION</code> \u6a21\u677f\u4f9b\u7f16\u8f91\u3002\n        </p><p>\n        \u5982\u679c\u6307\u5b9a\u4e86\u884c\u53f7\uff0c<span class=\"application\">psql</span> \u5c06\u5149\u6807\u5b9a\u4f4d\u5728\u51fd\u6570\u4f53\u7684\u6307\u5b9a\u884c\u4e0a\u3002\uff08\u8bf7\u6ce8\u610f\uff0c\u51fd\u6570\u4f53\u901a\u5e38\u4e0d\u4f1a\u4ece\u6587\u4ef6\u7684\u7b2c\u4e00\u884c\u5f00\u59cb\u3002\uff09\n        </p><p>\n        \u4e0e\u5927\u591a\u6570\u5176\u4ed6\u5143\u547d\u4ee4\u4e0d\u540c\uff0c\u6574\u4e2a\u884c\u7684\u5269\u4f59\u90e8\u5206\u59cb\u7ec8\u88ab\u89c6\u4e3a<code class=\"command\">\\ef</code> \u7684\u53c2\u6570\uff0c\u53c2\u6570\u4e2d\u4e0d\u8fdb\u884c\u53d8\u91cf\u63d2\u503c\u6216\u53cd\u5f15\u53f7\u6269\u5c55\u3002\n        </p><div class=\"tip\"><h3 class=\"title\">\u63d0\u793a</h3><p>\n        \u5173\u4e8e\u5982\u4f55\u914d\u7f6e\u548c\u81ea\u5b9a\u4e49\u7f16\u8f91\u5668\uff0c\u8bf7\u53c2\u89c1\u4e0b\u9762\u7684<a class=\"xref\" href=\"/docs/19/app-psql.html#APP-PSQL-ENVIRONMENT\" title=\"\u73af\u5883\">\u73af\u5883</a>\u3002\n        </p></div></dd>", "source_revalidation": {"kind": "static-same-version-source-and-manual-replay", "audit": "wiki-audit-20261023", "runtime_rerun": false, "compared_fields": "entity membership and source-derived facts; presentation markup normalized", "source_revision": "5e06fe0541cd1f62a9fc1a66c342c19a2944ff3c98281bfbdb1d4a6d6d53fe2f", "previous_source_revision": "1bbbbf4133d426f0e4304010688d2984c30fb67df0cc3a61b3e37eb3f6f37833"}, "documentation_revision": {"inputs": [{"file": "app-psql.html", "kind": "same-version-reviewed-manual", "locale": "en", "sha256": "88aeb3d77ad0a535a6a363215f0ac18936c368ac157e694ad30fea3c1ee30218", "version": "19rc2"}, {"file": "app-psql.html", "kind": "same-version-reviewed-manual", "locale": "zh-Hans", "sha256": "7c244fc95f382349e2864e47925de5baa9fd870b49efe597bdf30e0ffc365f68", "version": "19rc2"}], "release": "19rc2", "source_revision": "pgdoc:b9f0e7232f60f380d642ac9b99226606c254b552", "runtime_remeasured": false}}, "20": {"facts": [{"label": "\u5ba2\u6237\u7aef", "value": "psql 20devel"}, {"label": "\u533a\u5206\u5927\u5c0f\u5199\u7684\u5199\u6cd5", "value": "\\ef"}], "tables": [{"key": "spellings", "rows": [{"command": {"url": "/wiki/psql/cmd-65-66/?v=20", "text": "\\ef"}, "modifiers": "\u6b64\u8bed\u6cd5\u7b7e\u540d\u672a\u5217\u51fa"}], "title": "\u672c\u7248\u624b\u518c\u4e2d\u7684\u5199\u6cd5", "columns": [{"key": "command", "label": "\u547d\u4ee4"}, {"key": "modifiers", "label": "\u624b\u518c\u4e2d\u7684\u540e\u7f00\u4fee\u9970\u7b26"}]}], "command": "\\ef", "related": [{"url": "/wiki/tool/psql/?v=20", "label": "psql \u547d\u4ee4\u884c\u9009\u9879\u53ca\u5b8c\u6574\u624b\u518c"}], "release": {"ref": "https://ftp.postgresql.org/pub/snapshot/dev/postgresql-snapshot.tar.bz2", "label": "20devel", "major": "20", "channel": "devel", "manifest": {"major": "20", "release": "20devel", "source_url": "https://ftp.postgresql.org/pub/snapshot/dev/postgresql-snapshot.tar.bz2", "source_sha256": "49c73aa4c9cacef8ca979276a28ac416c08e9e54c9baee4ae5fd116a35fa13ac"}, "revision": "3cd0885bb4eccdbaac1a21177cc639e9031e54bd8ea6536c45224b5563354ce2", "evidence_kind": "English manual and source declarations", "source_sha256": "49c73aa4c9cacef8ca979276a28ac416c08e9e54c9baee4ae5fd116a35fa13ac"}, "sources": [{"url": "/docs/devel/app-psql.html#APP-PSQL-META-COMMAND-EF", "file": "app-psql.html", "label": "20devel English manual \u00b7 app-psql.html", "anchor": "APP-PSQL-META-COMMAND-EF", "sha256": "4040ccb7cbcb1a83a43c150f5b92ddd10ff8837fdc27835b1863d4a316645676"}], "zh_from": {"kind": "same-version-chinese-manual-with-source-derived-identity", "manual": {"url": "/zh/docs/devel/app-psql.html#APP-PSQL-META-COMMAND-EF", "anchor": "APP-PSQL-META-COMMAND-EF", "locale": "zh-Hans", "version": "20", "build_id": 111, "page_key": "app-psql.html", "extraction": "exact-definition", "source_hash": "98935f3e8a333e7201e42b7315bb9e09d62e0711037964568c16bd22ae183680", "fragment_sha256": "0335f6cd59bbd0383a2d5ced7557801a3192e0323b858934449703608d0fdf02", "source_revision": "sha256:49c73aa4c9cacef8ca979276a28ac416c08e9e54c9baee4ae5fd116a35fa13ac", "translation_revision": "git:b1b500221dbe5437cfca004d6b04d3f6e422765d;html-sha256:98c980963b401d40bd50df72b909e7523e3148b8fdb48edd897de2efb67e5235", "translated_from_revision": "sha256:49c73aa4c9cacef8ca979276a28ac416c08e9e54c9baee4ae5fd116a35fa13ac"}, "body_sha256": "f8791f955eaecea110ad32dbd1f6ccb837c22d3737e72185530e26c14e81d6cb", "runtime_rerun": false, "authored_translation": "source-derived-identity", "source_facts_revision": "3cd0885bb4eccdbaac1a21177cc639e9031e54bd8ea6536c45224b5563354ce2"}, "facts_zh": [{"label": "\u5ba2\u6237\u7aef", "value": "psql 20devel"}, {"label": "\u533a\u5206\u5927\u5c0f\u5199\u7684\u5199\u6cd5", "value": "\\ef"}], "sections": [], "center_zh": {"title": "\\ef", "locale": "zh-Hans", "source": {"key": "cmd-65-66", "locale": "zh-Hans", "version": "20", "text_hash": "7e5d2fc31866530a555de697f121c46ef1d96986a0bf6eeef4375729cf17d79e", "collection": "psql", "dataset_hash": "7c31b524dfe136022d39a6ae8dcfac6b3bbd5f8fdaf422536599981252aff0c9", "source_database": "center", "source_revision": "3cd0885bb4eccdbaac1a21177cc639e9031e54bd8ea6536c45224b5563354ce2"}, "payload": {"facts": [{"label": "\u5ba2\u6237\u7aef", "value": "psql 20devel"}, {"label": "\u533a\u5206\u5927\u5c0f\u5199\u7684\u5199\u6cd5", "value": "\\ef"}], "tables": [{"key": "spellings", "rows": [{"command": {"url": "/wiki/psql/cmd-65-66/?v=20", "text": "\\ef"}, "modifiers": "\u6b64\u8bed\u6cd5\u7b7e\u540d\u672a\u5217\u51fa"}], "title": "\u672c\u7248\u624b\u518c\u4e2d\u7684\u5199\u6cd5", "columns": [{"key": "command", "label": "\u547d\u4ee4"}, {"key": "modifiers", "label": "\u624b\u518c\u4e2d\u7684\u540e\u7f00\u4fee\u9970\u7b26"}]}], "zh_from": {"kind": "same-version-chinese-manual-with-source-derived-identity", "manual": {"url": "/zh/docs/devel/app-psql.html#APP-PSQL-META-COMMAND-EF", "anchor": "APP-PSQL-META-COMMAND-EF", "locale": "zh-Hans", "version": "20", "build_id": 111, "page_key": "app-psql.html", "extraction": "exact-definition", "source_hash": "98935f3e8a333e7201e42b7315bb9e09d62e0711037964568c16bd22ae183680", "fragment_sha256": "0335f6cd59bbd0383a2d5ced7557801a3192e0323b858934449703608d0fdf02", "source_revision": "sha256:49c73aa4c9cacef8ca979276a28ac416c08e9e54c9baee4ae5fd116a35fa13ac", "translation_revision": "git:b1b500221dbe5437cfca004d6b04d3f6e422765d;html-sha256:98c980963b401d40bd50df72b909e7523e3148b8fdb48edd897de2efb67e5235", "translated_from_revision": "sha256:49c73aa4c9cacef8ca979276a28ac416c08e9e54c9baee4ae5fd116a35fa13ac"}, "body_sha256": "f8791f955eaecea110ad32dbd1f6ccb837c22d3737e72185530e26c14e81d6cb", "runtime_rerun": false, "authored_translation": "source-derived-identity", "source_facts_revision": "3cd0885bb4eccdbaac1a21177cc639e9031e54bd8ea6536c45224b5563354ce2"}, "sections": [], "description_zh": "\u8fd9\u4e2a\u547d\u4ee4\u83b7\u53d6\u5e76\u7f16\u8f91\u6307\u5b9a\u51fd\u6570\u6216\u8fc7\u7a0b\u7684\u5b9a\u4e49\uff0c\u5f62\u5f0f\u4e3a CREATE OR REPLACE FUNCTION \u6216 CREATE OR REPLACE PROCEDURE \u547d\u4ee4\u3002\u7f16\u8f91\u65b9\u5f0f\u4e0e \\edit \u76f8\u540c\u3002\u5982\u679c\u5728\u4e0d\u4fdd\u5b58\u7684\u60c5\u51b5\u4e0b\u9000\u51fa\u7f16\u8f91\u5668\uff0c\u5219\u8be5\u8bed\u53e5\u4f1a\u88ab\u4e22\u5f03\u3002\u5982\u679c\u4fdd\u5b58\u5e76\u9000\u51fa\u7f16\u8f91\u5668\uff0c\u5e76\u5728\u5176\u4e2d\u6dfb\u52a0\u4e86\u5206\u53f7\uff0c\u5219\u66f4\u65b0\u540e\u7684\u547d\u4ee4\u4f1a\u7acb\u5373\u6267\u884c\u3002\u5426\u5219\u5b83\u4f1a\u91cd\u65b0\u663e\u793a\uff1b\u952e\u5165\u5206\u53f7\u6216 \\g \u53d1\u9001\u5b83\uff0c\u6216\u7528 \\r \u53d6\u6d88\u3002 \u76ee\u6807\u51fd\u6570\u53ef\u4ee5\u4ec5\u901a\u8fc7\u540d\u79f0\u6307\u5b9a\uff0c\u4e5f\u53ef\u4ee5\u901a\u8fc7\u540d\u79f0\u548c\u53c2\u6570\u6307\u5b9a\uff0c\u4f8b\u5982 foo(integer, text) \u3002\u5982\u679c\u6709\u591a\u4e2a\u540c\u540d\u51fd\u6570\uff0c\u5219\u5fc5\u987b\u7ed9\u51fa\u53c2\u6570\u7c7b\u578b\u3002 \u5982\u679c\u672a\u6307\u5b9a\u51fd\u6570\uff0c\u5219\u4f1a\u5448\u73b0\u4e00\u4e2a\u7a7a\u7684 CREATE FUNCTION \u6a21\u677f\u4f9b\u7f16\u8f91\u3002 \u5982\u679c\u6307\u5b9a\u4e86\u884c\u53f7\uff0c psql \u5c06\u5149\u6807\u5b9a\u4f4d\u5728\u51fd\u6570\u4f53\u7684\u6307\u5b9a\u884c\u4e0a\u3002\uff08\u8bf7\u6ce8\u610f\uff0c\u51fd\u6570\u4f53\u901a\u5e38\u4e0d\u4f1a\u4ece\u6587\u4ef6\u7684\u7b2c\u4e00\u884c\u5f00\u59cb\u3002\uff09 \u4e0e\u5927\u591a\u6570\u5176\u4ed6\u5143\u547d\u4ee4\u4e0d\u540c\uff0c\u6574\u4e2a\u884c\u7684\u5269\u4f59\u90e8\u5206\u59cb\u7ec8\u88ab\u89c6\u4e3a \\ef \u7684\u53c2\u6570\uff0c\u53c2\u6570\u4e2d\u4e0d\u8fdb\u884c\u53d8\u91cf\u63d2\u503c\u6216\u53cd\u5f15\u53f7\u6269\u5c55\u3002 \u63d0\u793a \u5173\u4e8e\u5982\u4f55\u914d\u7f6e\u548c\u81ea\u5b9a\u4e49\u7f16\u8f91\u5668\uff0c\u8bf7\u53c2\u89c1\u4e0b\u9762\u7684 \u73af\u5883 \u3002", "description_zh_html": "<p>psql \u547d\u4ee4 \\ef [ function_description [ line_number ] ]\u3002</p><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u5b9a\u4e49</h3><dd><p>\n         \u8fd9\u4e2a\u547d\u4ee4\u83b7\u53d6\u5e76\u7f16\u8f91\u6307\u5b9a\u51fd\u6570\u6216\u8fc7\u7a0b\u7684\u5b9a\u4e49\uff0c\u5f62\u5f0f\u4e3a <code class=\"command\">CREATE OR REPLACE FUNCTION</code> \u6216\n         <code class=\"command\">CREATE OR REPLACE PROCEDURE</code> \u547d\u4ee4\u3002\u7f16\u8f91\u65b9\u5f0f\u4e0e<code class=\"literal\">\\edit</code> \u76f8\u540c\u3002\u5982\u679c\u5728\u4e0d\u4fdd\u5b58\u7684\u60c5\u51b5\u4e0b\u9000\u51fa\u7f16\u8f91\u5668\uff0c\u5219\u8be5\u8bed\u53e5\u4f1a\u88ab\u4e22\u5f03\u3002\u5982\u679c\u4fdd\u5b58\u5e76\u9000\u51fa\u7f16\u8f91\u5668\uff0c\u5e76\u5728\u5176\u4e2d\u6dfb\u52a0\u4e86\u5206\u53f7\uff0c\u5219\u66f4\u65b0\u540e\u7684\u547d\u4ee4\u4f1a\u7acb\u5373\u6267\u884c\u3002\u5426\u5219\u5b83\u4f1a\u91cd\u65b0\u663e\u793a\uff1b\u952e\u5165\u5206\u53f7\u6216<code class=\"literal\">\\g</code> \u53d1\u9001\u5b83\uff0c\u6216\u7528<code class=\"literal\">\\r</code> \u53d6\u6d88\u3002\n        </p><p>\n         \u76ee\u6807\u51fd\u6570\u53ef\u4ee5\u4ec5\u901a\u8fc7\u540d\u79f0\u6307\u5b9a\uff0c\u4e5f\u53ef\u4ee5\u901a\u8fc7\u540d\u79f0\u548c\u53c2\u6570\u6307\u5b9a\uff0c\u4f8b\u5982 <code class=\"literal\">foo(integer, text)</code>\u3002\u5982\u679c\u6709\u591a\u4e2a\u540c\u540d\u51fd\u6570\uff0c\u5219\u5fc5\u987b\u7ed9\u51fa\u53c2\u6570\u7c7b\u578b\u3002\n        </p><p>\n         \u5982\u679c\u672a\u6307\u5b9a\u51fd\u6570\uff0c\u5219\u4f1a\u5448\u73b0\u4e00\u4e2a\u7a7a\u7684 <code class=\"command\">CREATE FUNCTION</code> \u6a21\u677f\u4f9b\u7f16\u8f91\u3002\n        </p><p>\n        \u5982\u679c\u6307\u5b9a\u4e86\u884c\u53f7\uff0c<span class=\"application\">psql</span> \u5c06\u5149\u6807\u5b9a\u4f4d\u5728\u51fd\u6570\u4f53\u7684\u6307\u5b9a\u884c\u4e0a\u3002\uff08\u8bf7\u6ce8\u610f\uff0c\u51fd\u6570\u4f53\u901a\u5e38\u4e0d\u4f1a\u4ece\u6587\u4ef6\u7684\u7b2c\u4e00\u884c\u5f00\u59cb\u3002\uff09\n        </p><p>\n        \u4e0e\u5927\u591a\u6570\u5176\u4ed6\u5143\u547d\u4ee4\u4e0d\u540c\uff0c\u6574\u4e2a\u884c\u7684\u5269\u4f59\u90e8\u5206\u59cb\u7ec8\u88ab\u89c6\u4e3a<code class=\"command\">\\ef</code> \u7684\u53c2\u6570\uff0c\u53c2\u6570\u4e2d\u4e0d\u8fdb\u884c\u53d8\u91cf\u63d2\u503c\u6216\u53cd\u5f15\u53f7\u6269\u5c55\u3002\n        </p><div class=\"tip\"><h3 class=\"title\">\u63d0\u793a</h3><p>\n        \u5173\u4e8e\u5982\u4f55\u914d\u7f6e\u548c\u81ea\u5b9a\u4e49\u7f16\u8f91\u5668\uff0c\u8bf7\u53c2\u89c1\u4e0b\u9762\u7684<a class=\"xref\" href=\"/zh/docs/devel/app-psql.html#APP-PSQL-ENVIRONMENT\">\u73af\u5883</a>\u3002\n        </p></div></dd><p><a href=\"/zh/docs/devel/app-psql.html#APP-PSQL-META-COMMAND-EF\">\u67e5\u770b\u5b8c\u6574\u4e2d\u6587\u624b\u518c\u4e0e\u4e0a\u4e0b\u6587</a>\u3002</p>"}, "summary": "\u8fd9\u4e2a\u547d\u4ee4\u83b7\u53d6\u5e76\u7f16\u8f91\u6307\u5b9a\u51fd\u6570\u6216\u8fc7\u7a0b\u7684\u5b9a\u4e49\uff0c\u5f62\u5f0f\u4e3a CREATE OR REPLACE FUNCTION \u6216 CREATE OR REPLACE PROCEDURE \u547d\u4ee4\u3002\u7f16\u8f91\u65b9\u5f0f\u4e0e \\edit \u76f8\u540c\u3002\u5982\u679c\u5728\u4e0d\u4fdd\u5b58\u7684\u60c5\u51b5\u4e0b\u9000\u51fa\u7f16\u8f91\u5668\uff0c\u5219\u8be5\u8bed\u53e5\u4f1a\u88ab\u4e22\u5f03\u3002\u5982\u679c\u4fdd\u5b58\u5e76\u9000\u51fa\u7f16\u8f91\u5668\uff0c\u5e76\u5728\u5176\u4e2d\u6dfb\u52a0\u4e86\u5206\u53f7\uff0c\u5219\u66f4\u65b0\u540e\u7684\u547d\u4ee4\u4f1a\u7acb\u5373\u6267\u884c\u3002\u5426\u5219\u5b83\u4f1a\u91cd\u65b0\u663e\u793a\uff1b\u952e\u5165\u5206\u53f7\u6216 \\g \u53d1\u9001\u5b83\uff0c\u6216\u7528 \\r \u53d6\u6d88\u3002 \u76ee\u6807\u51fd\u6570\u53ef\u4ee5\u4ec5\u901a\u8fc7\u540d\u79f0\u6307\u5b9a\uff0c\u4e5f\u53ef\u4ee5\u901a\u8fc7\u540d\u79f0\u548c\u53c2\u6570\u6307\u5b9a\uff0c\u4f8b\u5982 foo(integer, text) \u3002\u5982\u679c\u6709\u591a\u4e2a\u540c\u540d\u51fd\u6570\uff0c\u5219\u5fc5\u987b\u7ed9\u51fa\u53c2\u6570\u7c7b\u578b\u3002 \u5982\u679c\u672a\u6307\u5b9a\u51fd\u6570\uff0c\u5219\u4f1a\u5448\u73b0\u4e00\u4e2a\u7a7a\u7684 CREATE FUNCTION \u6a21\u677f\u4f9b\u7f16\u8f91\u3002 \u5982\u679c\u6307\u5b9a\u4e86\u884c\u53f7\uff0c psql \u5c06\u5149\u6807\u5b9a\u4f4d\u5728\u51fd\u6570\u4f53\u7684\u6307\u5b9a\u884c\u4e0a\u3002\uff08\u8bf7\u6ce8\u610f\uff0c\u51fd\u6570\u4f53\u901a\u5e38\u4e0d\u4f1a\u4ece\u6587\u4ef6\u7684\u7b2c\u4e00\u884c\u5f00\u59cb\u3002\uff09 \u4e0e\u5927\u591a\u6570\u5176\u4ed6\u5143\u547d\u4ee4\u4e0d\u540c\uff0c\u6574\u4e2a\u884c\u7684\u5269\u4f59\u90e8\u5206\u59cb\u7ec8\u88ab\u89c6\u4e3a \\ef \u7684\u53c2\u6570\uff0c\u53c2\u6570\u4e2d\u4e0d\u8fdb\u884c\u53d8\u91cf\u63d2\u503c\u6216\u53cd\u5f15\u53f7\u6269\u5c55\u3002 \u63d0\u793a \u5173\u4e8e\u5982\u4f55\u914d\u7f6e\u548c\u81ea\u5b9a\u4e49\u7f16\u8f91\u5668\uff0c\u8bf7\u53c2\u89c1\u4e0b\u9762\u7684 \u73af\u5883 \u3002", "version": "20", "link_map": {"/zh/docs/devel/app-psql.html#APP-PSQL-ENVIRONMENT": "/docs/devel/app-psql.html#APP-PSQL-ENVIRONMENT", "/zh/docs/devel/app-psql.html#APP-PSQL-META-COMMAND-EF": "/docs/devel/app-psql.html#APP-PSQL-META-COMMAND-EF"}, "body_html": "<p>psql \u547d\u4ee4 \\ef [ function_description [ line_number ] ]\u3002</p><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u5b9a\u4e49</h3><dd><p>\n         \u8fd9\u4e2a\u547d\u4ee4\u83b7\u53d6\u5e76\u7f16\u8f91\u6307\u5b9a\u51fd\u6570\u6216\u8fc7\u7a0b\u7684\u5b9a\u4e49\uff0c\u5f62\u5f0f\u4e3a <code>CREATE OR REPLACE FUNCTION</code> \u6216\n         <code>CREATE OR REPLACE PROCEDURE</code> \u547d\u4ee4\u3002\u7f16\u8f91\u65b9\u5f0f\u4e0e<code>\\edit</code> \u76f8\u540c\u3002\u5982\u679c\u5728\u4e0d\u4fdd\u5b58\u7684\u60c5\u51b5\u4e0b\u9000\u51fa\u7f16\u8f91\u5668\uff0c\u5219\u8be5\u8bed\u53e5\u4f1a\u88ab\u4e22\u5f03\u3002\u5982\u679c\u4fdd\u5b58\u5e76\u9000\u51fa\u7f16\u8f91\u5668\uff0c\u5e76\u5728\u5176\u4e2d\u6dfb\u52a0\u4e86\u5206\u53f7\uff0c\u5219\u66f4\u65b0\u540e\u7684\u547d\u4ee4\u4f1a\u7acb\u5373\u6267\u884c\u3002\u5426\u5219\u5b83\u4f1a\u91cd\u65b0\u663e\u793a\uff1b\u952e\u5165\u5206\u53f7\u6216<code>\\g</code> \u53d1\u9001\u5b83\uff0c\u6216\u7528<code>\\r</code> \u53d6\u6d88\u3002\n        </p><p>\n         \u76ee\u6807\u51fd\u6570\u53ef\u4ee5\u4ec5\u901a\u8fc7\u540d\u79f0\u6307\u5b9a\uff0c\u4e5f\u53ef\u4ee5\u901a\u8fc7\u540d\u79f0\u548c\u53c2\u6570\u6307\u5b9a\uff0c\u4f8b\u5982 <code>foo(integer, text)</code>\u3002\u5982\u679c\u6709\u591a\u4e2a\u540c\u540d\u51fd\u6570\uff0c\u5219\u5fc5\u987b\u7ed9\u51fa\u53c2\u6570\u7c7b\u578b\u3002\n        </p><p>\n         \u5982\u679c\u672a\u6307\u5b9a\u51fd\u6570\uff0c\u5219\u4f1a\u5448\u73b0\u4e00\u4e2a\u7a7a\u7684 <code>CREATE FUNCTION</code> \u6a21\u677f\u4f9b\u7f16\u8f91\u3002\n        </p><p>\n        \u5982\u679c\u6307\u5b9a\u4e86\u884c\u53f7\uff0c<span>psql</span> \u5c06\u5149\u6807\u5b9a\u4f4d\u5728\u51fd\u6570\u4f53\u7684\u6307\u5b9a\u884c\u4e0a\u3002\uff08\u8bf7\u6ce8\u610f\uff0c\u51fd\u6570\u4f53\u901a\u5e38\u4e0d\u4f1a\u4ece\u6587\u4ef6\u7684\u7b2c\u4e00\u884c\u5f00\u59cb\u3002\uff09\n        </p><p>\n        \u4e0e\u5927\u591a\u6570\u5176\u4ed6\u5143\u547d\u4ee4\u4e0d\u540c\uff0c\u6574\u4e2a\u884c\u7684\u5269\u4f59\u90e8\u5206\u59cb\u7ec8\u88ab\u89c6\u4e3a<code>\\ef</code> \u7684\u53c2\u6570\uff0c\u53c2\u6570\u4e2d\u4e0d\u8fdb\u884c\u53d8\u91cf\u63d2\u503c\u6216\u53cd\u5f15\u53f7\u6269\u5c55\u3002\n        </p><div><h3>\u63d0\u793a</h3><p>\n        \u5173\u4e8e\u5982\u4f55\u914d\u7f6e\u548c\u81ea\u5b9a\u4e49\u7f16\u8f91\u5668\uff0c\u8bf7\u53c2\u89c1\u4e0b\u9762\u7684<a href=\"/zh/docs/devel/app-psql.html#APP-PSQL-ENVIRONMENT\" rel=\"nofollow\">\u73af\u5883</a>\u3002\n        </p></div></dd><p><a href=\"/zh/docs/devel/app-psql.html#APP-PSQL-META-COMMAND-EF\" rel=\"nofollow\">\u67e5\u770b\u5b8c\u6574\u4e2d\u6587\u624b\u518c\u4e0e\u4e0a\u4e0b\u6587</a>\u3002</p>", "body_sha256": "b0a7098e2c684a8724958a7d2b0194b57f47597c34806f54458954be1b82b91f", "content_hash": "7e5d2fc31866530a555de697f121c46ef1d96986a0bf6eeef4375729cf17d79e", "source_database": "center", "source_revision": "3cd0885bb4eccdbaac1a21177cc639e9031e54bd8ea6536c45224b5563354ce2"}, "modifiers": [], "signature": "\\ef [ function_description [ line_number ] ]", "spellings": ["\\ef"], "tables_zh": [{"key": "spellings", "rows": [{"command": {"url": "/wiki/psql/cmd-65-66/?v=20", "text": "\\ef"}, "modifiers": "\u6b64\u8bed\u6cd5\u7b7e\u540d\u672a\u5217\u51fa"}], "title": "\u672c\u7248\u624b\u518c\u4e2d\u7684\u5199\u6cd5", "columns": [{"key": "command", "label": "\u547d\u4ee4"}, {"key": "modifiers", "label": "\u624b\u518c\u4e2d\u7684\u540e\u7f00\u4fee\u9970\u7b26"}]}], "description": ["\u8fd9\u4e2a\u547d\u4ee4\u83b7\u53d6\u5e76\u7f16\u8f91\u6307\u5b9a\u51fd\u6570\u6216\u8fc7\u7a0b\u7684\u5b9a\u4e49\uff0c\u5f62\u5f0f\u4e3a CREATE OR REPLACE FUNCTION \u6216 CREATE OR REPLACE PROCEDURE \u547d\u4ee4\u3002\u7f16\u8f91\u65b9\u5f0f\u4e0e \\edit \u76f8\u540c\u3002\u5982\u679c\u5728\u4e0d\u4fdd\u5b58\u7684\u60c5\u51b5\u4e0b\u9000\u51fa\u7f16\u8f91\u5668\uff0c\u5219\u8be5\u8bed\u53e5\u4f1a\u88ab\u4e22\u5f03\u3002\u5982\u679c\u4fdd\u5b58\u5e76\u9000\u51fa\u7f16\u8f91\u5668\uff0c\u5e76\u5728\u5176\u4e2d\u6dfb\u52a0\u4e86\u5206\u53f7\uff0c\u5219\u66f4\u65b0\u540e\u7684\u547d\u4ee4\u4f1a\u7acb\u5373\u6267\u884c\u3002\u5426\u5219\u5b83\u4f1a\u91cd\u65b0\u663e\u793a\uff1b\u952e\u5165\u5206\u53f7\u6216 \\g \u53d1\u9001\u5b83\uff0c\u6216\u7528 \\r \u53d6\u6d88\u3002 \u76ee\u6807\u51fd\u6570\u53ef\u4ee5\u4ec5\u901a\u8fc7\u540d\u79f0\u6307\u5b9a\uff0c\u4e5f\u53ef\u4ee5\u901a\u8fc7\u540d\u79f0\u548c\u53c2\u6570\u6307\u5b9a\uff0c\u4f8b\u5982 foo(integer, text) \u3002\u5982\u679c\u6709\u591a\u4e2a\u540c\u540d\u51fd\u6570\uff0c\u5219\u5fc5\u987b\u7ed9\u51fa\u53c2\u6570\u7c7b\u578b\u3002 \u5982\u679c\u672a\u6307\u5b9a\u51fd\u6570\uff0c\u5219\u4f1a\u5448\u73b0\u4e00\u4e2a\u7a7a\u7684 CREATE FUNCTION \u6a21\u677f\u4f9b\u7f16\u8f91\u3002 \u5982\u679c\u6307\u5b9a\u4e86\u884c\u53f7\uff0c psql \u5c06\u5149\u6807\u5b9a\u4f4d\u5728\u51fd\u6570\u4f53\u7684\u6307\u5b9a\u884c\u4e0a\u3002\uff08\u8bf7\u6ce8\u610f\uff0c\u51fd\u6570\u4f53\u901a\u5e38\u4e0d\u4f1a\u4ece\u6587\u4ef6\u7684\u7b2c\u4e00\u884c\u5f00\u59cb\u3002\uff09 \u4e0e\u5927\u591a\u6570\u5176\u4ed6\u5143\u547d\u4ee4\u4e0d\u540c\uff0c\u6574\u4e2a\u884c\u7684\u5269\u4f59\u90e8\u5206\u59cb\u7ec8\u88ab\u89c6\u4e3a \\ef \u7684\u53c2\u6570\uff0c\u53c2\u6570\u4e2d\u4e0d\u8fdb\u884c\u53d8\u91cf\u63d2\u503c\u6216\u53cd\u5f15\u53f7\u6269\u5c55\u3002 \u63d0\u793a \u5173\u4e8e\u5982\u4f55\u914d\u7f6e\u548c\u81ea\u5b9a\u4e49\u7f16\u8f91\u5668\uff0c\u8bf7\u53c2\u89c1\u4e0b\u9762\u7684 \u73af\u5883 \u3002"], "manual_html": "", "manual_path": "app-psql.html#APP-PSQL-META-COMMAND-EF", "sections_zh": [], "localization": {"status": "complete", "sources": [{"url": "/docs/devel/app-psql.html", "method": "same-major semantic node", "sha256": "1590b6e290ad21fe3ac1c1549628841ae426d1cd07a8f808789207878dbee5ab", "language": "zh", "matched_nodes": ["#APP-PSQL/div[7]/div[3]/div[11]/dl[0]/dd[105]/div[4]/p[1]", "#APP-PSQL/div[7]/div[3]/div[11]/dl[0]/dd[109]/p[0]", "#APP-PSQL/div[7]/div[3]/div[11]/dl[0]/dd[109]/p[2]", "#APP-PSQL/div[7]/div[3]/div[11]/dl[0]/dd[109]/p[3]", "#APP-PSQL/div[7]/div[3]/div[11]/dl[0]/dd[109]/p[4]", "#APP-PSQL/div[7]/div[3]/div[11]/dl[0]/dd[11]/div[1]/h3[0]"]}], "language": "zh", "original_text": {"/summary": "This command fetches and edits the definition of the named function or procedure, in the form of a CREATE OR REPLACE FUNCTION or CREATE OR REPLACE PROCEDURE command. Editing is done in the same way as for \\edit . If you quit the editor without saving, the statement is discarded. If you save and exit the editor, the updated command is executed immediately if you added a semicolon to it. Otherwise it is redisplayed; type semicolon or \\g to send it, or \\r to cancel.", "/category": "Query buffer and editing", "/versions/20/description/0": "This command fetches and edits the definition of the named function or procedure, in the form of a CREATE OR REPLACE FUNCTION or CREATE OR REPLACE PROCEDURE command. Editing is done in the same way as for \\edit . If you quit the editor without saving, the statement is discarded. If you save and exit the editor, the updated command is executed immediately if you added a semicolon to it. Otherwise it is redisplayed; type semicolon or \\g to send it, or \\r to cancel.", "/versions/20/facts/0/label": "Client", "/versions/20/facts/1/label": "Case-sensitive spelling", "/versions/20/tables/0/title": "Spellings in this manual definition", "/versions/20/related/0/label": "psql command-line options and complete manual", "/versions/20/tables/0/columns/0/label": "Command", "/versions/20/tables/0/columns/1/label": "Documented suffix modifiers", "/versions/20/tables/0/rows/0/modifiers": "None listed in this signature"}, "fallback_fields": [], "source_language": "en", "original_snapshot_sha256": "933bb8aecfbd362dd85ef834b74f9460cb02ca3cdc6052c4d4cb15bc3f90e600", "canonical_center_text_hash": "7e5d2fc31866530a555de697f121c46ef1d96986a0bf6eeef4375729cf17d79e"}, "description_zh": "\u8fd9\u4e2a\u547d\u4ee4\u83b7\u53d6\u5e76\u7f16\u8f91\u6307\u5b9a\u51fd\u6570\u6216\u8fc7\u7a0b\u7684\u5b9a\u4e49\uff0c\u5f62\u5f0f\u4e3a CREATE OR REPLACE FUNCTION \u6216 CREATE OR REPLACE PROCEDURE \u547d\u4ee4\u3002\u7f16\u8f91\u65b9\u5f0f\u4e0e \\edit \u76f8\u540c\u3002\u5982\u679c\u5728\u4e0d\u4fdd\u5b58\u7684\u60c5\u51b5\u4e0b\u9000\u51fa\u7f16\u8f91\u5668\uff0c\u5219\u8be5\u8bed\u53e5\u4f1a\u88ab\u4e22\u5f03\u3002\u5982\u679c\u4fdd\u5b58\u5e76\u9000\u51fa\u7f16\u8f91\u5668\uff0c\u5e76\u5728\u5176\u4e2d\u6dfb\u52a0\u4e86\u5206\u53f7\uff0c\u5219\u66f4\u65b0\u540e\u7684\u547d\u4ee4\u4f1a\u7acb\u5373\u6267\u884c\u3002\u5426\u5219\u5b83\u4f1a\u91cd\u65b0\u663e\u793a\uff1b\u952e\u5165\u5206\u53f7\u6216 \\g \u53d1\u9001\u5b83\uff0c\u6216\u7528 \\r \u53d6\u6d88\u3002 \u76ee\u6807\u51fd\u6570\u53ef\u4ee5\u4ec5\u901a\u8fc7\u540d\u79f0\u6307\u5b9a\uff0c\u4e5f\u53ef\u4ee5\u901a\u8fc7\u540d\u79f0\u548c\u53c2\u6570\u6307\u5b9a\uff0c\u4f8b\u5982 foo(integer, text) \u3002\u5982\u679c\u6709\u591a\u4e2a\u540c\u540d\u51fd\u6570\uff0c\u5219\u5fc5\u987b\u7ed9\u51fa\u53c2\u6570\u7c7b\u578b\u3002 \u5982\u679c\u672a\u6307\u5b9a\u51fd\u6570\uff0c\u5219\u4f1a\u5448\u73b0\u4e00\u4e2a\u7a7a\u7684 CREATE FUNCTION \u6a21\u677f\u4f9b\u7f16\u8f91\u3002 \u5982\u679c\u6307\u5b9a\u4e86\u884c\u53f7\uff0c psql \u5c06\u5149\u6807\u5b9a\u4f4d\u5728\u51fd\u6570\u4f53\u7684\u6307\u5b9a\u884c\u4e0a\u3002\uff08\u8bf7\u6ce8\u610f\uff0c\u51fd\u6570\u4f53\u901a\u5e38\u4e0d\u4f1a\u4ece\u6587\u4ef6\u7684\u7b2c\u4e00\u884c\u5f00\u59cb\u3002\uff09 \u4e0e\u5927\u591a\u6570\u5176\u4ed6\u5143\u547d\u4ee4\u4e0d\u540c\uff0c\u6574\u4e2a\u884c\u7684\u5269\u4f59\u90e8\u5206\u59cb\u7ec8\u88ab\u89c6\u4e3a \\ef \u7684\u53c2\u6570\uff0c\u53c2\u6570\u4e2d\u4e0d\u8fdb\u884c\u53d8\u91cf\u63d2\u503c\u6216\u53cd\u5f15\u53f7\u6269\u5c55\u3002 \u63d0\u793a \u5173\u4e8e\u5982\u4f55\u914d\u7f6e\u548c\u81ea\u5b9a\u4e49\u7f16\u8f91\u5668\uff0c\u8bf7\u53c2\u89c1\u4e0b\u9762\u7684 \u73af\u5883 \u3002", "comparison_data": {"modifiers": [], "signature": "\\ef [ function_description [ line_number ] ]", "spellings": ["\\ef"], "definition": "This command fetches and edits the definition of the named function or procedure, in the form of a CREATE OR REPLACE FUNCTION or CREATE OR REPLACE PROCEDURE command. Editing is done in the same way as for \\edit . If you quit the editor without saving, the statement is discarded. If you save and exit the editor, the updated command is executed immediately if you added a semicolon to it. Otherwise it is redisplayed; type semicolon or \\g to send it, or \\r to cancel. The target function can be specified by name alone, or by name and arguments, for example foo(integer, text) . The argument types must be given if there is more than one function of the same name. If no function is specified, a blank CREATE FUNCTION template is presented for editing. If a line number is specified, psql will position the cursor on the specified line of the function body. (Note that the function body typically does not begin on the first line of the file.) Unlike most other meta-commands, the entire remainder of the line is always taken to be the argument(s) of \\ef , and neither variable interpolation nor backquote expansion are performed in the arguments. Tip See Environment , below, for how to configure and customize your editor."}, "comparison_hash": "c6f53578cbd03f42a5ee2d84af67e951894977f92c34d928eb87890b8e81638e", "manual_language": "zh", "description_zh_html": "<p>psql \u547d\u4ee4 \\ef [ function_description [ line_number ] ]\u3002</p><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u5b9a\u4e49</h3><dd><p>\n         \u8fd9\u4e2a\u547d\u4ee4\u83b7\u53d6\u5e76\u7f16\u8f91\u6307\u5b9a\u51fd\u6570\u6216\u8fc7\u7a0b\u7684\u5b9a\u4e49\uff0c\u5f62\u5f0f\u4e3a <code>CREATE OR REPLACE FUNCTION</code> \u6216\n         <code>CREATE OR REPLACE PROCEDURE</code> \u547d\u4ee4\u3002\u7f16\u8f91\u65b9\u5f0f\u4e0e<code>\\edit</code> \u76f8\u540c\u3002\u5982\u679c\u5728\u4e0d\u4fdd\u5b58\u7684\u60c5\u51b5\u4e0b\u9000\u51fa\u7f16\u8f91\u5668\uff0c\u5219\u8be5\u8bed\u53e5\u4f1a\u88ab\u4e22\u5f03\u3002\u5982\u679c\u4fdd\u5b58\u5e76\u9000\u51fa\u7f16\u8f91\u5668\uff0c\u5e76\u5728\u5176\u4e2d\u6dfb\u52a0\u4e86\u5206\u53f7\uff0c\u5219\u66f4\u65b0\u540e\u7684\u547d\u4ee4\u4f1a\u7acb\u5373\u6267\u884c\u3002\u5426\u5219\u5b83\u4f1a\u91cd\u65b0\u663e\u793a\uff1b\u952e\u5165\u5206\u53f7\u6216<code>\\g</code> \u53d1\u9001\u5b83\uff0c\u6216\u7528<code>\\r</code> \u53d6\u6d88\u3002\n        </p><p>\n         \u76ee\u6807\u51fd\u6570\u53ef\u4ee5\u4ec5\u901a\u8fc7\u540d\u79f0\u6307\u5b9a\uff0c\u4e5f\u53ef\u4ee5\u901a\u8fc7\u540d\u79f0\u548c\u53c2\u6570\u6307\u5b9a\uff0c\u4f8b\u5982 <code>foo(integer, text)</code>\u3002\u5982\u679c\u6709\u591a\u4e2a\u540c\u540d\u51fd\u6570\uff0c\u5219\u5fc5\u987b\u7ed9\u51fa\u53c2\u6570\u7c7b\u578b\u3002\n        </p><p>\n         \u5982\u679c\u672a\u6307\u5b9a\u51fd\u6570\uff0c\u5219\u4f1a\u5448\u73b0\u4e00\u4e2a\u7a7a\u7684 <code>CREATE FUNCTION</code> \u6a21\u677f\u4f9b\u7f16\u8f91\u3002\n        </p><p>\n        \u5982\u679c\u6307\u5b9a\u4e86\u884c\u53f7\uff0c<span>psql</span> \u5c06\u5149\u6807\u5b9a\u4f4d\u5728\u51fd\u6570\u4f53\u7684\u6307\u5b9a\u884c\u4e0a\u3002\uff08\u8bf7\u6ce8\u610f\uff0c\u51fd\u6570\u4f53\u901a\u5e38\u4e0d\u4f1a\u4ece\u6587\u4ef6\u7684\u7b2c\u4e00\u884c\u5f00\u59cb\u3002\uff09\n        </p><p>\n        \u4e0e\u5927\u591a\u6570\u5176\u4ed6\u5143\u547d\u4ee4\u4e0d\u540c\uff0c\u6574\u4e2a\u884c\u7684\u5269\u4f59\u90e8\u5206\u59cb\u7ec8\u88ab\u89c6\u4e3a<code>\\ef</code> \u7684\u53c2\u6570\uff0c\u53c2\u6570\u4e2d\u4e0d\u8fdb\u884c\u53d8\u91cf\u63d2\u503c\u6216\u53cd\u5f15\u53f7\u6269\u5c55\u3002\n        </p><div><h3>\u63d0\u793a</h3><p>\n        \u5173\u4e8e\u5982\u4f55\u914d\u7f6e\u548c\u81ea\u5b9a\u4e49\u7f16\u8f91\u5668\uff0c\u8bf7\u53c2\u89c1\u4e0b\u9762\u7684<a href=\"/zh/docs/devel/app-psql.html#APP-PSQL-ENVIRONMENT\" rel=\"nofollow\">\u73af\u5883</a>\u3002\n        </p></div></dd><p><a href=\"/zh/docs/devel/app-psql.html#APP-PSQL-META-COMMAND-EF\" rel=\"nofollow\">\u67e5\u770b\u5b8c\u6574\u4e2d\u6587\u624b\u518c\u4e0e\u4e0a\u4e0b\u6587</a>\u3002</p>", "source_revalidation": {"kind": "static-same-version-source-and-manual-replay", "audit": "wiki-audit-20261023", "runtime_rerun": false, "compared_fields": "entity membership and source-derived facts; presentation markup normalized", "source_revision": "3cd0885bb4eccdbaac1a21177cc639e9031e54bd8ea6536c45224b5563354ce2", "previous_source_revision": "2eba5e0fd4c3bffb2803247b6cd537878e9d6ee5a6dfbe3c50ece8b421b80918"}}}}, "snapshot": {"lang": "zh", "facts": [{"label": "\u5ba2\u6237\u7aef", "value": "psql 18.7"}, {"label": "\u533a\u5206\u5927\u5c0f\u5199\u7684\u5199\u6cd5", "value": "\\ef"}], "tables": [{"key": "spellings", "rows": [{"command": {"url": "/wiki/psql/cmd-65-66/?v=18", "text": "\\ef"}, "modifiers": "\u6b64\u8bed\u6cd5\u7b7e\u540d\u672a\u5217\u51fa"}], "title": "\u672c\u7248\u624b\u518c\u4e2d\u7684\u5199\u6cd5", "columns": [{"key": "command", "label": "\u547d\u4ee4"}, {"key": "modifiers", "label": "\u624b\u518c\u4e2d\u7684\u540e\u7f00\u4fee\u9970\u7b26"}]}], "command": "\\ef", "related": [{"url": "/wiki/tool/psql/?v=18", "label": "psql \u547d\u4ee4\u884c\u9009\u9879\u53ca\u5b8c\u6574\u624b\u518c"}], "release": {"ref": "https://ftp.postgresql.org/pub/source/v18.7/postgresql-18.7.tar.bz2", "label": "18.7", "major": "18", "channel": "stable", "manifest": {"major": "18", "release": "18.7", "source_url": "https://ftp.postgresql.org/pub/source/v18.7/postgresql-18.7.tar.bz2", "source_sha256": "441dfae4280cae3e0425e5f876f80559fb0731c140f1aae22b3e5a54d0411bfd"}, "revision": "1b2d62b4845aa46374f2cb680f95d3392322cc8128646992ae4e18d0e7084915", "evidence_kind": "English manual and source declarations", "source_sha256": "441dfae4280cae3e0425e5f876f80559fb0731c140f1aae22b3e5a54d0411bfd"}, "sources": [{"url": "/docs/18/app-psql.html#APP-PSQL-META-COMMAND-EF", "file": "app-psql.html", "label": "18.7 English manual \u00b7 app-psql.html", "anchor": "APP-PSQL-META-COMMAND-EF", "sha256": "af50448485df02bdef2b72b8347192ba029c7082b8d0392ecb17db44ad533aaf"}], "zh_from": "same-version-manual", "facts_zh": [{"label": "\u5ba2\u6237\u7aef", "value": "psql 18.7"}, {"label": "\u533a\u5206\u5927\u5c0f\u5199\u7684\u5199\u6cd5", "value": "\\ef"}], "sections": [], "center_zh": {"locale": "zh-Hans", "payload": {"description_zh": "\u8fd9\u4e2a\u547d\u4ee4\u83b7\u53d6\u5e76\u7f16\u8f91\u6307\u5b9a\u51fd\u6570\u6216\u8fc7\u7a0b\u7684\u5b9a\u4e49\uff0c\u5f62\u5f0f\u4e3a CREATE OR REPLACE FUNCTION \u6216 CREATE OR REPLACE PROCEDURE \u547d\u4ee4\u3002\u7f16\u8f91\u65b9\u5f0f\u4e0e \\edit \u76f8\u540c\u3002\u5982\u679c\u5728\u4e0d\u4fdd\u5b58\u7684\u60c5\u51b5\u4e0b\u9000\u51fa\u7f16\u8f91\u5668\uff0c\u5219\u8be5\u8bed\u53e5\u4f1a\u88ab\u4e22\u5f03\u3002\u5982\u679c\u4fdd\u5b58\u5e76\u9000\u51fa\u7f16\u8f91\u5668\uff0c\u5e76\u5728\u5176\u4e2d\u6dfb\u52a0\u4e86\u5206\u53f7\uff0c\u5219\u66f4\u65b0\u540e\u7684\u547d\u4ee4\u4f1a\u7acb\u5373\u6267\u884c\u3002\u5426\u5219\u5b83\u4f1a\u91cd\u65b0\u663e\u793a\uff1b\u952e\u5165\u5206\u53f7\u6216 \\g \u53d1\u9001\u5b83\uff0c\u6216\u7528 \\r \u53d6\u6d88\u3002", "description_zh_html": "<dd><p>\n         \u8fd9\u4e2a\u547d\u4ee4\u83b7\u53d6\u5e76\u7f16\u8f91\u6307\u5b9a\u51fd\u6570\u6216\u8fc7\u7a0b\u7684\u5b9a\u4e49\uff0c\u5f62\u5f0f\u4e3a <code class=\"command\">CREATE OR REPLACE FUNCTION</code> \u6216\n         <code class=\"command\">CREATE OR REPLACE PROCEDURE</code> \u547d\u4ee4\u3002\u7f16\u8f91\u65b9\u5f0f\u4e0e<code class=\"literal\">\\edit</code> \u76f8\u540c\u3002\u5982\u679c\u5728\u4e0d\u4fdd\u5b58\u7684\u60c5\u51b5\u4e0b\u9000\u51fa\u7f16\u8f91\u5668\uff0c\u5219\u8be5\u8bed\u53e5\u4f1a\u88ab\u4e22\u5f03\u3002\u5982\u679c\u4fdd\u5b58\u5e76\u9000\u51fa\u7f16\u8f91\u5668\uff0c\u5e76\u5728\u5176\u4e2d\u6dfb\u52a0\u4e86\u5206\u53f7\uff0c\u5219\u66f4\u65b0\u540e\u7684\u547d\u4ee4\u4f1a\u7acb\u5373\u6267\u884c\u3002\u5426\u5219\u5b83\u4f1a\u91cd\u65b0\u663e\u793a\uff1b\u952e\u5165\u5206\u53f7\u6216<code class=\"literal\">\\g</code> \u53d1\u9001\u5b83\uff0c\u6216\u7528<code class=\"literal\">\\r</code> \u53d6\u6d88\u3002\n        </p><p>\n         \u76ee\u6807\u51fd\u6570\u53ef\u4ee5\u4ec5\u901a\u8fc7\u540d\u79f0\u6307\u5b9a\uff0c\u4e5f\u53ef\u4ee5\u901a\u8fc7\u540d\u79f0\u548c\u53c2\u6570\u6307\u5b9a\uff0c\u4f8b\u5982 <code class=\"literal\">foo(integer, text)</code>\u3002\u5982\u679c\u6709\u591a\u4e2a\u540c\u540d\u51fd\u6570\uff0c\u5219\u5fc5\u987b\u7ed9\u51fa\u53c2\u6570\u7c7b\u578b\u3002\n        </p><p>\n         \u5982\u679c\u672a\u6307\u5b9a\u51fd\u6570\uff0c\u5219\u4f1a\u5448\u73b0\u4e00\u4e2a\u7a7a\u7684 <code class=\"command\">CREATE FUNCTION</code> \u6a21\u677f\u4f9b\u7f16\u8f91\u3002\n        </p><p>\n        \u5982\u679c\u6307\u5b9a\u4e86\u884c\u53f7\uff0c<span class=\"application\">psql</span> \u5c06\u5149\u6807\u5b9a\u4f4d\u5728\u51fd\u6570\u4f53\u7684\u6307\u5b9a\u884c\u4e0a\u3002\uff08\u8bf7\u6ce8\u610f\uff0c\u51fd\u6570\u4f53\u901a\u5e38\u4e0d\u4f1a\u4ece\u6587\u4ef6\u7684\u7b2c\u4e00\u884c\u5f00\u59cb\u3002\uff09\n        </p><p>\n        \u4e0e\u5927\u591a\u6570\u5176\u4ed6\u5143\u547d\u4ee4\u4e0d\u540c\uff0c\u6574\u4e2a\u884c\u7684\u5269\u4f59\u90e8\u5206\u59cb\u7ec8\u88ab\u89c6\u4e3a<code class=\"command\">\\ef</code> \u7684\u53c2\u6570\uff0c\u53c2\u6570\u4e2d\u4e0d\u8fdb\u884c\u53d8\u91cf\u63d2\u503c\u6216\u53cd\u5f15\u53f7\u6269\u5c55\u3002\n        </p><div class=\"tip\"><h3 class=\"title\">\u63d0\u793a</h3><p>\n        \u5173\u4e8e\u5982\u4f55\u914d\u7f6e\u548c\u81ea\u5b9a\u4e49\u7f16\u8f91\u5668\uff0c\u8bf7\u53c2\u89c1\u4e0b\u9762\u7684<a class=\"xref\" href=\"/docs/18/app-psql.html#APP-PSQL-ENVIRONMENT\" title=\"\u73af\u5883\">\u73af\u5883</a>\u3002\n        </p></div></dd>"}, "summary": "\u8fd9\u4e2a\u547d\u4ee4\u83b7\u53d6\u5e76\u7f16\u8f91\u6307\u5b9a\u51fd\u6570\u6216\u8fc7\u7a0b\u7684\u5b9a\u4e49\uff0c\u5f62\u5f0f\u4e3a CREATE OR REPLACE FUNCTION \u6216 CREATE OR REPLACE PROCEDURE \u547d\u4ee4\u3002\u7f16\u8f91\u65b9\u5f0f\u4e0e \\edit \u76f8\u540c\u3002\u5982\u679c\u5728\u4e0d\u4fdd\u5b58\u7684\u60c5\u51b5\u4e0b\u9000\u51fa\u7f16\u8f91\u5668\uff0c\u5219\u8be5\u8bed\u53e5\u4f1a\u88ab\u4e22\u5f03\u3002\u5982\u679c\u4fdd\u5b58\u5e76\u9000\u51fa\u7f16\u8f91\u5668\uff0c\u5e76\u5728\u5176\u4e2d\u6dfb\u52a0\u4e86\u5206\u53f7\uff0c\u5219\u66f4\u65b0\u540e\u7684\u547d\u4ee4\u4f1a\u7acb\u5373\u6267\u884c\u3002\u5426\u5219\u5b83\u4f1a\u91cd\u65b0\u663e\u793a\uff1b\u952e\u5165\u5206\u53f7\u6216 \\g \u53d1\u9001\u5b83\uff0c\u6216\u7528 \\r \u53d6\u6d88\u3002", "body_html": "<dd><p>\n         \u8fd9\u4e2a\u547d\u4ee4\u83b7\u53d6\u5e76\u7f16\u8f91\u6307\u5b9a\u51fd\u6570\u6216\u8fc7\u7a0b\u7684\u5b9a\u4e49\uff0c\u5f62\u5f0f\u4e3a <code class=\"command\">CREATE OR REPLACE FUNCTION</code> \u6216\n         <code class=\"command\">CREATE OR REPLACE PROCEDURE</code> \u547d\u4ee4\u3002\u7f16\u8f91\u65b9\u5f0f\u4e0e<code class=\"literal\">\\edit</code> \u76f8\u540c\u3002\u5982\u679c\u5728\u4e0d\u4fdd\u5b58\u7684\u60c5\u51b5\u4e0b\u9000\u51fa\u7f16\u8f91\u5668\uff0c\u5219\u8be5\u8bed\u53e5\u4f1a\u88ab\u4e22\u5f03\u3002\u5982\u679c\u4fdd\u5b58\u5e76\u9000\u51fa\u7f16\u8f91\u5668\uff0c\u5e76\u5728\u5176\u4e2d\u6dfb\u52a0\u4e86\u5206\u53f7\uff0c\u5219\u66f4\u65b0\u540e\u7684\u547d\u4ee4\u4f1a\u7acb\u5373\u6267\u884c\u3002\u5426\u5219\u5b83\u4f1a\u91cd\u65b0\u663e\u793a\uff1b\u952e\u5165\u5206\u53f7\u6216<code class=\"literal\">\\g</code> \u53d1\u9001\u5b83\uff0c\u6216\u7528<code class=\"literal\">\\r</code> \u53d6\u6d88\u3002\n        </p><p>\n         \u76ee\u6807\u51fd\u6570\u53ef\u4ee5\u4ec5\u901a\u8fc7\u540d\u79f0\u6307\u5b9a\uff0c\u4e5f\u53ef\u4ee5\u901a\u8fc7\u540d\u79f0\u548c\u53c2\u6570\u6307\u5b9a\uff0c\u4f8b\u5982 <code class=\"literal\">foo(integer, text)</code>\u3002\u5982\u679c\u6709\u591a\u4e2a\u540c\u540d\u51fd\u6570\uff0c\u5219\u5fc5\u987b\u7ed9\u51fa\u53c2\u6570\u7c7b\u578b\u3002\n        </p><p>\n         \u5982\u679c\u672a\u6307\u5b9a\u51fd\u6570\uff0c\u5219\u4f1a\u5448\u73b0\u4e00\u4e2a\u7a7a\u7684 <code class=\"command\">CREATE FUNCTION</code> \u6a21\u677f\u4f9b\u7f16\u8f91\u3002\n        </p><p>\n        \u5982\u679c\u6307\u5b9a\u4e86\u884c\u53f7\uff0c<span class=\"application\">psql</span> \u5c06\u5149\u6807\u5b9a\u4f4d\u5728\u51fd\u6570\u4f53\u7684\u6307\u5b9a\u884c\u4e0a\u3002\uff08\u8bf7\u6ce8\u610f\uff0c\u51fd\u6570\u4f53\u901a\u5e38\u4e0d\u4f1a\u4ece\u6587\u4ef6\u7684\u7b2c\u4e00\u884c\u5f00\u59cb\u3002\uff09\n        </p><p>\n        \u4e0e\u5927\u591a\u6570\u5176\u4ed6\u5143\u547d\u4ee4\u4e0d\u540c\uff0c\u6574\u4e2a\u884c\u7684\u5269\u4f59\u90e8\u5206\u59cb\u7ec8\u88ab\u89c6\u4e3a<code class=\"command\">\\ef</code> \u7684\u53c2\u6570\uff0c\u53c2\u6570\u4e2d\u4e0d\u8fdb\u884c\u53d8\u91cf\u63d2\u503c\u6216\u53cd\u5f15\u53f7\u6269\u5c55\u3002\n        </p><div class=\"tip\"><h3 class=\"title\">\u63d0\u793a</h3><p>\n        \u5173\u4e8e\u5982\u4f55\u914d\u7f6e\u548c\u81ea\u5b9a\u4e49\u7f16\u8f91\u5668\uff0c\u8bf7\u53c2\u89c1\u4e0b\u9762\u7684<a class=\"xref\" href=\"/docs/18/app-psql.html#APP-PSQL-ENVIRONMENT\" title=\"\u73af\u5883\">\u73af\u5883</a>\u3002\n        </p></div></dd>", "body_sha256": "34ad6c1a2783cbd0b9ca2044673fca1c66b019abf730e7d5ecf8145f6fb4c31f", "content_hash": "91aebfc0813ed8d2c29add0bcac77320aaeba4a57e7d9db115c10a3150f68806", "source_revision": "pgdoc:b9f0e7232f60f380d642ac9b99226606c254b552", "definition_version": "18", "documentation_release": "18.7"}, "modifiers": [], "signature": "\\ef [ function_description [ line_number ] ]", "spellings": ["\\ef"], "tables_zh": [{"key": "spellings", "rows": [{"command": {"url": "/wiki/psql/cmd-65-66/?v=18", "text": "\\ef"}, "modifiers": "\u6b64\u8bed\u6cd5\u7b7e\u540d\u672a\u5217\u51fa"}], "title": "\u672c\u7248\u624b\u518c\u4e2d\u7684\u5199\u6cd5", "columns": [{"key": "command", "label": "\u547d\u4ee4"}, {"key": "modifiers", "label": "\u624b\u518c\u4e2d\u7684\u540e\u7f00\u4fee\u9970\u7b26"}]}], "related_zh": [{"url": "/wiki/tool/psql/?v=18", "label": "psql \u547d\u4ee4\u884c\u9009\u9879\u53ca\u5b8c\u6574\u624b\u518c"}], "description": ["\u8fd9\u4e2a\u547d\u4ee4\u83b7\u53d6\u5e76\u7f16\u8f91\u6307\u5b9a\u51fd\u6570\u6216\u8fc7\u7a0b\u7684\u5b9a\u4e49\uff0c\u5f62\u5f0f\u4e3a CREATE OR REPLACE FUNCTION \u6216 CREATE OR REPLACE PROCEDURE \u547d\u4ee4\u3002\u7f16\u8f91\u65b9\u5f0f\u4e0e \\edit \u76f8\u540c\u3002\u5982\u679c\u5728\u4e0d\u4fdd\u5b58\u7684\u60c5\u51b5\u4e0b\u9000\u51fa\u7f16\u8f91\u5668\uff0c\u5219\u8be5\u8bed\u53e5\u4f1a\u88ab\u4e22\u5f03\u3002\u5982\u679c\u4fdd\u5b58\u5e76\u9000\u51fa\u7f16\u8f91\u5668\uff0c\u5e76\u5728\u5176\u4e2d\u6dfb\u52a0\u4e86\u5206\u53f7\uff0c\u5219\u66f4\u65b0\u540e\u7684\u547d\u4ee4\u4f1a\u7acb\u5373\u6267\u884c\u3002\u5426\u5219\u5b83\u4f1a\u91cd\u65b0\u663e\u793a\uff1b\u952e\u5165\u5206\u53f7\u6216 \\g \u53d1\u9001\u5b83\uff0c\u6216\u7528 \\r \u53d6\u6d88\u3002"], "manual_html": "<dd><p>\n         \u8fd9\u4e2a\u547d\u4ee4\u83b7\u53d6\u5e76\u7f16\u8f91\u6307\u5b9a\u51fd\u6570\u6216\u8fc7\u7a0b\u7684\u5b9a\u4e49\uff0c\u5f62\u5f0f\u4e3a <code class=\"command\">CREATE OR REPLACE FUNCTION</code> \u6216\n         <code class=\"command\">CREATE OR REPLACE PROCEDURE</code> \u547d\u4ee4\u3002\u7f16\u8f91\u65b9\u5f0f\u4e0e<code class=\"literal\">\\edit</code> \u76f8\u540c\u3002\u5982\u679c\u5728\u4e0d\u4fdd\u5b58\u7684\u60c5\u51b5\u4e0b\u9000\u51fa\u7f16\u8f91\u5668\uff0c\u5219\u8be5\u8bed\u53e5\u4f1a\u88ab\u4e22\u5f03\u3002\u5982\u679c\u4fdd\u5b58\u5e76\u9000\u51fa\u7f16\u8f91\u5668\uff0c\u5e76\u5728\u5176\u4e2d\u6dfb\u52a0\u4e86\u5206\u53f7\uff0c\u5219\u66f4\u65b0\u540e\u7684\u547d\u4ee4\u4f1a\u7acb\u5373\u6267\u884c\u3002\u5426\u5219\u5b83\u4f1a\u91cd\u65b0\u663e\u793a\uff1b\u952e\u5165\u5206\u53f7\u6216<code class=\"literal\">\\g</code> \u53d1\u9001\u5b83\uff0c\u6216\u7528<code class=\"literal\">\\r</code> \u53d6\u6d88\u3002\n        </p><p>\n         \u76ee\u6807\u51fd\u6570\u53ef\u4ee5\u4ec5\u901a\u8fc7\u540d\u79f0\u6307\u5b9a\uff0c\u4e5f\u53ef\u4ee5\u901a\u8fc7\u540d\u79f0\u548c\u53c2\u6570\u6307\u5b9a\uff0c\u4f8b\u5982 <code class=\"literal\">foo(integer, text)</code>\u3002\u5982\u679c\u6709\u591a\u4e2a\u540c\u540d\u51fd\u6570\uff0c\u5219\u5fc5\u987b\u7ed9\u51fa\u53c2\u6570\u7c7b\u578b\u3002\n        </p><p>\n         \u5982\u679c\u672a\u6307\u5b9a\u51fd\u6570\uff0c\u5219\u4f1a\u5448\u73b0\u4e00\u4e2a\u7a7a\u7684 <code class=\"command\">CREATE FUNCTION</code> \u6a21\u677f\u4f9b\u7f16\u8f91\u3002\n        </p><p>\n        \u5982\u679c\u6307\u5b9a\u4e86\u884c\u53f7\uff0c<span class=\"application\">psql</span> \u5c06\u5149\u6807\u5b9a\u4f4d\u5728\u51fd\u6570\u4f53\u7684\u6307\u5b9a\u884c\u4e0a\u3002\uff08\u8bf7\u6ce8\u610f\uff0c\u51fd\u6570\u4f53\u901a\u5e38\u4e0d\u4f1a\u4ece\u6587\u4ef6\u7684\u7b2c\u4e00\u884c\u5f00\u59cb\u3002\uff09\n        </p><p>\n        \u4e0e\u5927\u591a\u6570\u5176\u4ed6\u5143\u547d\u4ee4\u4e0d\u540c\uff0c\u6574\u4e2a\u884c\u7684\u5269\u4f59\u90e8\u5206\u59cb\u7ec8\u88ab\u89c6\u4e3a<code class=\"command\">\\ef</code> \u7684\u53c2\u6570\uff0c\u53c2\u6570\u4e2d\u4e0d\u8fdb\u884c\u53d8\u91cf\u63d2\u503c\u6216\u53cd\u5f15\u53f7\u6269\u5c55\u3002\n        </p><div class=\"tip\"><h3 class=\"title\">\u63d0\u793a</h3><p>\n        \u5173\u4e8e\u5982\u4f55\u914d\u7f6e\u548c\u81ea\u5b9a\u4e49\u7f16\u8f91\u5668\uff0c\u8bf7\u53c2\u89c1\u4e0b\u9762\u7684<a class=\"xref\" href=\"/docs/18/app-psql.html#APP-PSQL-ENVIRONMENT\" title=\"\u73af\u5883\">\u73af\u5883</a>\u3002\n        </p></div></dd>", "manual_path": "app-psql.html#APP-PSQL-META-COMMAND-EF", "sections_zh": [], "localization": {"status": "same-version-reviewed-manual", "language": "zh", "source_language": "en", "source_revision": "pgdoc:b9f0e7232f60f380d642ac9b99226606c254b552", "documentation_release": "18.7"}, "description_zh": "\u8fd9\u4e2a\u547d\u4ee4\u83b7\u53d6\u5e76\u7f16\u8f91\u6307\u5b9a\u51fd\u6570\u6216\u8fc7\u7a0b\u7684\u5b9a\u4e49\uff0c\u5f62\u5f0f\u4e3a CREATE OR REPLACE FUNCTION \u6216 CREATE OR REPLACE PROCEDURE \u547d\u4ee4\u3002\u7f16\u8f91\u65b9\u5f0f\u4e0e \\edit \u76f8\u540c\u3002\u5982\u679c\u5728\u4e0d\u4fdd\u5b58\u7684\u60c5\u51b5\u4e0b\u9000\u51fa\u7f16\u8f91\u5668\uff0c\u5219\u8be5\u8bed\u53e5\u4f1a\u88ab\u4e22\u5f03\u3002\u5982\u679c\u4fdd\u5b58\u5e76\u9000\u51fa\u7f16\u8f91\u5668\uff0c\u5e76\u5728\u5176\u4e2d\u6dfb\u52a0\u4e86\u5206\u53f7\uff0c\u5219\u66f4\u65b0\u540e\u7684\u547d\u4ee4\u4f1a\u7acb\u5373\u6267\u884c\u3002\u5426\u5219\u5b83\u4f1a\u91cd\u65b0\u663e\u793a\uff1b\u952e\u5165\u5206\u53f7\u6216 \\g \u53d1\u9001\u5b83\uff0c\u6216\u7528 \\r \u53d6\u6d88\u3002", "comparison_data": {"modifiers": [], "signature": "\\ef [ function_description [ line_number ] ]", "spellings": ["\\ef"], "definition": "This command fetches and edits the definition of the named function or procedure, in the form of a CREATE OR REPLACE FUNCTION or CREATE OR REPLACE PROCEDURE command. Editing is done in the same way as for \\edit . If you quit the editor without saving, the statement is discarded. If you save and exit the editor, the updated command is executed immediately if you added a semicolon to it. Otherwise it is redisplayed; type semicolon or \\g to send it, or \\r to cancel. The target function can be specified by name alone, or by name and arguments, for example foo(integer, text) . The argument types must be given if there is more than one function of the same name. If no function is specified, a blank CREATE FUNCTION template is presented for editing. If a line number is specified, psql will position the cursor on the specified line of the function body. (Note that the function body typically does not begin on the first line of the file.) Unlike most other meta-commands, the entire remainder of the line is always taken to be the argument(s) of \\ef , and neither variable interpolation nor backquote expansion are performed in the arguments. Tip See Environment , below, for how to configure and customize your editor."}, "comparison_hash": "c6f53578cbd03f42a5ee2d84af67e951894977f92c34d928eb87890b8e81638e", "manual_language": "zh", "description_zh_html": "<dd><p>\n         \u8fd9\u4e2a\u547d\u4ee4\u83b7\u53d6\u5e76\u7f16\u8f91\u6307\u5b9a\u51fd\u6570\u6216\u8fc7\u7a0b\u7684\u5b9a\u4e49\uff0c\u5f62\u5f0f\u4e3a <code class=\"command\">CREATE OR REPLACE FUNCTION</code> \u6216\n         <code class=\"command\">CREATE OR REPLACE PROCEDURE</code> \u547d\u4ee4\u3002\u7f16\u8f91\u65b9\u5f0f\u4e0e<code class=\"literal\">\\edit</code> \u76f8\u540c\u3002\u5982\u679c\u5728\u4e0d\u4fdd\u5b58\u7684\u60c5\u51b5\u4e0b\u9000\u51fa\u7f16\u8f91\u5668\uff0c\u5219\u8be5\u8bed\u53e5\u4f1a\u88ab\u4e22\u5f03\u3002\u5982\u679c\u4fdd\u5b58\u5e76\u9000\u51fa\u7f16\u8f91\u5668\uff0c\u5e76\u5728\u5176\u4e2d\u6dfb\u52a0\u4e86\u5206\u53f7\uff0c\u5219\u66f4\u65b0\u540e\u7684\u547d\u4ee4\u4f1a\u7acb\u5373\u6267\u884c\u3002\u5426\u5219\u5b83\u4f1a\u91cd\u65b0\u663e\u793a\uff1b\u952e\u5165\u5206\u53f7\u6216<code class=\"literal\">\\g</code> \u53d1\u9001\u5b83\uff0c\u6216\u7528<code class=\"literal\">\\r</code> \u53d6\u6d88\u3002\n        </p><p>\n         \u76ee\u6807\u51fd\u6570\u53ef\u4ee5\u4ec5\u901a\u8fc7\u540d\u79f0\u6307\u5b9a\uff0c\u4e5f\u53ef\u4ee5\u901a\u8fc7\u540d\u79f0\u548c\u53c2\u6570\u6307\u5b9a\uff0c\u4f8b\u5982 <code class=\"literal\">foo(integer, text)</code>\u3002\u5982\u679c\u6709\u591a\u4e2a\u540c\u540d\u51fd\u6570\uff0c\u5219\u5fc5\u987b\u7ed9\u51fa\u53c2\u6570\u7c7b\u578b\u3002\n        </p><p>\n         \u5982\u679c\u672a\u6307\u5b9a\u51fd\u6570\uff0c\u5219\u4f1a\u5448\u73b0\u4e00\u4e2a\u7a7a\u7684 <code class=\"command\">CREATE FUNCTION</code> \u6a21\u677f\u4f9b\u7f16\u8f91\u3002\n        </p><p>\n        \u5982\u679c\u6307\u5b9a\u4e86\u884c\u53f7\uff0c<span class=\"application\">psql</span> \u5c06\u5149\u6807\u5b9a\u4f4d\u5728\u51fd\u6570\u4f53\u7684\u6307\u5b9a\u884c\u4e0a\u3002\uff08\u8bf7\u6ce8\u610f\uff0c\u51fd\u6570\u4f53\u901a\u5e38\u4e0d\u4f1a\u4ece\u6587\u4ef6\u7684\u7b2c\u4e00\u884c\u5f00\u59cb\u3002\uff09\n        </p><p>\n        \u4e0e\u5927\u591a\u6570\u5176\u4ed6\u5143\u547d\u4ee4\u4e0d\u540c\uff0c\u6574\u4e2a\u884c\u7684\u5269\u4f59\u90e8\u5206\u59cb\u7ec8\u88ab\u89c6\u4e3a<code class=\"command\">\\ef</code> \u7684\u53c2\u6570\uff0c\u53c2\u6570\u4e2d\u4e0d\u8fdb\u884c\u53d8\u91cf\u63d2\u503c\u6216\u53cd\u5f15\u53f7\u6269\u5c55\u3002\n        </p><div class=\"tip\"><h3 class=\"title\">\u63d0\u793a</h3><p>\n        \u5173\u4e8e\u5982\u4f55\u914d\u7f6e\u548c\u81ea\u5b9a\u4e49\u7f16\u8f91\u5668\uff0c\u8bf7\u53c2\u89c1\u4e0b\u9762\u7684<a class=\"xref\" href=\"/docs/18/app-psql.html#APP-PSQL-ENVIRONMENT\" title=\"\u73af\u5883\">\u73af\u5883</a>\u3002\n        </p></div></dd>", "documentation_revision": {"inputs": [{"file": "app-psql.html", "kind": "same-version-reviewed-manual", "locale": "en", "sha256": "af50448485df02bdef2b72b8347192ba029c7082b8d0392ecb17db44ad533aaf", "version": "18.7"}, {"file": "app-psql.html", "kind": "same-version-reviewed-manual", "locale": "zh-Hans", "sha256": "cb475c53a16d9e06358f5e6c9c5649645db92568cfd319f230c62c9f57ae090b", "version": "18.7"}], "release": "18.7", "source_revision": "pgdoc:b9f0e7232f60f380d642ac9b99226606c254b552", "runtime_remeasured": false}, "center_zh_rendered": "<dl><dd><p>\n         \u8fd9\u4e2a\u547d\u4ee4\u83b7\u53d6\u5e76\u7f16\u8f91\u6307\u5b9a\u51fd\u6570\u6216\u8fc7\u7a0b\u7684\u5b9a\u4e49\uff0c\u5f62\u5f0f\u4e3a <code class=\"command\">CREATE OR REPLACE FUNCTION</code> \u6216\n         <code class=\"command\">CREATE OR REPLACE PROCEDURE</code> \u547d\u4ee4\u3002\u7f16\u8f91\u65b9\u5f0f\u4e0e<code class=\"literal\">\\edit</code> \u76f8\u540c\u3002\u5982\u679c\u5728\u4e0d\u4fdd\u5b58\u7684\u60c5\u51b5\u4e0b\u9000\u51fa\u7f16\u8f91\u5668\uff0c\u5219\u8be5\u8bed\u53e5\u4f1a\u88ab\u4e22\u5f03\u3002\u5982\u679c\u4fdd\u5b58\u5e76\u9000\u51fa\u7f16\u8f91\u5668\uff0c\u5e76\u5728\u5176\u4e2d\u6dfb\u52a0\u4e86\u5206\u53f7\uff0c\u5219\u66f4\u65b0\u540e\u7684\u547d\u4ee4\u4f1a\u7acb\u5373\u6267\u884c\u3002\u5426\u5219\u5b83\u4f1a\u91cd\u65b0\u663e\u793a\uff1b\u952e\u5165\u5206\u53f7\u6216<code class=\"literal\">\\g</code> \u53d1\u9001\u5b83\uff0c\u6216\u7528<code class=\"literal\">\\r</code> \u53d6\u6d88\u3002\n        </p><p>\n         \u76ee\u6807\u51fd\u6570\u53ef\u4ee5\u4ec5\u901a\u8fc7\u540d\u79f0\u6307\u5b9a\uff0c\u4e5f\u53ef\u4ee5\u901a\u8fc7\u540d\u79f0\u548c\u53c2\u6570\u6307\u5b9a\uff0c\u4f8b\u5982 <code class=\"literal\">foo(integer, text)</code>\u3002\u5982\u679c\u6709\u591a\u4e2a\u540c\u540d\u51fd\u6570\uff0c\u5219\u5fc5\u987b\u7ed9\u51fa\u53c2\u6570\u7c7b\u578b\u3002\n        </p><p>\n         \u5982\u679c\u672a\u6307\u5b9a\u51fd\u6570\uff0c\u5219\u4f1a\u5448\u73b0\u4e00\u4e2a\u7a7a\u7684 <code class=\"command\">CREATE FUNCTION</code> \u6a21\u677f\u4f9b\u7f16\u8f91\u3002\n        </p><p>\n        \u5982\u679c\u6307\u5b9a\u4e86\u884c\u53f7\uff0c<span class=\"application\">psql</span> \u5c06\u5149\u6807\u5b9a\u4f4d\u5728\u51fd\u6570\u4f53\u7684\u6307\u5b9a\u884c\u4e0a\u3002\uff08\u8bf7\u6ce8\u610f\uff0c\u51fd\u6570\u4f53\u901a\u5e38\u4e0d\u4f1a\u4ece\u6587\u4ef6\u7684\u7b2c\u4e00\u884c\u5f00\u59cb\u3002\uff09\n        </p><p>\n        \u4e0e\u5927\u591a\u6570\u5176\u4ed6\u5143\u547d\u4ee4\u4e0d\u540c\uff0c\u6574\u4e2a\u884c\u7684\u5269\u4f59\u90e8\u5206\u59cb\u7ec8\u88ab\u89c6\u4e3a<code class=\"command\">\\ef</code> \u7684\u53c2\u6570\uff0c\u53c2\u6570\u4e2d\u4e0d\u8fdb\u884c\u53d8\u91cf\u63d2\u503c\u6216\u53cd\u5f15\u53f7\u6269\u5c55\u3002\n        </p><div class=\"tip\"><h3 class=\"title\">\u63d0\u793a</h3><p>\n        \u5173\u4e8e\u5982\u4f55\u914d\u7f6e\u548c\u81ea\u5b9a\u4e49\u7f16\u8f91\u5668\uff0c\u8bf7\u53c2\u89c1\u4e0b\u9762\u7684<a class=\"xref\" href=\"/docs/18/app-psql.html#APP-PSQL-ENVIRONMENT\" title=\"\u73af\u5883\">\u73af\u5883</a>\u3002\n        </p></div></dd></dl>"}, "comparison": {"left": "17", "right": "18", "status": "unchanged", "diff": ""}}