{"kind": "psql", "major": "18", "item": {"slug": "cmd-67-65-78-65-63", "name": "\\gexec", "name_zh": "", "category": "\u67e5\u8be2\u6267\u884c", "summary": "\u5c06\u5f53\u524d\u67e5\u8be2\u7f13\u51b2\u533a\u53d1\u9001\u5230\u670d\u52a1\u5668\uff0c\u7136\u540e\u5c06\u67e5\u8be2\u8f93\u51fa\u7684\u6bcf\u884c\u6bcf\u5217\u89c6\u4e3a\u8981\u6267\u884c\u7684 SQL \u8bed\u53e5\u3002\u4f8b\u5982\uff0c\u8981\u5728 my_table \u7684\u6bcf\u4e00\u5217\u4e0a\u521b\u5efa\u7d22\u5f15\uff1a", "aliases": ["\\gexec"], "content_hash": "11dfe216bfef97fa30beccb646749100fb1b5c9a37314637e798122d92d5c5eb", "versions": {"10": {"facts": [{"label": "\u5ba2\u6237\u7aef", "value": "psql 10.23"}, {"label": "\u533a\u5206\u5927\u5c0f\u5199\u7684\u5199\u6cd5", "value": "\\gexec"}], "tables": [{"key": "spellings", "rows": [{"command": {"url": "/wiki/psql/cmd-67-65-78-65-63/?v=10", "text": "\\gexec"}, "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": "\\gexec", "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": "ab973bd3ae93b16011be658e9e8d8e1791c964e4751b2f9ece5fbd38fe68ee44", "source_revision": "unknown:rendered-translation-baseline", "translation_revision": "snapshot:sha256:62997ea80516ad012fbf6359de33f3b016b54c47e2df76e75606116b4baaf8e5", "translated_from_revision": null}, "body_sha256": "e603c0b3ebb9a07fad9449cecb75e31e4c558e8be09e8767abb15396e6592de7", "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": "\\gexec"}], "sections": [], "center_zh": {"title": "\\gexec", "locale": "zh-Hans", "source": {"key": "cmd-67-65-78-65-63", "locale": "zh-Hans", "version": "10", "text_hash": "54a9267000add275344ee0d006856edf532588f35185f18f5ac770bfd8409fde", "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": "\\gexec"}], "tables": [{"key": "spellings", "rows": [{"command": {"url": "/wiki/psql/cmd-67-65-78-65-63/?v=10", "text": "\\gexec"}, "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": "ab973bd3ae93b16011be658e9e8d8e1791c964e4751b2f9ece5fbd38fe68ee44", "source_revision": "unknown:rendered-translation-baseline", "translation_revision": "snapshot:sha256:62997ea80516ad012fbf6359de33f3b016b54c47e2df76e75606116b4baaf8e5", "translated_from_revision": null}, "body_sha256": "e603c0b3ebb9a07fad9449cecb75e31e4c558e8be09e8767abb15396e6592de7", "runtime_rerun": false, "authored_translation": "source-derived-identity", "source_facts_revision": "f9301feba91e2e2566038a36b8cee0e4402db68989538f88670fddd20b1f78ea"}, "sections": [], "description_zh": "\u5c06\u5f53\u524d\u67e5\u8be2\u7f13\u51b2\u533a\u53d1\u9001\u7ed9\u670d\u52a1\u5668\uff0c\u7136\u540e\u628a\u67e5\u8be2\u8f93\u51fa\uff08\u5982\u679c\u6709\uff09\u7684\u6bcf\u4e00\u884c\u7684\u6bcf\u4e00\u5217\u89c6\u4e3a\u8981\u6267\u884c\u7684 SQL \u8bed\u53e5\u3002\u4f8b\u5982\uff0c\u4e0b\u9762\u4e3a\u6bcf\u4e00\u5217\u521b\u5efa\u4e00\u4e2a\u7d22\u5f15\uff0c\u76ee\u6807\u8868\u662f my_table \uff1a => SELECT format('create index on my_table(%I)', attname) -> FROM pg_attribute -> WHERE attrelid = 'my_table'::regclass AND attnum > 0 -> ORDER BY attnum -> \\gexec CREATE INDEX CREATE INDEX CREATE INDEX CREATE INDEX \u751f\u6210\u7684\u67e5\u8be2\u6309\u7167\u8fd4\u56de\u884c\u7684\u987a\u5e8f\u6267\u884c\uff1b\u5982\u679c\u6709\u591a\u5217\uff0c\u5219\u5728\u6bcf\u884c\u5185\u4ece\u5de6\u5230\u53f3\u6267\u884c\u3002NULL \u5b57\u6bb5\u4f1a\u88ab\u5ffd\u7565\u3002\u751f\u6210\u7684\u67e5\u8be2\u6309\u539f\u6837\u53d1\u9001\u5230\u670d\u52a1\u5668\u8fdb\u884c\u5904\u7406\uff0c\u56e0\u6b64\u4e0d\u80fd\u662f psql \u5143\u547d\u4ee4\uff0c\u4e5f\u4e0d\u80fd\u5305\u542b psql \u53d8\u91cf\u5f15\u7528\u3002\u5982\u679c\u67d0\u4e2a\u67e5\u8be2\u5931\u8d25\uff0c\u4ecd\u4f1a\u7ee7\u7eed\u6267\u884c\u5176\u4f59\u67e5\u8be2\uff0c\u9664\u975e\u8bbe\u7f6e\u4e86 ON_ERROR_STOP \u3002\u6bcf\u4e2a\u67e5\u8be2\u7684\u6267\u884c\u90fd\u53d7 ECHO \u5904\u7406\u7684\u5f71\u54cd\u3002\uff08\u901a\u5e38\uff0c\u5728\u4f7f\u7528 \\gexec \u65f6\uff0c\u9002\u5b9c\u5c06 ECHO \u8bbe\u4e3a all \u6216 queries \u3002\uff09\u67e5\u8be2\u65e5\u5fd7\u3001\u5355\u6b65\u6a21\u5f0f\u3001\u8ba1\u65f6\u53ca\u5176\u4ed6\u67e5\u8be2\u6267\u884c\u529f\u80fd\u4e5f\u9002\u7528\u4e8e\u6bcf\u4e2a\u751f\u6210\u7684\u67e5\u8be2\u3002 \u5982\u679c\u5f53\u524d\u67e5\u8be2\u7f13\u51b2\u533a\u4e3a\u7a7a\uff0c\u5219\u6539\u4e3a\u91cd\u65b0\u6267\u884c\u6700\u8fd1\u53d1\u9001\u7684\u67e5\u8be2\u3002", "description_zh_html": "<p>psql \u547d\u4ee4 \\gexec\u3002</p><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u5b9a\u4e49</h3><dd><p>\u5c06\u5f53\u524d\u67e5\u8be2\u7f13\u51b2\u533a\u53d1\u9001\u7ed9\u670d\u52a1\u5668\uff0c\u7136\u540e\u628a\u67e5\u8be2\u8f93\u51fa\uff08\u5982\u679c\u6709\uff09\u7684\u6bcf\u4e00\u884c\u7684\u6bcf\u4e00\u5217\u89c6\u4e3a\u8981\u6267\u884c\u7684 SQL \u8bed\u53e5\u3002\u4f8b\u5982\uff0c\u4e0b\u9762\u4e3a\u6bcf\u4e00\u5217\u521b\u5efa\u4e00\u4e2a\u7d22\u5f15\uff0c\u76ee\u6807\u8868\u662f <code class=\"structname\">my_table</code>\uff1a\n</p><pre class=\"programlisting\">=&gt; <strong class=\"userinput\"><code>SELECT format('create index on my_table(%I)', attname)</code></strong>\n-&gt; <strong class=\"userinput\"><code>FROM pg_attribute</code></strong>\n-&gt; <strong class=\"userinput\"><code>WHERE attrelid = 'my_table'::regclass AND attnum &gt; 0</code></strong>\n-&gt; <strong class=\"userinput\"><code>ORDER BY attnum</code></strong>\n-&gt; <strong class=\"userinput\"><code>\\gexec</code></strong>\nCREATE INDEX\nCREATE INDEX\nCREATE INDEX\nCREATE INDEX</pre><p>\n</p><p>         \u751f\u6210\u7684\u67e5\u8be2\u6309\u7167\u8fd4\u56de\u884c\u7684\u987a\u5e8f\u6267\u884c\uff1b\u5982\u679c\u6709\u591a\u5217\uff0c\u5219\u5728\u6bcf\u884c\u5185\u4ece\u5de6\u5230\u53f3\u6267\u884c\u3002NULL \u5b57\u6bb5\u4f1a\u88ab\u5ffd\u7565\u3002\u751f\u6210\u7684\u67e5\u8be2\u6309\u539f\u6837\u53d1\u9001\u5230\u670d\u52a1\u5668\u8fdb\u884c\u5904\u7406\uff0c\u56e0\u6b64\u4e0d\u80fd\u662f <span class=\"application\">psql</span> \u5143\u547d\u4ee4\uff0c\u4e5f\u4e0d\u80fd\u5305\u542b <span class=\"application\">psql</span> \u53d8\u91cf\u5f15\u7528\u3002\u5982\u679c\u67d0\u4e2a\u67e5\u8be2\u5931\u8d25\uff0c\u4ecd\u4f1a\u7ee7\u7eed\u6267\u884c\u5176\u4f59\u67e5\u8be2\uff0c\u9664\u975e\u8bbe\u7f6e\u4e86 <code class=\"varname\">ON_ERROR_STOP</code>\u3002\u6bcf\u4e2a\u67e5\u8be2\u7684\u6267\u884c\u90fd\u53d7 <code class=\"varname\">ECHO</code> \u5904\u7406\u7684\u5f71\u54cd\u3002\uff08\u901a\u5e38\uff0c\u5728\u4f7f\u7528<code class=\"command\">\\gexec</code> \u65f6\uff0c\u9002\u5b9c\u5c06 <code class=\"varname\">ECHO</code> \u8bbe\u4e3a <code class=\"literal\">all</code> \u6216 <code class=\"literal\">queries</code>\u3002\uff09\u67e5\u8be2\u65e5\u5fd7\u3001\u5355\u6b65\u6a21\u5f0f\u3001\u8ba1\u65f6\u53ca\u5176\u4ed6\u67e5\u8be2\u6267\u884c\u529f\u80fd\u4e5f\u9002\u7528\u4e8e\u6bcf\u4e2a\u751f\u6210\u7684\u67e5\u8be2\u3002\n        </p><p>\u5982\u679c\u5f53\u524d\u67e5\u8be2\u7f13\u51b2\u533a\u4e3a\u7a7a\uff0c\u5219\u6539\u4e3a\u91cd\u65b0\u6267\u884c\u6700\u8fd1\u53d1\u9001\u7684\u67e5\u8be2\u3002</p></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": "\u5c06\u5f53\u524d\u67e5\u8be2\u7f13\u51b2\u533a\u53d1\u9001\u7ed9\u670d\u52a1\u5668\uff0c\u7136\u540e\u628a\u67e5\u8be2\u8f93\u51fa\uff08\u5982\u679c\u6709\uff09\u7684\u6bcf\u4e00\u884c\u7684\u6bcf\u4e00\u5217\u89c6\u4e3a\u8981\u6267\u884c\u7684 SQL \u8bed\u53e5\u3002\u4f8b\u5982\uff0c\u4e0b\u9762\u4e3a\u6bcf\u4e00\u5217\u521b\u5efa\u4e00\u4e2a\u7d22\u5f15\uff0c\u76ee\u6807\u8868\u662f my_table \uff1a => SELECT format('create index on my_table(%I)', attname) -> FROM pg_attribute -> WHERE attrelid = 'my_table'::regclass AND attnum > 0 -> ORDER BY attnum -> \\gexec CREATE INDEX CREATE INDEX CREATE INDEX CREATE INDEX \u751f\u6210\u7684\u67e5\u8be2\u6309\u7167\u8fd4\u56de\u884c\u7684\u987a\u5e8f\u6267\u884c\uff1b\u5982\u679c\u6709\u591a\u5217\uff0c\u5219\u5728\u6bcf\u884c\u5185\u4ece\u5de6\u5230\u53f3\u6267\u884c\u3002NULL \u5b57\u6bb5\u4f1a\u88ab\u5ffd\u7565\u3002\u751f\u6210\u7684\u67e5\u8be2\u6309\u539f\u6837\u53d1\u9001\u5230\u670d\u52a1\u5668\u8fdb\u884c\u5904\u7406\uff0c\u56e0\u6b64\u4e0d\u80fd\u662f psql \u5143\u547d\u4ee4\uff0c\u4e5f\u4e0d\u80fd\u5305\u542b psql \u53d8\u91cf\u5f15\u7528\u3002\u5982\u679c\u67d0\u4e2a\u67e5\u8be2\u5931\u8d25\uff0c\u4ecd\u4f1a\u7ee7\u7eed\u6267\u884c\u5176\u4f59\u67e5\u8be2\uff0c\u9664\u975e\u8bbe\u7f6e\u4e86 ON_ERROR_STOP \u3002\u6bcf\u4e2a\u67e5\u8be2\u7684\u6267\u884c\u90fd\u53d7 ECHO \u5904\u7406\u7684\u5f71\u54cd\u3002\uff08\u901a\u5e38\uff0c\u5728\u4f7f\u7528 \\gexec \u65f6\uff0c\u9002\u5b9c\u5c06 ECHO \u8bbe\u4e3a all \u6216 queries \u3002\uff09\u67e5\u8be2\u65e5\u5fd7\u3001\u5355\u6b65\u6a21\u5f0f\u3001\u8ba1\u65f6\u53ca\u5176\u4ed6\u67e5\u8be2\u6267\u884c\u529f\u80fd\u4e5f\u9002\u7528\u4e8e\u6bcf\u4e2a\u751f\u6210\u7684\u67e5\u8be2\u3002 \u5982\u679c\u5f53\u524d\u67e5\u8be2\u7f13\u51b2\u533a\u4e3a\u7a7a\uff0c\u5219\u6539\u4e3a\u91cd\u65b0\u6267\u884c\u6700\u8fd1\u53d1\u9001\u7684\u67e5\u8be2\u3002", "version": "10", "link_map": {"/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 \\gexec\u3002</p><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u5b9a\u4e49</h3><dd><p>\u5c06\u5f53\u524d\u67e5\u8be2\u7f13\u51b2\u533a\u53d1\u9001\u7ed9\u670d\u52a1\u5668\uff0c\u7136\u540e\u628a\u67e5\u8be2\u8f93\u51fa\uff08\u5982\u679c\u6709\uff09\u7684\u6bcf\u4e00\u884c\u7684\u6bcf\u4e00\u5217\u89c6\u4e3a\u8981\u6267\u884c\u7684 SQL \u8bed\u53e5\u3002\u4f8b\u5982\uff0c\u4e0b\u9762\u4e3a\u6bcf\u4e00\u5217\u521b\u5efa\u4e00\u4e2a\u7d22\u5f15\uff0c\u76ee\u6807\u8868\u662f <code>my_table</code>\uff1a\n</p><pre>=&gt; <strong><code>SELECT format(&#39;create index on my_table(%I)&#39;, attname)</code></strong>\n-&gt; <strong><code>FROM pg_attribute</code></strong>\n-&gt; <strong><code>WHERE attrelid = &#39;my_table&#39;::regclass AND attnum &gt; 0</code></strong>\n-&gt; <strong><code>ORDER BY attnum</code></strong>\n-&gt; <strong><code>\\gexec</code></strong>\nCREATE INDEX\nCREATE INDEX\nCREATE INDEX\nCREATE INDEX</pre><p>\n</p><p>         \u751f\u6210\u7684\u67e5\u8be2\u6309\u7167\u8fd4\u56de\u884c\u7684\u987a\u5e8f\u6267\u884c\uff1b\u5982\u679c\u6709\u591a\u5217\uff0c\u5219\u5728\u6bcf\u884c\u5185\u4ece\u5de6\u5230\u53f3\u6267\u884c\u3002NULL \u5b57\u6bb5\u4f1a\u88ab\u5ffd\u7565\u3002\u751f\u6210\u7684\u67e5\u8be2\u6309\u539f\u6837\u53d1\u9001\u5230\u670d\u52a1\u5668\u8fdb\u884c\u5904\u7406\uff0c\u56e0\u6b64\u4e0d\u80fd\u662f <span>psql</span> \u5143\u547d\u4ee4\uff0c\u4e5f\u4e0d\u80fd\u5305\u542b <span>psql</span> \u53d8\u91cf\u5f15\u7528\u3002\u5982\u679c\u67d0\u4e2a\u67e5\u8be2\u5931\u8d25\uff0c\u4ecd\u4f1a\u7ee7\u7eed\u6267\u884c\u5176\u4f59\u67e5\u8be2\uff0c\u9664\u975e\u8bbe\u7f6e\u4e86 <code>ON_ERROR_STOP</code>\u3002\u6bcf\u4e2a\u67e5\u8be2\u7684\u6267\u884c\u90fd\u53d7 <code>ECHO</code> \u5904\u7406\u7684\u5f71\u54cd\u3002\uff08\u901a\u5e38\uff0c\u5728\u4f7f\u7528<code>\\gexec</code> \u65f6\uff0c\u9002\u5b9c\u5c06 <code>ECHO</code> \u8bbe\u4e3a <code>all</code> \u6216 <code>queries</code>\u3002\uff09\u67e5\u8be2\u65e5\u5fd7\u3001\u5355\u6b65\u6a21\u5f0f\u3001\u8ba1\u65f6\u53ca\u5176\u4ed6\u67e5\u8be2\u6267\u884c\u529f\u80fd\u4e5f\u9002\u7528\u4e8e\u6bcf\u4e2a\u751f\u6210\u7684\u67e5\u8be2\u3002\n        </p><p>\u5982\u679c\u5f53\u524d\u67e5\u8be2\u7f13\u51b2\u533a\u4e3a\u7a7a\uff0c\u5219\u6539\u4e3a\u91cd\u65b0\u6267\u884c\u6700\u8fd1\u53d1\u9001\u7684\u67e5\u8be2\u3002</p></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": "908eb496dc28ce7a32360acdb563aed466990e9827df662e4a8cb9164d67ed82", "content_hash": "54a9267000add275344ee0d006856edf532588f35185f18f5ac770bfd8409fde", "source_database": "center", "source_revision": "f9301feba91e2e2566038a36b8cee0e4402db68989538f88670fddd20b1f78ea"}, "modifiers": [], "signature": "\\gexec", "spellings": ["\\gexec"], "tables_zh": [{"key": "spellings", "rows": [{"command": {"url": "/wiki/psql/cmd-67-65-78-65-63/?v=10", "text": "\\gexec"}, "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": ["\u5c06\u5f53\u524d\u67e5\u8be2\u7f13\u51b2\u533a\u53d1\u9001\u7ed9\u670d\u52a1\u5668\uff0c\u7136\u540e\u628a\u67e5\u8be2\u8f93\u51fa\uff08\u5982\u679c\u6709\uff09\u7684\u6bcf\u4e00\u884c\u7684\u6bcf\u4e00\u5217\u89c6\u4e3a\u8981\u6267\u884c\u7684 SQL \u8bed\u53e5\u3002\u4f8b\u5982\uff0c\u4e0b\u9762\u4e3a\u6bcf\u4e00\u5217\u521b\u5efa\u4e00\u4e2a\u7d22\u5f15\uff0c\u76ee\u6807\u8868\u662f my_table \uff1a => SELECT format('create index on my_table(%I)', attname) -> FROM pg_attribute -> WHERE attrelid = 'my_table'::regclass AND attnum > 0 -> ORDER BY attnum -> \\gexec CREATE INDEX CREATE INDEX CREATE INDEX CREATE INDEX \u751f\u6210\u7684\u67e5\u8be2\u6309\u7167\u8fd4\u56de\u884c\u7684\u987a\u5e8f\u6267\u884c\uff1b\u5982\u679c\u6709\u591a\u5217\uff0c\u5219\u5728\u6bcf\u884c\u5185\u4ece\u5de6\u5230\u53f3\u6267\u884c\u3002NULL \u5b57\u6bb5\u4f1a\u88ab\u5ffd\u7565\u3002\u751f\u6210\u7684\u67e5\u8be2\u6309\u539f\u6837\u53d1\u9001\u5230\u670d\u52a1\u5668\u8fdb\u884c\u5904\u7406\uff0c\u56e0\u6b64\u4e0d\u80fd\u662f psql \u5143\u547d\u4ee4\uff0c\u4e5f\u4e0d\u80fd\u5305\u542b psql \u53d8\u91cf\u5f15\u7528\u3002\u5982\u679c\u67d0\u4e2a\u67e5\u8be2\u5931\u8d25\uff0c\u4ecd\u4f1a\u7ee7\u7eed\u6267\u884c\u5176\u4f59\u67e5\u8be2\uff0c\u9664\u975e\u8bbe\u7f6e\u4e86 ON_ERROR_STOP \u3002\u6bcf\u4e2a\u67e5\u8be2\u7684\u6267\u884c\u90fd\u53d7 ECHO \u5904\u7406\u7684\u5f71\u54cd\u3002\uff08\u901a\u5e38\uff0c\u5728\u4f7f\u7528 \\gexec \u65f6\uff0c\u9002\u5b9c\u5c06 ECHO \u8bbe\u4e3a all \u6216 queries \u3002\uff09\u67e5\u8be2\u65e5\u5fd7\u3001\u5355\u6b65\u6a21\u5f0f\u3001\u8ba1\u65f6\u53ca\u5176\u4ed6\u67e5\u8be2\u6267\u884c\u529f\u80fd\u4e5f\u9002\u7528\u4e8e\u6bcf\u4e2a\u751f\u6210\u7684\u67e5\u8be2\u3002 \u5982\u679c\u5f53\u524d\u67e5\u8be2\u7f13\u51b2\u533a\u4e3a\u7a7a\uff0c\u5219\u6539\u4e3a\u91cd\u65b0\u6267\u884c\u6700\u8fd1\u53d1\u9001\u7684\u67e5\u8be2\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[99]/p[0]"]}], "language": "zh", "original_text": {"/versions/10/description/0": "Sends the current query buffer to the server, then treats each column of each row of the query's output (if any) as a SQL statement to be executed. For example, to create an index on each column of my_table :", "/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": "40a4dee55be11d39dcc28d5ab17a2253b7116c5c7b8e5a68638e90b3a06dc134", "canonical_center_text_hash": "54a9267000add275344ee0d006856edf532588f35185f18f5ac770bfd8409fde"}, "description_zh": "\u5c06\u5f53\u524d\u67e5\u8be2\u7f13\u51b2\u533a\u53d1\u9001\u7ed9\u670d\u52a1\u5668\uff0c\u7136\u540e\u628a\u67e5\u8be2\u8f93\u51fa\uff08\u5982\u679c\u6709\uff09\u7684\u6bcf\u4e00\u884c\u7684\u6bcf\u4e00\u5217\u89c6\u4e3a\u8981\u6267\u884c\u7684 SQL \u8bed\u53e5\u3002\u4f8b\u5982\uff0c\u4e0b\u9762\u4e3a\u6bcf\u4e00\u5217\u521b\u5efa\u4e00\u4e2a\u7d22\u5f15\uff0c\u76ee\u6807\u8868\u662f my_table \uff1a => SELECT format('create index on my_table(%I)', attname) -> FROM pg_attribute -> WHERE attrelid = 'my_table'::regclass AND attnum > 0 -> ORDER BY attnum -> \\gexec CREATE INDEX CREATE INDEX CREATE INDEX CREATE INDEX \u751f\u6210\u7684\u67e5\u8be2\u6309\u7167\u8fd4\u56de\u884c\u7684\u987a\u5e8f\u6267\u884c\uff1b\u5982\u679c\u6709\u591a\u5217\uff0c\u5219\u5728\u6bcf\u884c\u5185\u4ece\u5de6\u5230\u53f3\u6267\u884c\u3002NULL \u5b57\u6bb5\u4f1a\u88ab\u5ffd\u7565\u3002\u751f\u6210\u7684\u67e5\u8be2\u6309\u539f\u6837\u53d1\u9001\u5230\u670d\u52a1\u5668\u8fdb\u884c\u5904\u7406\uff0c\u56e0\u6b64\u4e0d\u80fd\u662f psql \u5143\u547d\u4ee4\uff0c\u4e5f\u4e0d\u80fd\u5305\u542b psql \u53d8\u91cf\u5f15\u7528\u3002\u5982\u679c\u67d0\u4e2a\u67e5\u8be2\u5931\u8d25\uff0c\u4ecd\u4f1a\u7ee7\u7eed\u6267\u884c\u5176\u4f59\u67e5\u8be2\uff0c\u9664\u975e\u8bbe\u7f6e\u4e86 ON_ERROR_STOP \u3002\u6bcf\u4e2a\u67e5\u8be2\u7684\u6267\u884c\u90fd\u53d7 ECHO \u5904\u7406\u7684\u5f71\u54cd\u3002\uff08\u901a\u5e38\uff0c\u5728\u4f7f\u7528 \\gexec \u65f6\uff0c\u9002\u5b9c\u5c06 ECHO \u8bbe\u4e3a all \u6216 queries \u3002\uff09\u67e5\u8be2\u65e5\u5fd7\u3001\u5355\u6b65\u6a21\u5f0f\u3001\u8ba1\u65f6\u53ca\u5176\u4ed6\u67e5\u8be2\u6267\u884c\u529f\u80fd\u4e5f\u9002\u7528\u4e8e\u6bcf\u4e2a\u751f\u6210\u7684\u67e5\u8be2\u3002 \u5982\u679c\u5f53\u524d\u67e5\u8be2\u7f13\u51b2\u533a\u4e3a\u7a7a\uff0c\u5219\u6539\u4e3a\u91cd\u65b0\u6267\u884c\u6700\u8fd1\u53d1\u9001\u7684\u67e5\u8be2\u3002", "comparison_data": {"modifiers": [], "signature": "\\gexec", "spellings": ["\\gexec"], "definition": "Sends the current query buffer to the server, then treats each column of each row of the query's output (if any) as a SQL statement to be executed. For example, to create an index on each column of my_table : => SELECT format('create index on my_table(%I)', attname) -> FROM pg_attribute -> WHERE attrelid = 'my_table'::regclass AND attnum > 0 -> ORDER BY attnum -> \\gexec CREATE INDEX CREATE INDEX CREATE INDEX CREATE INDEX The generated queries are executed in the order in which the rows are returned, and left-to-right within each row if there is more than one column. NULL fields are ignored. The generated queries are sent literally to the server for processing, so they cannot be psql meta-commands nor contain psql variable references. If any individual query fails, execution of the remaining queries continues unless ON_ERROR_STOP is set. Execution of each query is subject to ECHO processing. (Setting ECHO to all or queries is often advisable when using \\gexec .) Query logging, single-step mode, timing, and other query execution features apply to each generated query as well. If the current query buffer is empty, the most recently sent query is re-executed instead."}, "comparison_hash": "3291d77affc2dbcf67a28462d81dac9d9979ae806dcf260dee82d79c1b70dfb3", "manual_language": "zh", "description_zh_html": "<p>psql \u547d\u4ee4 \\gexec\u3002</p><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u5b9a\u4e49</h3><dd><p>\u5c06\u5f53\u524d\u67e5\u8be2\u7f13\u51b2\u533a\u53d1\u9001\u7ed9\u670d\u52a1\u5668\uff0c\u7136\u540e\u628a\u67e5\u8be2\u8f93\u51fa\uff08\u5982\u679c\u6709\uff09\u7684\u6bcf\u4e00\u884c\u7684\u6bcf\u4e00\u5217\u89c6\u4e3a\u8981\u6267\u884c\u7684 SQL \u8bed\u53e5\u3002\u4f8b\u5982\uff0c\u4e0b\u9762\u4e3a\u6bcf\u4e00\u5217\u521b\u5efa\u4e00\u4e2a\u7d22\u5f15\uff0c\u76ee\u6807\u8868\u662f <code>my_table</code>\uff1a\n</p><pre>=&gt; <strong><code>SELECT format(&#39;create index on my_table(%I)&#39;, attname)</code></strong>\n-&gt; <strong><code>FROM pg_attribute</code></strong>\n-&gt; <strong><code>WHERE attrelid = &#39;my_table&#39;::regclass AND attnum &gt; 0</code></strong>\n-&gt; <strong><code>ORDER BY attnum</code></strong>\n-&gt; <strong><code>\\gexec</code></strong>\nCREATE INDEX\nCREATE INDEX\nCREATE INDEX\nCREATE INDEX</pre><p>\n</p><p>         \u751f\u6210\u7684\u67e5\u8be2\u6309\u7167\u8fd4\u56de\u884c\u7684\u987a\u5e8f\u6267\u884c\uff1b\u5982\u679c\u6709\u591a\u5217\uff0c\u5219\u5728\u6bcf\u884c\u5185\u4ece\u5de6\u5230\u53f3\u6267\u884c\u3002NULL \u5b57\u6bb5\u4f1a\u88ab\u5ffd\u7565\u3002\u751f\u6210\u7684\u67e5\u8be2\u6309\u539f\u6837\u53d1\u9001\u5230\u670d\u52a1\u5668\u8fdb\u884c\u5904\u7406\uff0c\u56e0\u6b64\u4e0d\u80fd\u662f <span>psql</span> \u5143\u547d\u4ee4\uff0c\u4e5f\u4e0d\u80fd\u5305\u542b <span>psql</span> \u53d8\u91cf\u5f15\u7528\u3002\u5982\u679c\u67d0\u4e2a\u67e5\u8be2\u5931\u8d25\uff0c\u4ecd\u4f1a\u7ee7\u7eed\u6267\u884c\u5176\u4f59\u67e5\u8be2\uff0c\u9664\u975e\u8bbe\u7f6e\u4e86 <code>ON_ERROR_STOP</code>\u3002\u6bcf\u4e2a\u67e5\u8be2\u7684\u6267\u884c\u90fd\u53d7 <code>ECHO</code> \u5904\u7406\u7684\u5f71\u54cd\u3002\uff08\u901a\u5e38\uff0c\u5728\u4f7f\u7528<code>\\gexec</code> \u65f6\uff0c\u9002\u5b9c\u5c06 <code>ECHO</code> \u8bbe\u4e3a <code>all</code> \u6216 <code>queries</code>\u3002\uff09\u67e5\u8be2\u65e5\u5fd7\u3001\u5355\u6b65\u6a21\u5f0f\u3001\u8ba1\u65f6\u53ca\u5176\u4ed6\u67e5\u8be2\u6267\u884c\u529f\u80fd\u4e5f\u9002\u7528\u4e8e\u6bcf\u4e2a\u751f\u6210\u7684\u67e5\u8be2\u3002\n        </p><p>\u5982\u679c\u5f53\u524d\u67e5\u8be2\u7f13\u51b2\u533a\u4e3a\u7a7a\uff0c\u5219\u6539\u4e3a\u91cd\u65b0\u6267\u884c\u6700\u8fd1\u53d1\u9001\u7684\u67e5\u8be2\u3002</p></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": "\\gexec"}], "tables": [{"key": "spellings", "rows": [{"command": {"url": "/wiki/psql/cmd-67-65-78-65-63/?v=11", "text": "\\gexec"}, "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": "\\gexec", "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": "39e602211e3da82094658f833dd1073050d5598bc3c1a25f48054f382b9ffb49", "source_revision": "unknown:rendered-translation-baseline", "translation_revision": "snapshot:sha256:ef5c7bc074acae9795db16e6b7482aea3b222bd4bcce0f76831332b97a21e8a1", "translated_from_revision": null}, "body_sha256": "5b1e6f14c2f09f8f58ebc9416eea53d4182492a7c89082bc93298f2b89aa1a3e", "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": "\\gexec"}], "sections": [], "center_zh": {"title": "\\gexec", "locale": "zh-Hans", "source": {"key": "cmd-67-65-78-65-63", "locale": "zh-Hans", "version": "11", "text_hash": "8a4865b35ec1296bcef99f906f09a5cc4cea6a1ee5dc9531512089fbd6783ac5", "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": "\\gexec"}], "tables": [{"key": "spellings", "rows": [{"command": {"url": "/wiki/psql/cmd-67-65-78-65-63/?v=11", "text": "\\gexec"}, "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": "39e602211e3da82094658f833dd1073050d5598bc3c1a25f48054f382b9ffb49", "source_revision": "unknown:rendered-translation-baseline", "translation_revision": "snapshot:sha256:ef5c7bc074acae9795db16e6b7482aea3b222bd4bcce0f76831332b97a21e8a1", "translated_from_revision": null}, "body_sha256": "5b1e6f14c2f09f8f58ebc9416eea53d4182492a7c89082bc93298f2b89aa1a3e", "runtime_rerun": false, "authored_translation": "source-derived-identity", "source_facts_revision": "53315ddaf3b3f9e6669fd1edc096bbb2cd4a65ea3e836c89e542b43af9ba3a7f"}, "sections": [], "description_zh": "\u5c06\u5f53\u524d\u67e5\u8be2\u7f13\u51b2\u533a\u53d1\u9001\u7ed9\u670d\u52a1\u5668\uff0c\u7136\u540e\u628a\u67e5\u8be2\u8f93\u51fa\uff08\u5982\u679c\u6709\uff09\u7684\u6bcf\u4e00\u884c\u7684\u6bcf\u4e00\u5217\u89c6\u4e3a\u8981\u6267\u884c\u7684 SQL \u8bed\u53e5\u3002\u4f8b\u5982\uff0c\u4e0b\u9762\u4e3a\u6bcf\u4e00\u5217\u521b\u5efa\u4e00\u4e2a\u7d22\u5f15\uff0c\u76ee\u6807\u8868\u662f my_table \uff1a => SELECT format('create index on my_table(%I)', attname) -> FROM pg_attribute -> WHERE attrelid = 'my_table'::regclass AND attnum > 0 -> ORDER BY attnum -> \\gexec CREATE INDEX CREATE INDEX CREATE INDEX CREATE INDEX \u751f\u6210\u7684\u67e5\u8be2\u6309\u7167\u8fd4\u56de\u884c\u7684\u987a\u5e8f\u6267\u884c\uff1b\u5982\u679c\u6709\u591a\u5217\uff0c\u5219\u5728\u6bcf\u884c\u5185\u4ece\u5de6\u5230\u53f3\u6267\u884c\u3002NULL \u5b57\u6bb5\u4f1a\u88ab\u5ffd\u7565\u3002\u751f\u6210\u7684\u67e5\u8be2\u6309\u539f\u6837\u53d1\u9001\u5230\u670d\u52a1\u5668\u8fdb\u884c\u5904\u7406\uff0c\u56e0\u6b64\u4e0d\u80fd\u662f psql \u5143\u547d\u4ee4\uff0c\u4e5f\u4e0d\u80fd\u5305\u542b psql \u53d8\u91cf\u5f15\u7528\u3002\u5982\u679c\u67d0\u4e2a\u67e5\u8be2\u5931\u8d25\uff0c\u4ecd\u4f1a\u7ee7\u7eed\u6267\u884c\u5176\u4f59\u67e5\u8be2\uff0c\u9664\u975e\u8bbe\u7f6e\u4e86 ON_ERROR_STOP \u3002\u6bcf\u4e2a\u67e5\u8be2\u7684\u6267\u884c\u90fd\u53d7 ECHO \u5904\u7406\u7684\u5f71\u54cd\u3002\uff08\u901a\u5e38\uff0c\u5728\u4f7f\u7528 \\gexec \u65f6\uff0c\u9002\u5b9c\u5c06 ECHO \u8bbe\u4e3a all \u6216 queries \u3002\uff09\u67e5\u8be2\u65e5\u5fd7\u3001\u5355\u6b65\u6a21\u5f0f\u3001\u8ba1\u65f6\u53ca\u5176\u4ed6\u67e5\u8be2\u6267\u884c\u529f\u80fd\u4e5f\u9002\u7528\u4e8e\u6bcf\u4e2a\u751f\u6210\u7684\u67e5\u8be2\u3002 \u5982\u679c\u5f53\u524d\u67e5\u8be2\u7f13\u51b2\u533a\u4e3a\u7a7a\uff0c\u5219\u6539\u4e3a\u91cd\u65b0\u6267\u884c\u6700\u8fd1\u53d1\u9001\u7684\u67e5\u8be2\u3002", "description_zh_html": "<p>psql \u547d\u4ee4 \\gexec\u3002</p><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u5b9a\u4e49</h3><dd><p>\u5c06\u5f53\u524d\u67e5\u8be2\u7f13\u51b2\u533a\u53d1\u9001\u7ed9\u670d\u52a1\u5668\uff0c\u7136\u540e\u628a\u67e5\u8be2\u8f93\u51fa\uff08\u5982\u679c\u6709\uff09\u7684\u6bcf\u4e00\u884c\u7684\u6bcf\u4e00\u5217\u89c6\u4e3a\u8981\u6267\u884c\u7684 SQL \u8bed\u53e5\u3002\u4f8b\u5982\uff0c\u4e0b\u9762\u4e3a\u6bcf\u4e00\u5217\u521b\u5efa\u4e00\u4e2a\u7d22\u5f15\uff0c\u76ee\u6807\u8868\u662f <code class=\"structname\">my_table</code>\uff1a\n</p><pre class=\"programlisting\">=&gt; <strong class=\"userinput\"><code>SELECT format('create index on my_table(%I)', attname)</code></strong>\n-&gt; <strong class=\"userinput\"><code>FROM pg_attribute</code></strong>\n-&gt; <strong class=\"userinput\"><code>WHERE attrelid = 'my_table'::regclass AND attnum &gt; 0</code></strong>\n-&gt; <strong class=\"userinput\"><code>ORDER BY attnum</code></strong>\n-&gt; <strong class=\"userinput\"><code>\\gexec</code></strong>\nCREATE INDEX\nCREATE INDEX\nCREATE INDEX\nCREATE INDEX\n</pre><p>\n</p><p>\n         \u751f\u6210\u7684\u67e5\u8be2\u6309\u7167\u8fd4\u56de\u884c\u7684\u987a\u5e8f\u6267\u884c\uff1b\u5982\u679c\u6709\u591a\u5217\uff0c\u5219\u5728\u6bcf\u884c\u5185\u4ece\u5de6\u5230\u53f3\u6267\u884c\u3002NULL \u5b57\u6bb5\u4f1a\u88ab\u5ffd\u7565\u3002\u751f\u6210\u7684\u67e5\u8be2\u6309\u539f\u6837\u53d1\u9001\u5230\u670d\u52a1\u5668\u8fdb\u884c\u5904\u7406\uff0c\u56e0\u6b64\u4e0d\u80fd\u662f <span class=\"application\">psql</span> \u5143\u547d\u4ee4\uff0c\u4e5f\u4e0d\u80fd\u5305\u542b <span class=\"application\">psql</span> \u53d8\u91cf\u5f15\u7528\u3002\u5982\u679c\u67d0\u4e2a\u67e5\u8be2\u5931\u8d25\uff0c\u4ecd\u4f1a\u7ee7\u7eed\u6267\u884c\u5176\u4f59\u67e5\u8be2\uff0c\u9664\u975e\u8bbe\u7f6e\u4e86 <code class=\"varname\">ON_ERROR_STOP</code>\u3002\u6bcf\u4e2a\u67e5\u8be2\u7684\u6267\u884c\u90fd\u53d7 <code class=\"varname\">ECHO</code> \u5904\u7406\u7684\u5f71\u54cd\u3002\uff08\u901a\u5e38\uff0c\u5728\u4f7f\u7528<code class=\"command\">\\gexec</code> \u65f6\uff0c\u9002\u5b9c\u5c06 <code class=\"varname\">ECHO</code> \u8bbe\u4e3a <code class=\"literal\">all</code> \u6216 <code class=\"literal\">queries</code>\u3002\uff09\u67e5\u8be2\u65e5\u5fd7\u3001\u5355\u6b65\u6a21\u5f0f\u3001\u8ba1\u65f6\u53ca\u5176\u4ed6\u67e5\u8be2\u6267\u884c\u529f\u80fd\u4e5f\u9002\u7528\u4e8e\u6bcf\u4e2a\u751f\u6210\u7684\u67e5\u8be2\u3002\n        </p><p>\u5982\u679c\u5f53\u524d\u67e5\u8be2\u7f13\u51b2\u533a\u4e3a\u7a7a\uff0c\u5219\u6539\u4e3a\u91cd\u65b0\u6267\u884c\u6700\u8fd1\u53d1\u9001\u7684\u67e5\u8be2\u3002</p></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": "\u5c06\u5f53\u524d\u67e5\u8be2\u7f13\u51b2\u533a\u53d1\u9001\u7ed9\u670d\u52a1\u5668\uff0c\u7136\u540e\u628a\u67e5\u8be2\u8f93\u51fa\uff08\u5982\u679c\u6709\uff09\u7684\u6bcf\u4e00\u884c\u7684\u6bcf\u4e00\u5217\u89c6\u4e3a\u8981\u6267\u884c\u7684 SQL \u8bed\u53e5\u3002\u4f8b\u5982\uff0c\u4e0b\u9762\u4e3a\u6bcf\u4e00\u5217\u521b\u5efa\u4e00\u4e2a\u7d22\u5f15\uff0c\u76ee\u6807\u8868\u662f my_table \uff1a => SELECT format('create index on my_table(%I)', attname) -> FROM pg_attribute -> WHERE attrelid = 'my_table'::regclass AND attnum > 0 -> ORDER BY attnum -> \\gexec CREATE INDEX CREATE INDEX CREATE INDEX CREATE INDEX \u751f\u6210\u7684\u67e5\u8be2\u6309\u7167\u8fd4\u56de\u884c\u7684\u987a\u5e8f\u6267\u884c\uff1b\u5982\u679c\u6709\u591a\u5217\uff0c\u5219\u5728\u6bcf\u884c\u5185\u4ece\u5de6\u5230\u53f3\u6267\u884c\u3002NULL \u5b57\u6bb5\u4f1a\u88ab\u5ffd\u7565\u3002\u751f\u6210\u7684\u67e5\u8be2\u6309\u539f\u6837\u53d1\u9001\u5230\u670d\u52a1\u5668\u8fdb\u884c\u5904\u7406\uff0c\u56e0\u6b64\u4e0d\u80fd\u662f psql \u5143\u547d\u4ee4\uff0c\u4e5f\u4e0d\u80fd\u5305\u542b psql \u53d8\u91cf\u5f15\u7528\u3002\u5982\u679c\u67d0\u4e2a\u67e5\u8be2\u5931\u8d25\uff0c\u4ecd\u4f1a\u7ee7\u7eed\u6267\u884c\u5176\u4f59\u67e5\u8be2\uff0c\u9664\u975e\u8bbe\u7f6e\u4e86 ON_ERROR_STOP \u3002\u6bcf\u4e2a\u67e5\u8be2\u7684\u6267\u884c\u90fd\u53d7 ECHO \u5904\u7406\u7684\u5f71\u54cd\u3002\uff08\u901a\u5e38\uff0c\u5728\u4f7f\u7528 \\gexec \u65f6\uff0c\u9002\u5b9c\u5c06 ECHO \u8bbe\u4e3a all \u6216 queries \u3002\uff09\u67e5\u8be2\u65e5\u5fd7\u3001\u5355\u6b65\u6a21\u5f0f\u3001\u8ba1\u65f6\u53ca\u5176\u4ed6\u67e5\u8be2\u6267\u884c\u529f\u80fd\u4e5f\u9002\u7528\u4e8e\u6bcf\u4e2a\u751f\u6210\u7684\u67e5\u8be2\u3002 \u5982\u679c\u5f53\u524d\u67e5\u8be2\u7f13\u51b2\u533a\u4e3a\u7a7a\uff0c\u5219\u6539\u4e3a\u91cd\u65b0\u6267\u884c\u6700\u8fd1\u53d1\u9001\u7684\u67e5\u8be2\u3002", "version": "11", "link_map": {"/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 \\gexec\u3002</p><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u5b9a\u4e49</h3><dd><p>\u5c06\u5f53\u524d\u67e5\u8be2\u7f13\u51b2\u533a\u53d1\u9001\u7ed9\u670d\u52a1\u5668\uff0c\u7136\u540e\u628a\u67e5\u8be2\u8f93\u51fa\uff08\u5982\u679c\u6709\uff09\u7684\u6bcf\u4e00\u884c\u7684\u6bcf\u4e00\u5217\u89c6\u4e3a\u8981\u6267\u884c\u7684 SQL \u8bed\u53e5\u3002\u4f8b\u5982\uff0c\u4e0b\u9762\u4e3a\u6bcf\u4e00\u5217\u521b\u5efa\u4e00\u4e2a\u7d22\u5f15\uff0c\u76ee\u6807\u8868\u662f <code>my_table</code>\uff1a\n</p><pre>=&gt; <strong><code>SELECT format(&#39;create index on my_table(%I)&#39;, attname)</code></strong>\n-&gt; <strong><code>FROM pg_attribute</code></strong>\n-&gt; <strong><code>WHERE attrelid = &#39;my_table&#39;::regclass AND attnum &gt; 0</code></strong>\n-&gt; <strong><code>ORDER BY attnum</code></strong>\n-&gt; <strong><code>\\gexec</code></strong>\nCREATE INDEX\nCREATE INDEX\nCREATE INDEX\nCREATE INDEX\n</pre><p>\n</p><p>\n         \u751f\u6210\u7684\u67e5\u8be2\u6309\u7167\u8fd4\u56de\u884c\u7684\u987a\u5e8f\u6267\u884c\uff1b\u5982\u679c\u6709\u591a\u5217\uff0c\u5219\u5728\u6bcf\u884c\u5185\u4ece\u5de6\u5230\u53f3\u6267\u884c\u3002NULL \u5b57\u6bb5\u4f1a\u88ab\u5ffd\u7565\u3002\u751f\u6210\u7684\u67e5\u8be2\u6309\u539f\u6837\u53d1\u9001\u5230\u670d\u52a1\u5668\u8fdb\u884c\u5904\u7406\uff0c\u56e0\u6b64\u4e0d\u80fd\u662f <span>psql</span> \u5143\u547d\u4ee4\uff0c\u4e5f\u4e0d\u80fd\u5305\u542b <span>psql</span> \u53d8\u91cf\u5f15\u7528\u3002\u5982\u679c\u67d0\u4e2a\u67e5\u8be2\u5931\u8d25\uff0c\u4ecd\u4f1a\u7ee7\u7eed\u6267\u884c\u5176\u4f59\u67e5\u8be2\uff0c\u9664\u975e\u8bbe\u7f6e\u4e86 <code>ON_ERROR_STOP</code>\u3002\u6bcf\u4e2a\u67e5\u8be2\u7684\u6267\u884c\u90fd\u53d7 <code>ECHO</code> \u5904\u7406\u7684\u5f71\u54cd\u3002\uff08\u901a\u5e38\uff0c\u5728\u4f7f\u7528<code>\\gexec</code> \u65f6\uff0c\u9002\u5b9c\u5c06 <code>ECHO</code> \u8bbe\u4e3a <code>all</code> \u6216 <code>queries</code>\u3002\uff09\u67e5\u8be2\u65e5\u5fd7\u3001\u5355\u6b65\u6a21\u5f0f\u3001\u8ba1\u65f6\u53ca\u5176\u4ed6\u67e5\u8be2\u6267\u884c\u529f\u80fd\u4e5f\u9002\u7528\u4e8e\u6bcf\u4e2a\u751f\u6210\u7684\u67e5\u8be2\u3002\n        </p><p>\u5982\u679c\u5f53\u524d\u67e5\u8be2\u7f13\u51b2\u533a\u4e3a\u7a7a\uff0c\u5219\u6539\u4e3a\u91cd\u65b0\u6267\u884c\u6700\u8fd1\u53d1\u9001\u7684\u67e5\u8be2\u3002</p></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": "bea29307cbba164e9ee9a54ee0eab66eda3452e499054afa2160b3aa99ed1e01", "content_hash": "8a4865b35ec1296bcef99f906f09a5cc4cea6a1ee5dc9531512089fbd6783ac5", "source_database": "center", "source_revision": "53315ddaf3b3f9e6669fd1edc096bbb2cd4a65ea3e836c89e542b43af9ba3a7f"}, "modifiers": [], "signature": "\\gexec", "spellings": ["\\gexec"], "tables_zh": [{"key": "spellings", "rows": [{"command": {"url": "/wiki/psql/cmd-67-65-78-65-63/?v=11", "text": "\\gexec"}, "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": ["\u5c06\u5f53\u524d\u67e5\u8be2\u7f13\u51b2\u533a\u53d1\u9001\u7ed9\u670d\u52a1\u5668\uff0c\u7136\u540e\u628a\u67e5\u8be2\u8f93\u51fa\uff08\u5982\u679c\u6709\uff09\u7684\u6bcf\u4e00\u884c\u7684\u6bcf\u4e00\u5217\u89c6\u4e3a\u8981\u6267\u884c\u7684 SQL \u8bed\u53e5\u3002\u4f8b\u5982\uff0c\u4e0b\u9762\u4e3a\u6bcf\u4e00\u5217\u521b\u5efa\u4e00\u4e2a\u7d22\u5f15\uff0c\u76ee\u6807\u8868\u662f my_table \uff1a => SELECT format('create index on my_table(%I)', attname) -> FROM pg_attribute -> WHERE attrelid = 'my_table'::regclass AND attnum > 0 -> ORDER BY attnum -> \\gexec CREATE INDEX CREATE INDEX CREATE INDEX CREATE INDEX \u751f\u6210\u7684\u67e5\u8be2\u6309\u7167\u8fd4\u56de\u884c\u7684\u987a\u5e8f\u6267\u884c\uff1b\u5982\u679c\u6709\u591a\u5217\uff0c\u5219\u5728\u6bcf\u884c\u5185\u4ece\u5de6\u5230\u53f3\u6267\u884c\u3002NULL \u5b57\u6bb5\u4f1a\u88ab\u5ffd\u7565\u3002\u751f\u6210\u7684\u67e5\u8be2\u6309\u539f\u6837\u53d1\u9001\u5230\u670d\u52a1\u5668\u8fdb\u884c\u5904\u7406\uff0c\u56e0\u6b64\u4e0d\u80fd\u662f psql \u5143\u547d\u4ee4\uff0c\u4e5f\u4e0d\u80fd\u5305\u542b psql \u53d8\u91cf\u5f15\u7528\u3002\u5982\u679c\u67d0\u4e2a\u67e5\u8be2\u5931\u8d25\uff0c\u4ecd\u4f1a\u7ee7\u7eed\u6267\u884c\u5176\u4f59\u67e5\u8be2\uff0c\u9664\u975e\u8bbe\u7f6e\u4e86 ON_ERROR_STOP \u3002\u6bcf\u4e2a\u67e5\u8be2\u7684\u6267\u884c\u90fd\u53d7 ECHO \u5904\u7406\u7684\u5f71\u54cd\u3002\uff08\u901a\u5e38\uff0c\u5728\u4f7f\u7528 \\gexec \u65f6\uff0c\u9002\u5b9c\u5c06 ECHO \u8bbe\u4e3a all \u6216 queries \u3002\uff09\u67e5\u8be2\u65e5\u5fd7\u3001\u5355\u6b65\u6a21\u5f0f\u3001\u8ba1\u65f6\u53ca\u5176\u4ed6\u67e5\u8be2\u6267\u884c\u529f\u80fd\u4e5f\u9002\u7528\u4e8e\u6bcf\u4e2a\u751f\u6210\u7684\u67e5\u8be2\u3002 \u5982\u679c\u5f53\u524d\u67e5\u8be2\u7f13\u51b2\u533a\u4e3a\u7a7a\uff0c\u5219\u6539\u4e3a\u91cd\u65b0\u6267\u884c\u6700\u8fd1\u53d1\u9001\u7684\u67e5\u8be2\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[101]/p[0]"]}], "language": "zh", "original_text": {"/versions/11/description/0": "Sends the current query buffer to the server, then treats each column of each row of the query's output (if any) as a SQL statement to be executed. For example, to create an index on each column of my_table :", "/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": "d97e1f2baadf19fce1463ba39ccd42042f184e1ec7876681dfea2560f5edc7b6", "canonical_center_text_hash": "8a4865b35ec1296bcef99f906f09a5cc4cea6a1ee5dc9531512089fbd6783ac5"}, "description_zh": "\u5c06\u5f53\u524d\u67e5\u8be2\u7f13\u51b2\u533a\u53d1\u9001\u7ed9\u670d\u52a1\u5668\uff0c\u7136\u540e\u628a\u67e5\u8be2\u8f93\u51fa\uff08\u5982\u679c\u6709\uff09\u7684\u6bcf\u4e00\u884c\u7684\u6bcf\u4e00\u5217\u89c6\u4e3a\u8981\u6267\u884c\u7684 SQL \u8bed\u53e5\u3002\u4f8b\u5982\uff0c\u4e0b\u9762\u4e3a\u6bcf\u4e00\u5217\u521b\u5efa\u4e00\u4e2a\u7d22\u5f15\uff0c\u76ee\u6807\u8868\u662f my_table \uff1a => SELECT format('create index on my_table(%I)', attname) -> FROM pg_attribute -> WHERE attrelid = 'my_table'::regclass AND attnum > 0 -> ORDER BY attnum -> \\gexec CREATE INDEX CREATE INDEX CREATE INDEX CREATE INDEX \u751f\u6210\u7684\u67e5\u8be2\u6309\u7167\u8fd4\u56de\u884c\u7684\u987a\u5e8f\u6267\u884c\uff1b\u5982\u679c\u6709\u591a\u5217\uff0c\u5219\u5728\u6bcf\u884c\u5185\u4ece\u5de6\u5230\u53f3\u6267\u884c\u3002NULL \u5b57\u6bb5\u4f1a\u88ab\u5ffd\u7565\u3002\u751f\u6210\u7684\u67e5\u8be2\u6309\u539f\u6837\u53d1\u9001\u5230\u670d\u52a1\u5668\u8fdb\u884c\u5904\u7406\uff0c\u56e0\u6b64\u4e0d\u80fd\u662f psql \u5143\u547d\u4ee4\uff0c\u4e5f\u4e0d\u80fd\u5305\u542b psql \u53d8\u91cf\u5f15\u7528\u3002\u5982\u679c\u67d0\u4e2a\u67e5\u8be2\u5931\u8d25\uff0c\u4ecd\u4f1a\u7ee7\u7eed\u6267\u884c\u5176\u4f59\u67e5\u8be2\uff0c\u9664\u975e\u8bbe\u7f6e\u4e86 ON_ERROR_STOP \u3002\u6bcf\u4e2a\u67e5\u8be2\u7684\u6267\u884c\u90fd\u53d7 ECHO \u5904\u7406\u7684\u5f71\u54cd\u3002\uff08\u901a\u5e38\uff0c\u5728\u4f7f\u7528 \\gexec \u65f6\uff0c\u9002\u5b9c\u5c06 ECHO \u8bbe\u4e3a all \u6216 queries \u3002\uff09\u67e5\u8be2\u65e5\u5fd7\u3001\u5355\u6b65\u6a21\u5f0f\u3001\u8ba1\u65f6\u53ca\u5176\u4ed6\u67e5\u8be2\u6267\u884c\u529f\u80fd\u4e5f\u9002\u7528\u4e8e\u6bcf\u4e2a\u751f\u6210\u7684\u67e5\u8be2\u3002 \u5982\u679c\u5f53\u524d\u67e5\u8be2\u7f13\u51b2\u533a\u4e3a\u7a7a\uff0c\u5219\u6539\u4e3a\u91cd\u65b0\u6267\u884c\u6700\u8fd1\u53d1\u9001\u7684\u67e5\u8be2\u3002", "comparison_data": {"modifiers": [], "signature": "\\gexec", "spellings": ["\\gexec"], "definition": "Sends the current query buffer to the server, then treats each column of each row of the query's output (if any) as a SQL statement to be executed. For example, to create an index on each column of my_table : => SELECT format('create index on my_table(%I)', attname) -> FROM pg_attribute -> WHERE attrelid = 'my_table'::regclass AND attnum > 0 -> ORDER BY attnum -> \\gexec CREATE INDEX CREATE INDEX CREATE INDEX CREATE INDEX The generated queries are executed in the order in which the rows are returned, and left-to-right within each row if there is more than one column. NULL fields are ignored. The generated queries are sent literally to the server for processing, so they cannot be psql meta-commands nor contain psql variable references. If any individual query fails, execution of the remaining queries continues unless ON_ERROR_STOP is set. Execution of each query is subject to ECHO processing. (Setting ECHO to all or queries is often advisable when using \\gexec .) Query logging, single-step mode, timing, and other query execution features apply to each generated query as well. If the current query buffer is empty, the most recently sent query is re-executed instead."}, "comparison_hash": "3291d77affc2dbcf67a28462d81dac9d9979ae806dcf260dee82d79c1b70dfb3", "manual_language": "zh", "description_zh_html": "<p>psql \u547d\u4ee4 \\gexec\u3002</p><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u5b9a\u4e49</h3><dd><p>\u5c06\u5f53\u524d\u67e5\u8be2\u7f13\u51b2\u533a\u53d1\u9001\u7ed9\u670d\u52a1\u5668\uff0c\u7136\u540e\u628a\u67e5\u8be2\u8f93\u51fa\uff08\u5982\u679c\u6709\uff09\u7684\u6bcf\u4e00\u884c\u7684\u6bcf\u4e00\u5217\u89c6\u4e3a\u8981\u6267\u884c\u7684 SQL \u8bed\u53e5\u3002\u4f8b\u5982\uff0c\u4e0b\u9762\u4e3a\u6bcf\u4e00\u5217\u521b\u5efa\u4e00\u4e2a\u7d22\u5f15\uff0c\u76ee\u6807\u8868\u662f <code>my_table</code>\uff1a\n</p><pre>=&gt; <strong><code>SELECT format(&#39;create index on my_table(%I)&#39;, attname)</code></strong>\n-&gt; <strong><code>FROM pg_attribute</code></strong>\n-&gt; <strong><code>WHERE attrelid = &#39;my_table&#39;::regclass AND attnum &gt; 0</code></strong>\n-&gt; <strong><code>ORDER BY attnum</code></strong>\n-&gt; <strong><code>\\gexec</code></strong>\nCREATE INDEX\nCREATE INDEX\nCREATE INDEX\nCREATE INDEX\n</pre><p>\n</p><p>\n         \u751f\u6210\u7684\u67e5\u8be2\u6309\u7167\u8fd4\u56de\u884c\u7684\u987a\u5e8f\u6267\u884c\uff1b\u5982\u679c\u6709\u591a\u5217\uff0c\u5219\u5728\u6bcf\u884c\u5185\u4ece\u5de6\u5230\u53f3\u6267\u884c\u3002NULL \u5b57\u6bb5\u4f1a\u88ab\u5ffd\u7565\u3002\u751f\u6210\u7684\u67e5\u8be2\u6309\u539f\u6837\u53d1\u9001\u5230\u670d\u52a1\u5668\u8fdb\u884c\u5904\u7406\uff0c\u56e0\u6b64\u4e0d\u80fd\u662f <span>psql</span> \u5143\u547d\u4ee4\uff0c\u4e5f\u4e0d\u80fd\u5305\u542b <span>psql</span> \u53d8\u91cf\u5f15\u7528\u3002\u5982\u679c\u67d0\u4e2a\u67e5\u8be2\u5931\u8d25\uff0c\u4ecd\u4f1a\u7ee7\u7eed\u6267\u884c\u5176\u4f59\u67e5\u8be2\uff0c\u9664\u975e\u8bbe\u7f6e\u4e86 <code>ON_ERROR_STOP</code>\u3002\u6bcf\u4e2a\u67e5\u8be2\u7684\u6267\u884c\u90fd\u53d7 <code>ECHO</code> \u5904\u7406\u7684\u5f71\u54cd\u3002\uff08\u901a\u5e38\uff0c\u5728\u4f7f\u7528<code>\\gexec</code> \u65f6\uff0c\u9002\u5b9c\u5c06 <code>ECHO</code> \u8bbe\u4e3a <code>all</code> \u6216 <code>queries</code>\u3002\uff09\u67e5\u8be2\u65e5\u5fd7\u3001\u5355\u6b65\u6a21\u5f0f\u3001\u8ba1\u65f6\u53ca\u5176\u4ed6\u67e5\u8be2\u6267\u884c\u529f\u80fd\u4e5f\u9002\u7528\u4e8e\u6bcf\u4e2a\u751f\u6210\u7684\u67e5\u8be2\u3002\n        </p><p>\u5982\u679c\u5f53\u524d\u67e5\u8be2\u7f13\u51b2\u533a\u4e3a\u7a7a\uff0c\u5219\u6539\u4e3a\u91cd\u65b0\u6267\u884c\u6700\u8fd1\u53d1\u9001\u7684\u67e5\u8be2\u3002</p></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": "\\gexec"}], "tables": [{"key": "spellings", "rows": [{"command": {"url": "/wiki/psql/cmd-67-65-78-65-63/?v=12", "text": "\\gexec"}, "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": "\\gexec", "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": "39e602211e3da82094658f833dd1073050d5598bc3c1a25f48054f382b9ffb49", "source_revision": "unknown:rendered-translation-baseline", "translation_revision": "snapshot:sha256:86d2ff781f93e1de17122ebc514d5e64fcb63fed15941f496d7e146c6dcc7a49", "translated_from_revision": null}, "body_sha256": "c285d681db842d9e59d6fe1fc1c1d7232655a9ce334a1c07eba435d767d5863b", "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": "\\gexec"}], "sections": [], "center_zh": {"title": "\\gexec", "locale": "zh-Hans", "source": {"key": "cmd-67-65-78-65-63", "locale": "zh-Hans", "version": "12", "text_hash": "a888ef7d5273dcf537cc1d59439189aa1202752d25a773772ec958b23104f52c", "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": "\\gexec"}], "tables": [{"key": "spellings", "rows": [{"command": {"url": "/wiki/psql/cmd-67-65-78-65-63/?v=12", "text": "\\gexec"}, "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": "39e602211e3da82094658f833dd1073050d5598bc3c1a25f48054f382b9ffb49", "source_revision": "unknown:rendered-translation-baseline", "translation_revision": "snapshot:sha256:86d2ff781f93e1de17122ebc514d5e64fcb63fed15941f496d7e146c6dcc7a49", "translated_from_revision": null}, "body_sha256": "c285d681db842d9e59d6fe1fc1c1d7232655a9ce334a1c07eba435d767d5863b", "runtime_rerun": false, "authored_translation": "source-derived-identity", "source_facts_revision": "7a827e97cbfacd7febff75f34443e2043e40723de5b6d8c9d81a9430b65a37e4"}, "sections": [], "description_zh": "\u5c06\u5f53\u524d\u67e5\u8be2\u7f13\u51b2\u533a\u53d1\u9001\u7ed9\u670d\u52a1\u5668\uff0c\u7136\u540e\u628a\u67e5\u8be2\u8f93\u51fa\uff08\u5982\u679c\u6709\uff09\u7684\u6bcf\u4e00\u884c\u7684\u6bcf\u4e00\u5217\u89c6\u4e3a\u8981\u6267\u884c\u7684 SQL \u8bed\u53e5\u3002\u4f8b\u5982\uff0c\u4e0b\u9762\u4e3a\u6bcf\u4e00\u5217\u521b\u5efa\u4e00\u4e2a\u7d22\u5f15\uff0c\u76ee\u6807\u8868\u662f my_table \uff1a => SELECT format('create index on my_table(%I)', attname) -> FROM pg_attribute -> WHERE attrelid = 'my_table'::regclass AND attnum > 0 -> ORDER BY attnum -> \\gexec CREATE INDEX CREATE INDEX CREATE INDEX CREATE INDEX \u751f\u6210\u7684\u67e5\u8be2\u6309\u7167\u8fd4\u56de\u884c\u7684\u987a\u5e8f\u6267\u884c\uff1b\u5982\u679c\u6709\u591a\u5217\uff0c\u5219\u5728\u6bcf\u884c\u5185\u4ece\u5de6\u5230\u53f3\u6267\u884c\u3002NULL \u5b57\u6bb5\u4f1a\u88ab\u5ffd\u7565\u3002\u751f\u6210\u7684\u67e5\u8be2\u6309\u539f\u6837\u53d1\u9001\u5230\u670d\u52a1\u5668\u8fdb\u884c\u5904\u7406\uff0c\u56e0\u6b64\u4e0d\u80fd\u662f psql \u5143\u547d\u4ee4\uff0c\u4e5f\u4e0d\u80fd\u5305\u542b psql \u53d8\u91cf\u5f15\u7528\u3002\u5982\u679c\u67d0\u4e2a\u67e5\u8be2\u5931\u8d25\uff0c\u4ecd\u4f1a\u7ee7\u7eed\u6267\u884c\u5176\u4f59\u67e5\u8be2\uff0c\u9664\u975e\u8bbe\u7f6e\u4e86 ON_ERROR_STOP \u3002\u6bcf\u4e2a\u67e5\u8be2\u7684\u6267\u884c\u90fd\u53d7 ECHO \u5904\u7406\u7684\u5f71\u54cd\u3002\uff08\u901a\u5e38\uff0c\u5728\u4f7f\u7528 \\gexec \u65f6\uff0c\u9002\u5b9c\u5c06 ECHO \u8bbe\u4e3a all \u6216 queries \u3002\uff09\u67e5\u8be2\u65e5\u5fd7\u3001\u5355\u6b65\u6a21\u5f0f\u3001\u8ba1\u65f6\u53ca\u5176\u4ed6\u67e5\u8be2\u6267\u884c\u529f\u80fd\u4e5f\u9002\u7528\u4e8e\u6bcf\u4e2a\u751f\u6210\u7684\u67e5\u8be2\u3002 \u5982\u679c\u5f53\u524d\u67e5\u8be2\u7f13\u51b2\u533a\u4e3a\u7a7a\uff0c\u5219\u6539\u4e3a\u91cd\u65b0\u6267\u884c\u6700\u8fd1\u53d1\u9001\u7684\u67e5\u8be2\u3002", "description_zh_html": "<p>psql \u547d\u4ee4 \\gexec\u3002</p><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u5b9a\u4e49</h3><dd><p>\u5c06\u5f53\u524d\u67e5\u8be2\u7f13\u51b2\u533a\u53d1\u9001\u7ed9\u670d\u52a1\u5668\uff0c\u7136\u540e\u628a\u67e5\u8be2\u8f93\u51fa\uff08\u5982\u679c\u6709\uff09\u7684\u6bcf\u4e00\u884c\u7684\u6bcf\u4e00\u5217\u89c6\u4e3a\u8981\u6267\u884c\u7684 SQL \u8bed\u53e5\u3002\u4f8b\u5982\uff0c\u4e0b\u9762\u4e3a\u6bcf\u4e00\u5217\u521b\u5efa\u4e00\u4e2a\u7d22\u5f15\uff0c\u76ee\u6807\u8868\u662f <code class=\"structname\">my_table</code>\uff1a\n</p><pre class=\"programlisting\">=&gt; <strong class=\"userinput\"><code>SELECT format('create index on my_table(%I)', attname)</code></strong>\n-&gt; <strong class=\"userinput\"><code>FROM pg_attribute</code></strong>\n-&gt; <strong class=\"userinput\"><code>WHERE attrelid = 'my_table'::regclass AND attnum &gt; 0</code></strong>\n-&gt; <strong class=\"userinput\"><code>ORDER BY attnum</code></strong>\n-&gt; <strong class=\"userinput\"><code>\\gexec</code></strong>\nCREATE INDEX\nCREATE INDEX\nCREATE INDEX\nCREATE INDEX\n</pre><p>\n</p><p>\n         \u751f\u6210\u7684\u67e5\u8be2\u6309\u7167\u8fd4\u56de\u884c\u7684\u987a\u5e8f\u6267\u884c\uff1b\u5982\u679c\u6709\u591a\u5217\uff0c\u5219\u5728\u6bcf\u884c\u5185\u4ece\u5de6\u5230\u53f3\u6267\u884c\u3002NULL \u5b57\u6bb5\u4f1a\u88ab\u5ffd\u7565\u3002\u751f\u6210\u7684\u67e5\u8be2\u6309\u539f\u6837\u53d1\u9001\u5230\u670d\u52a1\u5668\u8fdb\u884c\u5904\u7406\uff0c\u56e0\u6b64\u4e0d\u80fd\u662f <span class=\"application\">psql</span> \u5143\u547d\u4ee4\uff0c\u4e5f\u4e0d\u80fd\u5305\u542b <span class=\"application\">psql</span> \u53d8\u91cf\u5f15\u7528\u3002\u5982\u679c\u67d0\u4e2a\u67e5\u8be2\u5931\u8d25\uff0c\u4ecd\u4f1a\u7ee7\u7eed\u6267\u884c\u5176\u4f59\u67e5\u8be2\uff0c\u9664\u975e\u8bbe\u7f6e\u4e86 <code class=\"varname\">ON_ERROR_STOP</code>\u3002\u6bcf\u4e2a\u67e5\u8be2\u7684\u6267\u884c\u90fd\u53d7 <code class=\"varname\">ECHO</code> \u5904\u7406\u7684\u5f71\u54cd\u3002\uff08\u901a\u5e38\uff0c\u5728\u4f7f\u7528<code class=\"command\">\\gexec</code> \u65f6\uff0c\u9002\u5b9c\u5c06 <code class=\"varname\">ECHO</code> \u8bbe\u4e3a <code class=\"literal\">all</code> \u6216 <code class=\"literal\">queries</code>\u3002\uff09\u67e5\u8be2\u65e5\u5fd7\u3001\u5355\u6b65\u6a21\u5f0f\u3001\u8ba1\u65f6\u53ca\u5176\u4ed6\u67e5\u8be2\u6267\u884c\u529f\u80fd\u4e5f\u9002\u7528\u4e8e\u6bcf\u4e2a\u751f\u6210\u7684\u67e5\u8be2\u3002\n        </p><p>\u5982\u679c\u5f53\u524d\u67e5\u8be2\u7f13\u51b2\u533a\u4e3a\u7a7a\uff0c\u5219\u6539\u4e3a\u91cd\u65b0\u6267\u884c\u6700\u8fd1\u53d1\u9001\u7684\u67e5\u8be2\u3002</p></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": "\u5c06\u5f53\u524d\u67e5\u8be2\u7f13\u51b2\u533a\u53d1\u9001\u7ed9\u670d\u52a1\u5668\uff0c\u7136\u540e\u628a\u67e5\u8be2\u8f93\u51fa\uff08\u5982\u679c\u6709\uff09\u7684\u6bcf\u4e00\u884c\u7684\u6bcf\u4e00\u5217\u89c6\u4e3a\u8981\u6267\u884c\u7684 SQL \u8bed\u53e5\u3002\u4f8b\u5982\uff0c\u4e0b\u9762\u4e3a\u6bcf\u4e00\u5217\u521b\u5efa\u4e00\u4e2a\u7d22\u5f15\uff0c\u76ee\u6807\u8868\u662f my_table \uff1a => SELECT format('create index on my_table(%I)', attname) -> FROM pg_attribute -> WHERE attrelid = 'my_table'::regclass AND attnum > 0 -> ORDER BY attnum -> \\gexec CREATE INDEX CREATE INDEX CREATE INDEX CREATE INDEX \u751f\u6210\u7684\u67e5\u8be2\u6309\u7167\u8fd4\u56de\u884c\u7684\u987a\u5e8f\u6267\u884c\uff1b\u5982\u679c\u6709\u591a\u5217\uff0c\u5219\u5728\u6bcf\u884c\u5185\u4ece\u5de6\u5230\u53f3\u6267\u884c\u3002NULL \u5b57\u6bb5\u4f1a\u88ab\u5ffd\u7565\u3002\u751f\u6210\u7684\u67e5\u8be2\u6309\u539f\u6837\u53d1\u9001\u5230\u670d\u52a1\u5668\u8fdb\u884c\u5904\u7406\uff0c\u56e0\u6b64\u4e0d\u80fd\u662f psql \u5143\u547d\u4ee4\uff0c\u4e5f\u4e0d\u80fd\u5305\u542b psql \u53d8\u91cf\u5f15\u7528\u3002\u5982\u679c\u67d0\u4e2a\u67e5\u8be2\u5931\u8d25\uff0c\u4ecd\u4f1a\u7ee7\u7eed\u6267\u884c\u5176\u4f59\u67e5\u8be2\uff0c\u9664\u975e\u8bbe\u7f6e\u4e86 ON_ERROR_STOP \u3002\u6bcf\u4e2a\u67e5\u8be2\u7684\u6267\u884c\u90fd\u53d7 ECHO \u5904\u7406\u7684\u5f71\u54cd\u3002\uff08\u901a\u5e38\uff0c\u5728\u4f7f\u7528 \\gexec \u65f6\uff0c\u9002\u5b9c\u5c06 ECHO \u8bbe\u4e3a all \u6216 queries \u3002\uff09\u67e5\u8be2\u65e5\u5fd7\u3001\u5355\u6b65\u6a21\u5f0f\u3001\u8ba1\u65f6\u53ca\u5176\u4ed6\u67e5\u8be2\u6267\u884c\u529f\u80fd\u4e5f\u9002\u7528\u4e8e\u6bcf\u4e2a\u751f\u6210\u7684\u67e5\u8be2\u3002 \u5982\u679c\u5f53\u524d\u67e5\u8be2\u7f13\u51b2\u533a\u4e3a\u7a7a\uff0c\u5219\u6539\u4e3a\u91cd\u65b0\u6267\u884c\u6700\u8fd1\u53d1\u9001\u7684\u67e5\u8be2\u3002", "version": "12", "link_map": {"/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 \\gexec\u3002</p><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u5b9a\u4e49</h3><dd><p>\u5c06\u5f53\u524d\u67e5\u8be2\u7f13\u51b2\u533a\u53d1\u9001\u7ed9\u670d\u52a1\u5668\uff0c\u7136\u540e\u628a\u67e5\u8be2\u8f93\u51fa\uff08\u5982\u679c\u6709\uff09\u7684\u6bcf\u4e00\u884c\u7684\u6bcf\u4e00\u5217\u89c6\u4e3a\u8981\u6267\u884c\u7684 SQL \u8bed\u53e5\u3002\u4f8b\u5982\uff0c\u4e0b\u9762\u4e3a\u6bcf\u4e00\u5217\u521b\u5efa\u4e00\u4e2a\u7d22\u5f15\uff0c\u76ee\u6807\u8868\u662f <code>my_table</code>\uff1a\n</p><pre>=&gt; <strong><code>SELECT format(&#39;create index on my_table(%I)&#39;, attname)</code></strong>\n-&gt; <strong><code>FROM pg_attribute</code></strong>\n-&gt; <strong><code>WHERE attrelid = &#39;my_table&#39;::regclass AND attnum &gt; 0</code></strong>\n-&gt; <strong><code>ORDER BY attnum</code></strong>\n-&gt; <strong><code>\\gexec</code></strong>\nCREATE INDEX\nCREATE INDEX\nCREATE INDEX\nCREATE INDEX\n</pre><p>\n</p><p>\n         \u751f\u6210\u7684\u67e5\u8be2\u6309\u7167\u8fd4\u56de\u884c\u7684\u987a\u5e8f\u6267\u884c\uff1b\u5982\u679c\u6709\u591a\u5217\uff0c\u5219\u5728\u6bcf\u884c\u5185\u4ece\u5de6\u5230\u53f3\u6267\u884c\u3002NULL \u5b57\u6bb5\u4f1a\u88ab\u5ffd\u7565\u3002\u751f\u6210\u7684\u67e5\u8be2\u6309\u539f\u6837\u53d1\u9001\u5230\u670d\u52a1\u5668\u8fdb\u884c\u5904\u7406\uff0c\u56e0\u6b64\u4e0d\u80fd\u662f <span>psql</span> \u5143\u547d\u4ee4\uff0c\u4e5f\u4e0d\u80fd\u5305\u542b <span>psql</span> \u53d8\u91cf\u5f15\u7528\u3002\u5982\u679c\u67d0\u4e2a\u67e5\u8be2\u5931\u8d25\uff0c\u4ecd\u4f1a\u7ee7\u7eed\u6267\u884c\u5176\u4f59\u67e5\u8be2\uff0c\u9664\u975e\u8bbe\u7f6e\u4e86 <code>ON_ERROR_STOP</code>\u3002\u6bcf\u4e2a\u67e5\u8be2\u7684\u6267\u884c\u90fd\u53d7 <code>ECHO</code> \u5904\u7406\u7684\u5f71\u54cd\u3002\uff08\u901a\u5e38\uff0c\u5728\u4f7f\u7528<code>\\gexec</code> \u65f6\uff0c\u9002\u5b9c\u5c06 <code>ECHO</code> \u8bbe\u4e3a <code>all</code> \u6216 <code>queries</code>\u3002\uff09\u67e5\u8be2\u65e5\u5fd7\u3001\u5355\u6b65\u6a21\u5f0f\u3001\u8ba1\u65f6\u53ca\u5176\u4ed6\u67e5\u8be2\u6267\u884c\u529f\u80fd\u4e5f\u9002\u7528\u4e8e\u6bcf\u4e2a\u751f\u6210\u7684\u67e5\u8be2\u3002\n        </p><p>\u5982\u679c\u5f53\u524d\u67e5\u8be2\u7f13\u51b2\u533a\u4e3a\u7a7a\uff0c\u5219\u6539\u4e3a\u91cd\u65b0\u6267\u884c\u6700\u8fd1\u53d1\u9001\u7684\u67e5\u8be2\u3002</p></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": "3fca9b75106947a312fbe02a81f6f730d3c417188009b28e2f999ba1fcab66ae", "content_hash": "a888ef7d5273dcf537cc1d59439189aa1202752d25a773772ec958b23104f52c", "source_database": "center", "source_revision": "7a827e97cbfacd7febff75f34443e2043e40723de5b6d8c9d81a9430b65a37e4"}, "modifiers": [], "signature": "\\gexec", "spellings": ["\\gexec"], "tables_zh": [{"key": "spellings", "rows": [{"command": {"url": "/wiki/psql/cmd-67-65-78-65-63/?v=12", "text": "\\gexec"}, "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": ["\u5c06\u5f53\u524d\u67e5\u8be2\u7f13\u51b2\u533a\u53d1\u9001\u7ed9\u670d\u52a1\u5668\uff0c\u7136\u540e\u628a\u67e5\u8be2\u8f93\u51fa\uff08\u5982\u679c\u6709\uff09\u7684\u6bcf\u4e00\u884c\u7684\u6bcf\u4e00\u5217\u89c6\u4e3a\u8981\u6267\u884c\u7684 SQL \u8bed\u53e5\u3002\u4f8b\u5982\uff0c\u4e0b\u9762\u4e3a\u6bcf\u4e00\u5217\u521b\u5efa\u4e00\u4e2a\u7d22\u5f15\uff0c\u76ee\u6807\u8868\u662f my_table \uff1a => SELECT format('create index on my_table(%I)', attname) -> FROM pg_attribute -> WHERE attrelid = 'my_table'::regclass AND attnum > 0 -> ORDER BY attnum -> \\gexec CREATE INDEX CREATE INDEX CREATE INDEX CREATE INDEX \u751f\u6210\u7684\u67e5\u8be2\u6309\u7167\u8fd4\u56de\u884c\u7684\u987a\u5e8f\u6267\u884c\uff1b\u5982\u679c\u6709\u591a\u5217\uff0c\u5219\u5728\u6bcf\u884c\u5185\u4ece\u5de6\u5230\u53f3\u6267\u884c\u3002NULL \u5b57\u6bb5\u4f1a\u88ab\u5ffd\u7565\u3002\u751f\u6210\u7684\u67e5\u8be2\u6309\u539f\u6837\u53d1\u9001\u5230\u670d\u52a1\u5668\u8fdb\u884c\u5904\u7406\uff0c\u56e0\u6b64\u4e0d\u80fd\u662f psql \u5143\u547d\u4ee4\uff0c\u4e5f\u4e0d\u80fd\u5305\u542b psql \u53d8\u91cf\u5f15\u7528\u3002\u5982\u679c\u67d0\u4e2a\u67e5\u8be2\u5931\u8d25\uff0c\u4ecd\u4f1a\u7ee7\u7eed\u6267\u884c\u5176\u4f59\u67e5\u8be2\uff0c\u9664\u975e\u8bbe\u7f6e\u4e86 ON_ERROR_STOP \u3002\u6bcf\u4e2a\u67e5\u8be2\u7684\u6267\u884c\u90fd\u53d7 ECHO \u5904\u7406\u7684\u5f71\u54cd\u3002\uff08\u901a\u5e38\uff0c\u5728\u4f7f\u7528 \\gexec \u65f6\uff0c\u9002\u5b9c\u5c06 ECHO \u8bbe\u4e3a all \u6216 queries \u3002\uff09\u67e5\u8be2\u65e5\u5fd7\u3001\u5355\u6b65\u6a21\u5f0f\u3001\u8ba1\u65f6\u53ca\u5176\u4ed6\u67e5\u8be2\u6267\u884c\u529f\u80fd\u4e5f\u9002\u7528\u4e8e\u6bcf\u4e2a\u751f\u6210\u7684\u67e5\u8be2\u3002 \u5982\u679c\u5f53\u524d\u67e5\u8be2\u7f13\u51b2\u533a\u4e3a\u7a7a\uff0c\u5219\u6539\u4e3a\u91cd\u65b0\u6267\u884c\u6700\u8fd1\u53d1\u9001\u7684\u67e5\u8be2\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[103]/p[0]"]}], "language": "zh", "original_text": {"/versions/12/description/0": "Sends the current query buffer to the server, then treats each column of each row of the query's output (if any) as a SQL statement to be executed. For example, to create an index on each column of my_table :", "/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": "0fd377c04cdeb857a04a34dbfbac6e9a44deb13c97b73bea8f61f0d551c42e40", "canonical_center_text_hash": "a888ef7d5273dcf537cc1d59439189aa1202752d25a773772ec958b23104f52c"}, "description_zh": "\u5c06\u5f53\u524d\u67e5\u8be2\u7f13\u51b2\u533a\u53d1\u9001\u7ed9\u670d\u52a1\u5668\uff0c\u7136\u540e\u628a\u67e5\u8be2\u8f93\u51fa\uff08\u5982\u679c\u6709\uff09\u7684\u6bcf\u4e00\u884c\u7684\u6bcf\u4e00\u5217\u89c6\u4e3a\u8981\u6267\u884c\u7684 SQL \u8bed\u53e5\u3002\u4f8b\u5982\uff0c\u4e0b\u9762\u4e3a\u6bcf\u4e00\u5217\u521b\u5efa\u4e00\u4e2a\u7d22\u5f15\uff0c\u76ee\u6807\u8868\u662f my_table \uff1a => SELECT format('create index on my_table(%I)', attname) -> FROM pg_attribute -> WHERE attrelid = 'my_table'::regclass AND attnum > 0 -> ORDER BY attnum -> \\gexec CREATE INDEX CREATE INDEX CREATE INDEX CREATE INDEX \u751f\u6210\u7684\u67e5\u8be2\u6309\u7167\u8fd4\u56de\u884c\u7684\u987a\u5e8f\u6267\u884c\uff1b\u5982\u679c\u6709\u591a\u5217\uff0c\u5219\u5728\u6bcf\u884c\u5185\u4ece\u5de6\u5230\u53f3\u6267\u884c\u3002NULL \u5b57\u6bb5\u4f1a\u88ab\u5ffd\u7565\u3002\u751f\u6210\u7684\u67e5\u8be2\u6309\u539f\u6837\u53d1\u9001\u5230\u670d\u52a1\u5668\u8fdb\u884c\u5904\u7406\uff0c\u56e0\u6b64\u4e0d\u80fd\u662f psql \u5143\u547d\u4ee4\uff0c\u4e5f\u4e0d\u80fd\u5305\u542b psql \u53d8\u91cf\u5f15\u7528\u3002\u5982\u679c\u67d0\u4e2a\u67e5\u8be2\u5931\u8d25\uff0c\u4ecd\u4f1a\u7ee7\u7eed\u6267\u884c\u5176\u4f59\u67e5\u8be2\uff0c\u9664\u975e\u8bbe\u7f6e\u4e86 ON_ERROR_STOP \u3002\u6bcf\u4e2a\u67e5\u8be2\u7684\u6267\u884c\u90fd\u53d7 ECHO \u5904\u7406\u7684\u5f71\u54cd\u3002\uff08\u901a\u5e38\uff0c\u5728\u4f7f\u7528 \\gexec \u65f6\uff0c\u9002\u5b9c\u5c06 ECHO \u8bbe\u4e3a all \u6216 queries \u3002\uff09\u67e5\u8be2\u65e5\u5fd7\u3001\u5355\u6b65\u6a21\u5f0f\u3001\u8ba1\u65f6\u53ca\u5176\u4ed6\u67e5\u8be2\u6267\u884c\u529f\u80fd\u4e5f\u9002\u7528\u4e8e\u6bcf\u4e2a\u751f\u6210\u7684\u67e5\u8be2\u3002 \u5982\u679c\u5f53\u524d\u67e5\u8be2\u7f13\u51b2\u533a\u4e3a\u7a7a\uff0c\u5219\u6539\u4e3a\u91cd\u65b0\u6267\u884c\u6700\u8fd1\u53d1\u9001\u7684\u67e5\u8be2\u3002", "comparison_data": {"modifiers": [], "signature": "\\gexec", "spellings": ["\\gexec"], "definition": "Sends the current query buffer to the server, then treats each column of each row of the query's output (if any) as a SQL statement to be executed. For example, to create an index on each column of my_table : => SELECT format('create index on my_table(%I)', attname) -> FROM pg_attribute -> WHERE attrelid = 'my_table'::regclass AND attnum > 0 -> ORDER BY attnum -> \\gexec CREATE INDEX CREATE INDEX CREATE INDEX CREATE INDEX The generated queries are executed in the order in which the rows are returned, and left-to-right within each row if there is more than one column. NULL fields are ignored. The generated queries are sent literally to the server for processing, so they cannot be psql meta-commands nor contain psql variable references. If any individual query fails, execution of the remaining queries continues unless ON_ERROR_STOP is set. Execution of each query is subject to ECHO processing. (Setting ECHO to all or queries is often advisable when using \\gexec .) Query logging, single-step mode, timing, and other query execution features apply to each generated query as well. If the current query buffer is empty, the most recently sent query is re-executed instead."}, "comparison_hash": "3291d77affc2dbcf67a28462d81dac9d9979ae806dcf260dee82d79c1b70dfb3", "manual_language": "zh", "description_zh_html": "<p>psql \u547d\u4ee4 \\gexec\u3002</p><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u5b9a\u4e49</h3><dd><p>\u5c06\u5f53\u524d\u67e5\u8be2\u7f13\u51b2\u533a\u53d1\u9001\u7ed9\u670d\u52a1\u5668\uff0c\u7136\u540e\u628a\u67e5\u8be2\u8f93\u51fa\uff08\u5982\u679c\u6709\uff09\u7684\u6bcf\u4e00\u884c\u7684\u6bcf\u4e00\u5217\u89c6\u4e3a\u8981\u6267\u884c\u7684 SQL \u8bed\u53e5\u3002\u4f8b\u5982\uff0c\u4e0b\u9762\u4e3a\u6bcf\u4e00\u5217\u521b\u5efa\u4e00\u4e2a\u7d22\u5f15\uff0c\u76ee\u6807\u8868\u662f <code>my_table</code>\uff1a\n</p><pre>=&gt; <strong><code>SELECT format(&#39;create index on my_table(%I)&#39;, attname)</code></strong>\n-&gt; <strong><code>FROM pg_attribute</code></strong>\n-&gt; <strong><code>WHERE attrelid = &#39;my_table&#39;::regclass AND attnum &gt; 0</code></strong>\n-&gt; <strong><code>ORDER BY attnum</code></strong>\n-&gt; <strong><code>\\gexec</code></strong>\nCREATE INDEX\nCREATE INDEX\nCREATE INDEX\nCREATE INDEX\n</pre><p>\n</p><p>\n         \u751f\u6210\u7684\u67e5\u8be2\u6309\u7167\u8fd4\u56de\u884c\u7684\u987a\u5e8f\u6267\u884c\uff1b\u5982\u679c\u6709\u591a\u5217\uff0c\u5219\u5728\u6bcf\u884c\u5185\u4ece\u5de6\u5230\u53f3\u6267\u884c\u3002NULL \u5b57\u6bb5\u4f1a\u88ab\u5ffd\u7565\u3002\u751f\u6210\u7684\u67e5\u8be2\u6309\u539f\u6837\u53d1\u9001\u5230\u670d\u52a1\u5668\u8fdb\u884c\u5904\u7406\uff0c\u56e0\u6b64\u4e0d\u80fd\u662f <span>psql</span> \u5143\u547d\u4ee4\uff0c\u4e5f\u4e0d\u80fd\u5305\u542b <span>psql</span> \u53d8\u91cf\u5f15\u7528\u3002\u5982\u679c\u67d0\u4e2a\u67e5\u8be2\u5931\u8d25\uff0c\u4ecd\u4f1a\u7ee7\u7eed\u6267\u884c\u5176\u4f59\u67e5\u8be2\uff0c\u9664\u975e\u8bbe\u7f6e\u4e86 <code>ON_ERROR_STOP</code>\u3002\u6bcf\u4e2a\u67e5\u8be2\u7684\u6267\u884c\u90fd\u53d7 <code>ECHO</code> \u5904\u7406\u7684\u5f71\u54cd\u3002\uff08\u901a\u5e38\uff0c\u5728\u4f7f\u7528<code>\\gexec</code> \u65f6\uff0c\u9002\u5b9c\u5c06 <code>ECHO</code> \u8bbe\u4e3a <code>all</code> \u6216 <code>queries</code>\u3002\uff09\u67e5\u8be2\u65e5\u5fd7\u3001\u5355\u6b65\u6a21\u5f0f\u3001\u8ba1\u65f6\u53ca\u5176\u4ed6\u67e5\u8be2\u6267\u884c\u529f\u80fd\u4e5f\u9002\u7528\u4e8e\u6bcf\u4e2a\u751f\u6210\u7684\u67e5\u8be2\u3002\n        </p><p>\u5982\u679c\u5f53\u524d\u67e5\u8be2\u7f13\u51b2\u533a\u4e3a\u7a7a\uff0c\u5219\u6539\u4e3a\u91cd\u65b0\u6267\u884c\u6700\u8fd1\u53d1\u9001\u7684\u67e5\u8be2\u3002</p></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": "\\gexec"}], "tables": [{"key": "spellings", "rows": [{"command": {"url": "/wiki/psql/cmd-67-65-78-65-63/?v=13", "text": "\\gexec"}, "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": "\\gexec", "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": "39e602211e3da82094658f833dd1073050d5598bc3c1a25f48054f382b9ffb49", "source_revision": "unknown:rendered-translation-baseline", "translation_revision": "snapshot:sha256:a13a825c39f0268ef1cfe9137e283e38d0da73b2d7894f0733c7b26372a4f6a4", "translated_from_revision": null}, "body_sha256": "99bfd33485a1fb723660a504c032d8f93981f0bf2ee1e3af98c1f67dc2c1faca", "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": "\\gexec"}], "sections": [], "center_zh": {"title": "\\gexec", "locale": "zh-Hans", "source": {"key": "cmd-67-65-78-65-63", "locale": "zh-Hans", "version": "13", "text_hash": "09ec9d9c607ad9330ebab98702370aa1b223f27b4b238e6f35b2458812be2c5e", "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": "\\gexec"}], "tables": [{"key": "spellings", "rows": [{"command": {"url": "/wiki/psql/cmd-67-65-78-65-63/?v=13", "text": "\\gexec"}, "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": "39e602211e3da82094658f833dd1073050d5598bc3c1a25f48054f382b9ffb49", "source_revision": "unknown:rendered-translation-baseline", "translation_revision": "snapshot:sha256:a13a825c39f0268ef1cfe9137e283e38d0da73b2d7894f0733c7b26372a4f6a4", "translated_from_revision": null}, "body_sha256": "99bfd33485a1fb723660a504c032d8f93981f0bf2ee1e3af98c1f67dc2c1faca", "runtime_rerun": false, "authored_translation": "source-derived-identity", "source_facts_revision": "614ee3133270254e476c118cdf6f72af78d4e4b8bbd9b28ed9ab1e14e4e9c0f6"}, "sections": [], "description_zh": "\u5c06\u5f53\u524d\u67e5\u8be2\u7f13\u51b2\u533a\u53d1\u9001\u7ed9\u670d\u52a1\u5668\uff0c\u7136\u540e\u628a\u67e5\u8be2\u8f93\u51fa\uff08\u5982\u679c\u6709\uff09\u7684\u6bcf\u4e00\u884c\u7684\u6bcf\u4e00\u5217\u89c6\u4e3a\u8981\u6267\u884c\u7684 SQL \u8bed\u53e5\u3002\u4f8b\u5982\uff0c\u4e0b\u9762\u4e3a\u6bcf\u4e00\u5217\u521b\u5efa\u4e00\u4e2a\u7d22\u5f15\uff0c\u76ee\u6807\u8868\u662f my_table \uff1a => SELECT format('create index on my_table(%I)', attname) -> FROM pg_attribute -> WHERE attrelid = 'my_table'::regclass AND attnum > 0 -> ORDER BY attnum -> \\gexec CREATE INDEX CREATE INDEX CREATE INDEX CREATE INDEX \u751f\u6210\u7684\u67e5\u8be2\u6309\u7167\u8fd4\u56de\u884c\u7684\u987a\u5e8f\u6267\u884c\uff1b\u5982\u679c\u6709\u591a\u5217\uff0c\u5219\u5728\u6bcf\u884c\u5185\u4ece\u5de6\u5230\u53f3\u6267\u884c\u3002NULL \u5b57\u6bb5\u4f1a\u88ab\u5ffd\u7565\u3002\u751f\u6210\u7684\u67e5\u8be2\u6309\u539f\u6837\u53d1\u9001\u5230\u670d\u52a1\u5668\u8fdb\u884c\u5904\u7406\uff0c\u56e0\u6b64\u4e0d\u80fd\u662f psql \u5143\u547d\u4ee4\uff0c\u4e5f\u4e0d\u80fd\u5305\u542b psql \u53d8\u91cf\u5f15\u7528\u3002\u5982\u679c\u67d0\u4e2a\u67e5\u8be2\u5931\u8d25\uff0c\u4ecd\u4f1a\u7ee7\u7eed\u6267\u884c\u5176\u4f59\u67e5\u8be2\uff0c\u9664\u975e\u8bbe\u7f6e\u4e86 ON_ERROR_STOP \u3002\u6bcf\u4e2a\u67e5\u8be2\u7684\u6267\u884c\u90fd\u53d7 ECHO \u5904\u7406\u7684\u5f71\u54cd\u3002\uff08\u901a\u5e38\uff0c\u5728\u4f7f\u7528 \\gexec \u65f6\uff0c\u9002\u5b9c\u5c06 ECHO \u8bbe\u4e3a all \u6216 queries \u3002\uff09\u67e5\u8be2\u65e5\u5fd7\u3001\u5355\u6b65\u6a21\u5f0f\u3001\u8ba1\u65f6\u53ca\u5176\u4ed6\u67e5\u8be2\u6267\u884c\u529f\u80fd\u4e5f\u9002\u7528\u4e8e\u6bcf\u4e2a\u751f\u6210\u7684\u67e5\u8be2\u3002 \u5982\u679c\u5f53\u524d\u67e5\u8be2\u7f13\u51b2\u533a\u4e3a\u7a7a\uff0c\u5219\u6539\u4e3a\u91cd\u65b0\u6267\u884c\u6700\u8fd1\u53d1\u9001\u7684\u67e5\u8be2\u3002", "description_zh_html": "<p>psql \u547d\u4ee4 \\gexec\u3002</p><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u5b9a\u4e49</h3><dd><p>\u5c06\u5f53\u524d\u67e5\u8be2\u7f13\u51b2\u533a\u53d1\u9001\u7ed9\u670d\u52a1\u5668\uff0c\u7136\u540e\u628a\u67e5\u8be2\u8f93\u51fa\uff08\u5982\u679c\u6709\uff09\u7684\u6bcf\u4e00\u884c\u7684\u6bcf\u4e00\u5217\u89c6\u4e3a\u8981\u6267\u884c\u7684 SQL \u8bed\u53e5\u3002\u4f8b\u5982\uff0c\u4e0b\u9762\u4e3a\u6bcf\u4e00\u5217\u521b\u5efa\u4e00\u4e2a\u7d22\u5f15\uff0c\u76ee\u6807\u8868\u662f <code class=\"structname\">my_table</code>\uff1a\n</p><pre class=\"programlisting\">=&gt; <strong class=\"userinput\"><code>SELECT format('create index on my_table(%I)', attname)</code></strong>\n-&gt; <strong class=\"userinput\"><code>FROM pg_attribute</code></strong>\n-&gt; <strong class=\"userinput\"><code>WHERE attrelid = 'my_table'::regclass AND attnum &gt; 0</code></strong>\n-&gt; <strong class=\"userinput\"><code>ORDER BY attnum</code></strong>\n-&gt; <strong class=\"userinput\"><code>\\gexec</code></strong>\nCREATE INDEX\nCREATE INDEX\nCREATE INDEX\nCREATE INDEX\n</pre><p>\n</p><p>\n         \u751f\u6210\u7684\u67e5\u8be2\u6309\u7167\u8fd4\u56de\u884c\u7684\u987a\u5e8f\u6267\u884c\uff1b\u5982\u679c\u6709\u591a\u5217\uff0c\u5219\u5728\u6bcf\u884c\u5185\u4ece\u5de6\u5230\u53f3\u6267\u884c\u3002NULL \u5b57\u6bb5\u4f1a\u88ab\u5ffd\u7565\u3002\u751f\u6210\u7684\u67e5\u8be2\u6309\u539f\u6837\u53d1\u9001\u5230\u670d\u52a1\u5668\u8fdb\u884c\u5904\u7406\uff0c\u56e0\u6b64\u4e0d\u80fd\u662f <span class=\"application\">psql</span> \u5143\u547d\u4ee4\uff0c\u4e5f\u4e0d\u80fd\u5305\u542b <span class=\"application\">psql</span> \u53d8\u91cf\u5f15\u7528\u3002\u5982\u679c\u67d0\u4e2a\u67e5\u8be2\u5931\u8d25\uff0c\u4ecd\u4f1a\u7ee7\u7eed\u6267\u884c\u5176\u4f59\u67e5\u8be2\uff0c\u9664\u975e\u8bbe\u7f6e\u4e86 <code class=\"varname\">ON_ERROR_STOP</code>\u3002\u6bcf\u4e2a\u67e5\u8be2\u7684\u6267\u884c\u90fd\u53d7 <code class=\"varname\">ECHO</code> \u5904\u7406\u7684\u5f71\u54cd\u3002\uff08\u901a\u5e38\uff0c\u5728\u4f7f\u7528<code class=\"command\">\\gexec</code> \u65f6\uff0c\u9002\u5b9c\u5c06 <code class=\"varname\">ECHO</code> \u8bbe\u4e3a <code class=\"literal\">all</code> \u6216 <code class=\"literal\">queries</code>\u3002\uff09\u67e5\u8be2\u65e5\u5fd7\u3001\u5355\u6b65\u6a21\u5f0f\u3001\u8ba1\u65f6\u53ca\u5176\u4ed6\u67e5\u8be2\u6267\u884c\u529f\u80fd\u4e5f\u9002\u7528\u4e8e\u6bcf\u4e2a\u751f\u6210\u7684\u67e5\u8be2\u3002\n        </p><p>\u5982\u679c\u5f53\u524d\u67e5\u8be2\u7f13\u51b2\u533a\u4e3a\u7a7a\uff0c\u5219\u6539\u4e3a\u91cd\u65b0\u6267\u884c\u6700\u8fd1\u53d1\u9001\u7684\u67e5\u8be2\u3002</p></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": "\u5c06\u5f53\u524d\u67e5\u8be2\u7f13\u51b2\u533a\u53d1\u9001\u7ed9\u670d\u52a1\u5668\uff0c\u7136\u540e\u628a\u67e5\u8be2\u8f93\u51fa\uff08\u5982\u679c\u6709\uff09\u7684\u6bcf\u4e00\u884c\u7684\u6bcf\u4e00\u5217\u89c6\u4e3a\u8981\u6267\u884c\u7684 SQL \u8bed\u53e5\u3002\u4f8b\u5982\uff0c\u4e0b\u9762\u4e3a\u6bcf\u4e00\u5217\u521b\u5efa\u4e00\u4e2a\u7d22\u5f15\uff0c\u76ee\u6807\u8868\u662f my_table \uff1a => SELECT format('create index on my_table(%I)', attname) -> FROM pg_attribute -> WHERE attrelid = 'my_table'::regclass AND attnum > 0 -> ORDER BY attnum -> \\gexec CREATE INDEX CREATE INDEX CREATE INDEX CREATE INDEX \u751f\u6210\u7684\u67e5\u8be2\u6309\u7167\u8fd4\u56de\u884c\u7684\u987a\u5e8f\u6267\u884c\uff1b\u5982\u679c\u6709\u591a\u5217\uff0c\u5219\u5728\u6bcf\u884c\u5185\u4ece\u5de6\u5230\u53f3\u6267\u884c\u3002NULL \u5b57\u6bb5\u4f1a\u88ab\u5ffd\u7565\u3002\u751f\u6210\u7684\u67e5\u8be2\u6309\u539f\u6837\u53d1\u9001\u5230\u670d\u52a1\u5668\u8fdb\u884c\u5904\u7406\uff0c\u56e0\u6b64\u4e0d\u80fd\u662f psql \u5143\u547d\u4ee4\uff0c\u4e5f\u4e0d\u80fd\u5305\u542b psql \u53d8\u91cf\u5f15\u7528\u3002\u5982\u679c\u67d0\u4e2a\u67e5\u8be2\u5931\u8d25\uff0c\u4ecd\u4f1a\u7ee7\u7eed\u6267\u884c\u5176\u4f59\u67e5\u8be2\uff0c\u9664\u975e\u8bbe\u7f6e\u4e86 ON_ERROR_STOP \u3002\u6bcf\u4e2a\u67e5\u8be2\u7684\u6267\u884c\u90fd\u53d7 ECHO \u5904\u7406\u7684\u5f71\u54cd\u3002\uff08\u901a\u5e38\uff0c\u5728\u4f7f\u7528 \\gexec \u65f6\uff0c\u9002\u5b9c\u5c06 ECHO \u8bbe\u4e3a all \u6216 queries \u3002\uff09\u67e5\u8be2\u65e5\u5fd7\u3001\u5355\u6b65\u6a21\u5f0f\u3001\u8ba1\u65f6\u53ca\u5176\u4ed6\u67e5\u8be2\u6267\u884c\u529f\u80fd\u4e5f\u9002\u7528\u4e8e\u6bcf\u4e2a\u751f\u6210\u7684\u67e5\u8be2\u3002 \u5982\u679c\u5f53\u524d\u67e5\u8be2\u7f13\u51b2\u533a\u4e3a\u7a7a\uff0c\u5219\u6539\u4e3a\u91cd\u65b0\u6267\u884c\u6700\u8fd1\u53d1\u9001\u7684\u67e5\u8be2\u3002", "version": "13", "link_map": {"/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 \\gexec\u3002</p><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u5b9a\u4e49</h3><dd><p>\u5c06\u5f53\u524d\u67e5\u8be2\u7f13\u51b2\u533a\u53d1\u9001\u7ed9\u670d\u52a1\u5668\uff0c\u7136\u540e\u628a\u67e5\u8be2\u8f93\u51fa\uff08\u5982\u679c\u6709\uff09\u7684\u6bcf\u4e00\u884c\u7684\u6bcf\u4e00\u5217\u89c6\u4e3a\u8981\u6267\u884c\u7684 SQL \u8bed\u53e5\u3002\u4f8b\u5982\uff0c\u4e0b\u9762\u4e3a\u6bcf\u4e00\u5217\u521b\u5efa\u4e00\u4e2a\u7d22\u5f15\uff0c\u76ee\u6807\u8868\u662f <code>my_table</code>\uff1a\n</p><pre>=&gt; <strong><code>SELECT format(&#39;create index on my_table(%I)&#39;, attname)</code></strong>\n-&gt; <strong><code>FROM pg_attribute</code></strong>\n-&gt; <strong><code>WHERE attrelid = &#39;my_table&#39;::regclass AND attnum &gt; 0</code></strong>\n-&gt; <strong><code>ORDER BY attnum</code></strong>\n-&gt; <strong><code>\\gexec</code></strong>\nCREATE INDEX\nCREATE INDEX\nCREATE INDEX\nCREATE INDEX\n</pre><p>\n</p><p>\n         \u751f\u6210\u7684\u67e5\u8be2\u6309\u7167\u8fd4\u56de\u884c\u7684\u987a\u5e8f\u6267\u884c\uff1b\u5982\u679c\u6709\u591a\u5217\uff0c\u5219\u5728\u6bcf\u884c\u5185\u4ece\u5de6\u5230\u53f3\u6267\u884c\u3002NULL \u5b57\u6bb5\u4f1a\u88ab\u5ffd\u7565\u3002\u751f\u6210\u7684\u67e5\u8be2\u6309\u539f\u6837\u53d1\u9001\u5230\u670d\u52a1\u5668\u8fdb\u884c\u5904\u7406\uff0c\u56e0\u6b64\u4e0d\u80fd\u662f <span>psql</span> \u5143\u547d\u4ee4\uff0c\u4e5f\u4e0d\u80fd\u5305\u542b <span>psql</span> \u53d8\u91cf\u5f15\u7528\u3002\u5982\u679c\u67d0\u4e2a\u67e5\u8be2\u5931\u8d25\uff0c\u4ecd\u4f1a\u7ee7\u7eed\u6267\u884c\u5176\u4f59\u67e5\u8be2\uff0c\u9664\u975e\u8bbe\u7f6e\u4e86 <code>ON_ERROR_STOP</code>\u3002\u6bcf\u4e2a\u67e5\u8be2\u7684\u6267\u884c\u90fd\u53d7 <code>ECHO</code> \u5904\u7406\u7684\u5f71\u54cd\u3002\uff08\u901a\u5e38\uff0c\u5728\u4f7f\u7528<code>\\gexec</code> \u65f6\uff0c\u9002\u5b9c\u5c06 <code>ECHO</code> \u8bbe\u4e3a <code>all</code> \u6216 <code>queries</code>\u3002\uff09\u67e5\u8be2\u65e5\u5fd7\u3001\u5355\u6b65\u6a21\u5f0f\u3001\u8ba1\u65f6\u53ca\u5176\u4ed6\u67e5\u8be2\u6267\u884c\u529f\u80fd\u4e5f\u9002\u7528\u4e8e\u6bcf\u4e2a\u751f\u6210\u7684\u67e5\u8be2\u3002\n        </p><p>\u5982\u679c\u5f53\u524d\u67e5\u8be2\u7f13\u51b2\u533a\u4e3a\u7a7a\uff0c\u5219\u6539\u4e3a\u91cd\u65b0\u6267\u884c\u6700\u8fd1\u53d1\u9001\u7684\u67e5\u8be2\u3002</p></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": "1711dbf098be84c85361f7d26374f4627bd52d49cc17fc307f45baf976e6877e", "content_hash": "09ec9d9c607ad9330ebab98702370aa1b223f27b4b238e6f35b2458812be2c5e", "source_database": "center", "source_revision": "614ee3133270254e476c118cdf6f72af78d4e4b8bbd9b28ed9ab1e14e4e9c0f6"}, "modifiers": [], "signature": "\\gexec", "spellings": ["\\gexec"], "tables_zh": [{"key": "spellings", "rows": [{"command": {"url": "/wiki/psql/cmd-67-65-78-65-63/?v=13", "text": "\\gexec"}, "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": ["\u5c06\u5f53\u524d\u67e5\u8be2\u7f13\u51b2\u533a\u53d1\u9001\u7ed9\u670d\u52a1\u5668\uff0c\u7136\u540e\u628a\u67e5\u8be2\u8f93\u51fa\uff08\u5982\u679c\u6709\uff09\u7684\u6bcf\u4e00\u884c\u7684\u6bcf\u4e00\u5217\u89c6\u4e3a\u8981\u6267\u884c\u7684 SQL \u8bed\u53e5\u3002\u4f8b\u5982\uff0c\u4e0b\u9762\u4e3a\u6bcf\u4e00\u5217\u521b\u5efa\u4e00\u4e2a\u7d22\u5f15\uff0c\u76ee\u6807\u8868\u662f my_table \uff1a => SELECT format('create index on my_table(%I)', attname) -> FROM pg_attribute -> WHERE attrelid = 'my_table'::regclass AND attnum > 0 -> ORDER BY attnum -> \\gexec CREATE INDEX CREATE INDEX CREATE INDEX CREATE INDEX \u751f\u6210\u7684\u67e5\u8be2\u6309\u7167\u8fd4\u56de\u884c\u7684\u987a\u5e8f\u6267\u884c\uff1b\u5982\u679c\u6709\u591a\u5217\uff0c\u5219\u5728\u6bcf\u884c\u5185\u4ece\u5de6\u5230\u53f3\u6267\u884c\u3002NULL \u5b57\u6bb5\u4f1a\u88ab\u5ffd\u7565\u3002\u751f\u6210\u7684\u67e5\u8be2\u6309\u539f\u6837\u53d1\u9001\u5230\u670d\u52a1\u5668\u8fdb\u884c\u5904\u7406\uff0c\u56e0\u6b64\u4e0d\u80fd\u662f psql \u5143\u547d\u4ee4\uff0c\u4e5f\u4e0d\u80fd\u5305\u542b psql \u53d8\u91cf\u5f15\u7528\u3002\u5982\u679c\u67d0\u4e2a\u67e5\u8be2\u5931\u8d25\uff0c\u4ecd\u4f1a\u7ee7\u7eed\u6267\u884c\u5176\u4f59\u67e5\u8be2\uff0c\u9664\u975e\u8bbe\u7f6e\u4e86 ON_ERROR_STOP \u3002\u6bcf\u4e2a\u67e5\u8be2\u7684\u6267\u884c\u90fd\u53d7 ECHO \u5904\u7406\u7684\u5f71\u54cd\u3002\uff08\u901a\u5e38\uff0c\u5728\u4f7f\u7528 \\gexec \u65f6\uff0c\u9002\u5b9c\u5c06 ECHO \u8bbe\u4e3a all \u6216 queries \u3002\uff09\u67e5\u8be2\u65e5\u5fd7\u3001\u5355\u6b65\u6a21\u5f0f\u3001\u8ba1\u65f6\u53ca\u5176\u4ed6\u67e5\u8be2\u6267\u884c\u529f\u80fd\u4e5f\u9002\u7528\u4e8e\u6bcf\u4e2a\u751f\u6210\u7684\u67e5\u8be2\u3002 \u5982\u679c\u5f53\u524d\u67e5\u8be2\u7f13\u51b2\u533a\u4e3a\u7a7a\uff0c\u5219\u6539\u4e3a\u91cd\u65b0\u6267\u884c\u6700\u8fd1\u53d1\u9001\u7684\u67e5\u8be2\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[111]/p[0]"]}], "language": "zh", "original_text": {"/versions/13/description/0": "Sends the current query buffer to the server, then treats each column of each row of the query's output (if any) as a SQL statement to be executed. For example, to create an index on each column of my_table :", "/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": "596c22d6776c7d3619a0a566944662d20c74d451a9ce2f7373eca0c1ce794da8", "canonical_center_text_hash": "09ec9d9c607ad9330ebab98702370aa1b223f27b4b238e6f35b2458812be2c5e"}, "description_zh": "\u5c06\u5f53\u524d\u67e5\u8be2\u7f13\u51b2\u533a\u53d1\u9001\u7ed9\u670d\u52a1\u5668\uff0c\u7136\u540e\u628a\u67e5\u8be2\u8f93\u51fa\uff08\u5982\u679c\u6709\uff09\u7684\u6bcf\u4e00\u884c\u7684\u6bcf\u4e00\u5217\u89c6\u4e3a\u8981\u6267\u884c\u7684 SQL \u8bed\u53e5\u3002\u4f8b\u5982\uff0c\u4e0b\u9762\u4e3a\u6bcf\u4e00\u5217\u521b\u5efa\u4e00\u4e2a\u7d22\u5f15\uff0c\u76ee\u6807\u8868\u662f my_table \uff1a => SELECT format('create index on my_table(%I)', attname) -> FROM pg_attribute -> WHERE attrelid = 'my_table'::regclass AND attnum > 0 -> ORDER BY attnum -> \\gexec CREATE INDEX CREATE INDEX CREATE INDEX CREATE INDEX \u751f\u6210\u7684\u67e5\u8be2\u6309\u7167\u8fd4\u56de\u884c\u7684\u987a\u5e8f\u6267\u884c\uff1b\u5982\u679c\u6709\u591a\u5217\uff0c\u5219\u5728\u6bcf\u884c\u5185\u4ece\u5de6\u5230\u53f3\u6267\u884c\u3002NULL \u5b57\u6bb5\u4f1a\u88ab\u5ffd\u7565\u3002\u751f\u6210\u7684\u67e5\u8be2\u6309\u539f\u6837\u53d1\u9001\u5230\u670d\u52a1\u5668\u8fdb\u884c\u5904\u7406\uff0c\u56e0\u6b64\u4e0d\u80fd\u662f psql \u5143\u547d\u4ee4\uff0c\u4e5f\u4e0d\u80fd\u5305\u542b psql \u53d8\u91cf\u5f15\u7528\u3002\u5982\u679c\u67d0\u4e2a\u67e5\u8be2\u5931\u8d25\uff0c\u4ecd\u4f1a\u7ee7\u7eed\u6267\u884c\u5176\u4f59\u67e5\u8be2\uff0c\u9664\u975e\u8bbe\u7f6e\u4e86 ON_ERROR_STOP \u3002\u6bcf\u4e2a\u67e5\u8be2\u7684\u6267\u884c\u90fd\u53d7 ECHO \u5904\u7406\u7684\u5f71\u54cd\u3002\uff08\u901a\u5e38\uff0c\u5728\u4f7f\u7528 \\gexec \u65f6\uff0c\u9002\u5b9c\u5c06 ECHO \u8bbe\u4e3a all \u6216 queries \u3002\uff09\u67e5\u8be2\u65e5\u5fd7\u3001\u5355\u6b65\u6a21\u5f0f\u3001\u8ba1\u65f6\u53ca\u5176\u4ed6\u67e5\u8be2\u6267\u884c\u529f\u80fd\u4e5f\u9002\u7528\u4e8e\u6bcf\u4e2a\u751f\u6210\u7684\u67e5\u8be2\u3002 \u5982\u679c\u5f53\u524d\u67e5\u8be2\u7f13\u51b2\u533a\u4e3a\u7a7a\uff0c\u5219\u6539\u4e3a\u91cd\u65b0\u6267\u884c\u6700\u8fd1\u53d1\u9001\u7684\u67e5\u8be2\u3002", "comparison_data": {"modifiers": [], "signature": "\\gexec", "spellings": ["\\gexec"], "definition": "Sends the current query buffer to the server, then treats each column of each row of the query's output (if any) as a SQL statement to be executed. For example, to create an index on each column of my_table : => SELECT format('create index on my_table(%I)', attname) -> FROM pg_attribute -> WHERE attrelid = 'my_table'::regclass AND attnum > 0 -> ORDER BY attnum -> \\gexec CREATE INDEX CREATE INDEX CREATE INDEX CREATE INDEX The generated queries are executed in the order in which the rows are returned, and left-to-right within each row if there is more than one column. NULL fields are ignored. The generated queries are sent literally to the server for processing, so they cannot be psql meta-commands nor contain psql variable references. If any individual query fails, execution of the remaining queries continues unless ON_ERROR_STOP is set. Execution of each query is subject to ECHO processing. (Setting ECHO to all or queries is often advisable when using \\gexec .) Query logging, single-step mode, timing, and other query execution features apply to each generated query as well. If the current query buffer is empty, the most recently sent query is re-executed instead."}, "comparison_hash": "3291d77affc2dbcf67a28462d81dac9d9979ae806dcf260dee82d79c1b70dfb3", "manual_language": "zh", "description_zh_html": "<p>psql \u547d\u4ee4 \\gexec\u3002</p><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u5b9a\u4e49</h3><dd><p>\u5c06\u5f53\u524d\u67e5\u8be2\u7f13\u51b2\u533a\u53d1\u9001\u7ed9\u670d\u52a1\u5668\uff0c\u7136\u540e\u628a\u67e5\u8be2\u8f93\u51fa\uff08\u5982\u679c\u6709\uff09\u7684\u6bcf\u4e00\u884c\u7684\u6bcf\u4e00\u5217\u89c6\u4e3a\u8981\u6267\u884c\u7684 SQL \u8bed\u53e5\u3002\u4f8b\u5982\uff0c\u4e0b\u9762\u4e3a\u6bcf\u4e00\u5217\u521b\u5efa\u4e00\u4e2a\u7d22\u5f15\uff0c\u76ee\u6807\u8868\u662f <code>my_table</code>\uff1a\n</p><pre>=&gt; <strong><code>SELECT format(&#39;create index on my_table(%I)&#39;, attname)</code></strong>\n-&gt; <strong><code>FROM pg_attribute</code></strong>\n-&gt; <strong><code>WHERE attrelid = &#39;my_table&#39;::regclass AND attnum &gt; 0</code></strong>\n-&gt; <strong><code>ORDER BY attnum</code></strong>\n-&gt; <strong><code>\\gexec</code></strong>\nCREATE INDEX\nCREATE INDEX\nCREATE INDEX\nCREATE INDEX\n</pre><p>\n</p><p>\n         \u751f\u6210\u7684\u67e5\u8be2\u6309\u7167\u8fd4\u56de\u884c\u7684\u987a\u5e8f\u6267\u884c\uff1b\u5982\u679c\u6709\u591a\u5217\uff0c\u5219\u5728\u6bcf\u884c\u5185\u4ece\u5de6\u5230\u53f3\u6267\u884c\u3002NULL \u5b57\u6bb5\u4f1a\u88ab\u5ffd\u7565\u3002\u751f\u6210\u7684\u67e5\u8be2\u6309\u539f\u6837\u53d1\u9001\u5230\u670d\u52a1\u5668\u8fdb\u884c\u5904\u7406\uff0c\u56e0\u6b64\u4e0d\u80fd\u662f <span>psql</span> \u5143\u547d\u4ee4\uff0c\u4e5f\u4e0d\u80fd\u5305\u542b <span>psql</span> \u53d8\u91cf\u5f15\u7528\u3002\u5982\u679c\u67d0\u4e2a\u67e5\u8be2\u5931\u8d25\uff0c\u4ecd\u4f1a\u7ee7\u7eed\u6267\u884c\u5176\u4f59\u67e5\u8be2\uff0c\u9664\u975e\u8bbe\u7f6e\u4e86 <code>ON_ERROR_STOP</code>\u3002\u6bcf\u4e2a\u67e5\u8be2\u7684\u6267\u884c\u90fd\u53d7 <code>ECHO</code> \u5904\u7406\u7684\u5f71\u54cd\u3002\uff08\u901a\u5e38\uff0c\u5728\u4f7f\u7528<code>\\gexec</code> \u65f6\uff0c\u9002\u5b9c\u5c06 <code>ECHO</code> \u8bbe\u4e3a <code>all</code> \u6216 <code>queries</code>\u3002\uff09\u67e5\u8be2\u65e5\u5fd7\u3001\u5355\u6b65\u6a21\u5f0f\u3001\u8ba1\u65f6\u53ca\u5176\u4ed6\u67e5\u8be2\u6267\u884c\u529f\u80fd\u4e5f\u9002\u7528\u4e8e\u6bcf\u4e2a\u751f\u6210\u7684\u67e5\u8be2\u3002\n        </p><p>\u5982\u679c\u5f53\u524d\u67e5\u8be2\u7f13\u51b2\u533a\u4e3a\u7a7a\uff0c\u5219\u6539\u4e3a\u91cd\u65b0\u6267\u884c\u6700\u8fd1\u53d1\u9001\u7684\u67e5\u8be2\u3002</p></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": "\\gexec"}], "tables": [{"key": "spellings", "rows": [{"command": {"url": "/wiki/psql/cmd-67-65-78-65-63/?v=14", "text": "\\gexec"}, "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": "\\gexec", "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": "\\gexec"}], "sections": [], "center_zh": {"locale": "zh-Hans", "payload": {"description_zh": "\u5c06\u5f53\u524d\u67e5\u8be2\u7f13\u51b2\u533a\u53d1\u9001\u5230\u670d\u52a1\u5668\uff0c\u7136\u540e\u5c06\u67e5\u8be2\u8f93\u51fa\u7684\u6bcf\u884c\u6bcf\u5217\u89c6\u4e3a\u8981\u6267\u884c\u7684 SQL \u8bed\u53e5\u3002\u4f8b\u5982\uff0c\u8981\u5728 my_table \u7684\u6bcf\u4e00\u5217\u4e0a\u521b\u5efa\u7d22\u5f15\uff1a", "description_zh_html": "<dd><p>\n         \u5c06\u5f53\u524d\u67e5\u8be2\u7f13\u51b2\u533a\u53d1\u9001\u5230\u670d\u52a1\u5668\uff0c\u7136\u540e\u5c06\u67e5\u8be2\u8f93\u51fa\u7684\u6bcf\u884c\u6bcf\u5217\u89c6\u4e3a\u8981\u6267\u884c\u7684 SQL \u8bed\u53e5\u3002\u4f8b\u5982\uff0c\u8981\u5728 <code class=\"structname\">my_table</code> \u7684\u6bcf\u4e00\u5217\u4e0a\u521b\u5efa\u7d22\u5f15\uff1a\n</p><pre class=\"programlisting\">\n=&gt; <strong class=\"userinput\"><code>SELECT format('create index on my_table(%I)', attname)</code></strong>\n-&gt; <strong class=\"userinput\"><code>FROM pg_attribute</code></strong>\n-&gt; <strong class=\"userinput\"><code>WHERE attrelid = 'my_table'::regclass AND attnum &gt; 0</code></strong>\n-&gt; <strong class=\"userinput\"><code>ORDER BY attnum</code></strong>\n-&gt; <strong class=\"userinput\"><code>\\gexec</code></strong>\nCREATE INDEX\nCREATE INDEX\nCREATE INDEX\nCREATE INDEX\n</pre><p>\n</p><p>\n         \u751f\u6210\u7684\u67e5\u8be2\u6309\u7167\u8fd4\u56de\u884c\u7684\u987a\u5e8f\u6267\u884c\uff1b\u5982\u679c\u6709\u591a\u5217\uff0c\u5219\u5728\u6bcf\u884c\u5185\u4ece\u5de6\u5230\u53f3\u6267\u884c\u3002NULL \u5b57\u6bb5\u4f1a\u88ab\u5ffd\u7565\u3002\u751f\u6210\u7684\u67e5\u8be2\u6309\u539f\u6837\u53d1\u9001\u5230\u670d\u52a1\u5668\u8fdb\u884c\u5904\u7406\uff0c\u56e0\u6b64\u4e0d\u80fd\u662f <span class=\"application\">psql</span> \u5143\u547d\u4ee4\uff0c\u4e5f\u4e0d\u80fd\u5305\u542b <span class=\"application\">psql</span> \u53d8\u91cf\u5f15\u7528\u3002\u5982\u679c\u67d0\u4e2a\u67e5\u8be2\u5931\u8d25\uff0c\u4ecd\u4f1a\u7ee7\u7eed\u6267\u884c\u5176\u4f59\u67e5\u8be2\uff0c\u9664\u975e\u8bbe\u7f6e\u4e86 <code class=\"varname\">ON_ERROR_STOP</code>\u3002\u6bcf\u4e2a\u67e5\u8be2\u7684\u6267\u884c\u90fd\u53d7 <code class=\"varname\">ECHO</code> \u5904\u7406\u7684\u5f71\u54cd\u3002\uff08\u901a\u5e38\uff0c\u5728\u4f7f\u7528<code class=\"command\">\\gexec</code> \u65f6\uff0c\u9002\u5b9c\u5c06 <code class=\"varname\">ECHO</code> \u8bbe\u4e3a <code class=\"literal\">all</code> \u6216 <code class=\"literal\">queries</code>\u3002\uff09\u67e5\u8be2\u65e5\u5fd7\u3001\u5355\u6b65\u6a21\u5f0f\u3001\u8ba1\u65f6\u53ca\u5176\u4ed6\u67e5\u8be2\u6267\u884c\u529f\u80fd\u4e5f\u9002\u7528\u4e8e\u6bcf\u4e2a\u751f\u6210\u7684\u67e5\u8be2\u3002\n        </p><p>\n         \u5982\u679c\u5f53\u524d\u67e5\u8be2\u7f13\u51b2\u533a\u4e3a\u7a7a\uff0c\u5219\u91cd\u65b0\u6267\u884c\u6700\u8fd1\u53d1\u9001\u7684\u67e5\u8be2\u3002\n        </p></dd>"}, "summary": "\u5c06\u5f53\u524d\u67e5\u8be2\u7f13\u51b2\u533a\u53d1\u9001\u5230\u670d\u52a1\u5668\uff0c\u7136\u540e\u5c06\u67e5\u8be2\u8f93\u51fa\u7684\u6bcf\u884c\u6bcf\u5217\u89c6\u4e3a\u8981\u6267\u884c\u7684 SQL \u8bed\u53e5\u3002\u4f8b\u5982\uff0c\u8981\u5728 my_table \u7684\u6bcf\u4e00\u5217\u4e0a\u521b\u5efa\u7d22\u5f15\uff1a", "body_html": "<dd><p>\n         \u5c06\u5f53\u524d\u67e5\u8be2\u7f13\u51b2\u533a\u53d1\u9001\u5230\u670d\u52a1\u5668\uff0c\u7136\u540e\u5c06\u67e5\u8be2\u8f93\u51fa\u7684\u6bcf\u884c\u6bcf\u5217\u89c6\u4e3a\u8981\u6267\u884c\u7684 SQL \u8bed\u53e5\u3002\u4f8b\u5982\uff0c\u8981\u5728 <code class=\"structname\">my_table</code> \u7684\u6bcf\u4e00\u5217\u4e0a\u521b\u5efa\u7d22\u5f15\uff1a\n</p><pre class=\"programlisting\">\n=&gt; <strong class=\"userinput\"><code>SELECT format('create index on my_table(%I)', attname)</code></strong>\n-&gt; <strong class=\"userinput\"><code>FROM pg_attribute</code></strong>\n-&gt; <strong class=\"userinput\"><code>WHERE attrelid = 'my_table'::regclass AND attnum &gt; 0</code></strong>\n-&gt; <strong class=\"userinput\"><code>ORDER BY attnum</code></strong>\n-&gt; <strong class=\"userinput\"><code>\\gexec</code></strong>\nCREATE INDEX\nCREATE INDEX\nCREATE INDEX\nCREATE INDEX\n</pre><p>\n</p><p>\n         \u751f\u6210\u7684\u67e5\u8be2\u6309\u7167\u8fd4\u56de\u884c\u7684\u987a\u5e8f\u6267\u884c\uff1b\u5982\u679c\u6709\u591a\u5217\uff0c\u5219\u5728\u6bcf\u884c\u5185\u4ece\u5de6\u5230\u53f3\u6267\u884c\u3002NULL \u5b57\u6bb5\u4f1a\u88ab\u5ffd\u7565\u3002\u751f\u6210\u7684\u67e5\u8be2\u6309\u539f\u6837\u53d1\u9001\u5230\u670d\u52a1\u5668\u8fdb\u884c\u5904\u7406\uff0c\u56e0\u6b64\u4e0d\u80fd\u662f <span class=\"application\">psql</span> \u5143\u547d\u4ee4\uff0c\u4e5f\u4e0d\u80fd\u5305\u542b <span class=\"application\">psql</span> \u53d8\u91cf\u5f15\u7528\u3002\u5982\u679c\u67d0\u4e2a\u67e5\u8be2\u5931\u8d25\uff0c\u4ecd\u4f1a\u7ee7\u7eed\u6267\u884c\u5176\u4f59\u67e5\u8be2\uff0c\u9664\u975e\u8bbe\u7f6e\u4e86 <code class=\"varname\">ON_ERROR_STOP</code>\u3002\u6bcf\u4e2a\u67e5\u8be2\u7684\u6267\u884c\u90fd\u53d7 <code class=\"varname\">ECHO</code> \u5904\u7406\u7684\u5f71\u54cd\u3002\uff08\u901a\u5e38\uff0c\u5728\u4f7f\u7528<code class=\"command\">\\gexec</code> \u65f6\uff0c\u9002\u5b9c\u5c06 <code class=\"varname\">ECHO</code> \u8bbe\u4e3a <code class=\"literal\">all</code> \u6216 <code class=\"literal\">queries</code>\u3002\uff09\u67e5\u8be2\u65e5\u5fd7\u3001\u5355\u6b65\u6a21\u5f0f\u3001\u8ba1\u65f6\u53ca\u5176\u4ed6\u67e5\u8be2\u6267\u884c\u529f\u80fd\u4e5f\u9002\u7528\u4e8e\u6bcf\u4e2a\u751f\u6210\u7684\u67e5\u8be2\u3002\n        </p><p>\n         \u5982\u679c\u5f53\u524d\u67e5\u8be2\u7f13\u51b2\u533a\u4e3a\u7a7a\uff0c\u5219\u91cd\u65b0\u6267\u884c\u6700\u8fd1\u53d1\u9001\u7684\u67e5\u8be2\u3002\n        </p></dd>", "body_sha256": "fad4c1b7ae1eae79a6483f1677d7d1ddaae22f76348179091a25e27384c98f5a", "content_hash": "5077e937194a6d2da5255f473f6621dd2ae43316279fe72c34e9c840e7a4c32b", "source_revision": "pgdoc:b9f0e7232f60f380d642ac9b99226606c254b552", "definition_version": "14", "documentation_release": "14.25"}, "modifiers": [], "signature": "\\gexec", "spellings": ["\\gexec"], "tables_zh": [{"key": "spellings", "rows": [{"command": {"url": "/wiki/psql/cmd-67-65-78-65-63/?v=14", "text": "\\gexec"}, "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": ["\u5c06\u5f53\u524d\u67e5\u8be2\u7f13\u51b2\u533a\u53d1\u9001\u5230\u670d\u52a1\u5668\uff0c\u7136\u540e\u5c06\u67e5\u8be2\u8f93\u51fa\u7684\u6bcf\u884c\u6bcf\u5217\u89c6\u4e3a\u8981\u6267\u884c\u7684 SQL \u8bed\u53e5\u3002\u4f8b\u5982\uff0c\u8981\u5728 my_table \u7684\u6bcf\u4e00\u5217\u4e0a\u521b\u5efa\u7d22\u5f15\uff1a"], "manual_html": "<dd><p>\n         \u5c06\u5f53\u524d\u67e5\u8be2\u7f13\u51b2\u533a\u53d1\u9001\u5230\u670d\u52a1\u5668\uff0c\u7136\u540e\u5c06\u67e5\u8be2\u8f93\u51fa\u7684\u6bcf\u884c\u6bcf\u5217\u89c6\u4e3a\u8981\u6267\u884c\u7684 SQL \u8bed\u53e5\u3002\u4f8b\u5982\uff0c\u8981\u5728 <code class=\"structname\">my_table</code> \u7684\u6bcf\u4e00\u5217\u4e0a\u521b\u5efa\u7d22\u5f15\uff1a\n</p><pre class=\"programlisting\">\n=&gt; <strong class=\"userinput\"><code>SELECT format('create index on my_table(%I)', attname)</code></strong>\n-&gt; <strong class=\"userinput\"><code>FROM pg_attribute</code></strong>\n-&gt; <strong class=\"userinput\"><code>WHERE attrelid = 'my_table'::regclass AND attnum &gt; 0</code></strong>\n-&gt; <strong class=\"userinput\"><code>ORDER BY attnum</code></strong>\n-&gt; <strong class=\"userinput\"><code>\\gexec</code></strong>\nCREATE INDEX\nCREATE INDEX\nCREATE INDEX\nCREATE INDEX\n</pre><p>\n</p><p>\n         \u751f\u6210\u7684\u67e5\u8be2\u6309\u7167\u8fd4\u56de\u884c\u7684\u987a\u5e8f\u6267\u884c\uff1b\u5982\u679c\u6709\u591a\u5217\uff0c\u5219\u5728\u6bcf\u884c\u5185\u4ece\u5de6\u5230\u53f3\u6267\u884c\u3002NULL \u5b57\u6bb5\u4f1a\u88ab\u5ffd\u7565\u3002\u751f\u6210\u7684\u67e5\u8be2\u6309\u539f\u6837\u53d1\u9001\u5230\u670d\u52a1\u5668\u8fdb\u884c\u5904\u7406\uff0c\u56e0\u6b64\u4e0d\u80fd\u662f <span class=\"application\">psql</span> \u5143\u547d\u4ee4\uff0c\u4e5f\u4e0d\u80fd\u5305\u542b <span class=\"application\">psql</span> \u53d8\u91cf\u5f15\u7528\u3002\u5982\u679c\u67d0\u4e2a\u67e5\u8be2\u5931\u8d25\uff0c\u4ecd\u4f1a\u7ee7\u7eed\u6267\u884c\u5176\u4f59\u67e5\u8be2\uff0c\u9664\u975e\u8bbe\u7f6e\u4e86 <code class=\"varname\">ON_ERROR_STOP</code>\u3002\u6bcf\u4e2a\u67e5\u8be2\u7684\u6267\u884c\u90fd\u53d7 <code class=\"varname\">ECHO</code> \u5904\u7406\u7684\u5f71\u54cd\u3002\uff08\u901a\u5e38\uff0c\u5728\u4f7f\u7528<code class=\"command\">\\gexec</code> \u65f6\uff0c\u9002\u5b9c\u5c06 <code class=\"varname\">ECHO</code> \u8bbe\u4e3a <code class=\"literal\">all</code> \u6216 <code class=\"literal\">queries</code>\u3002\uff09\u67e5\u8be2\u65e5\u5fd7\u3001\u5355\u6b65\u6a21\u5f0f\u3001\u8ba1\u65f6\u53ca\u5176\u4ed6\u67e5\u8be2\u6267\u884c\u529f\u80fd\u4e5f\u9002\u7528\u4e8e\u6bcf\u4e2a\u751f\u6210\u7684\u67e5\u8be2\u3002\n        </p><p>\n         \u5982\u679c\u5f53\u524d\u67e5\u8be2\u7f13\u51b2\u533a\u4e3a\u7a7a\uff0c\u5219\u91cd\u65b0\u6267\u884c\u6700\u8fd1\u53d1\u9001\u7684\u67e5\u8be2\u3002\n        </p></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": "\u5c06\u5f53\u524d\u67e5\u8be2\u7f13\u51b2\u533a\u53d1\u9001\u5230\u670d\u52a1\u5668\uff0c\u7136\u540e\u5c06\u67e5\u8be2\u8f93\u51fa\u7684\u6bcf\u884c\u6bcf\u5217\u89c6\u4e3a\u8981\u6267\u884c\u7684 SQL \u8bed\u53e5\u3002\u4f8b\u5982\uff0c\u8981\u5728 my_table \u7684\u6bcf\u4e00\u5217\u4e0a\u521b\u5efa\u7d22\u5f15\uff1a", "comparison_data": {"modifiers": [], "signature": "\\gexec", "spellings": ["\\gexec"], "definition": "Sends the current query buffer to the server, then treats each column of each row of the query's output (if any) as an SQL statement to be executed. For example, to create an index on each column of my_table : => SELECT format('create index on my_table(%I)', attname) -> FROM pg_attribute -> WHERE attrelid = 'my_table'::regclass AND attnum > 0 -> ORDER BY attnum -> \\gexec CREATE INDEX CREATE INDEX CREATE INDEX CREATE INDEX The generated queries are executed in the order in which the rows are returned, and left-to-right within each row if there is more than one column. NULL fields are ignored. The generated queries are sent literally to the server for processing, so they cannot be psql meta-commands nor contain psql variable references. If any individual query fails, execution of the remaining queries continues unless ON_ERROR_STOP is set. Execution of each query is subject to ECHO processing. (Setting ECHO to all or queries is often advisable when using \\gexec .) Query logging, single-step mode, timing, and other query execution features apply to each generated query as well. If the current query buffer is empty, the most recently sent query is re-executed instead."}, "comparison_hash": "4df526f59b23b5fa24e30caba1236c2988d5db04c457b5b38354014b2b052ac6", "manual_language": "zh", "description_zh_html": "<dd><p>\n         \u5c06\u5f53\u524d\u67e5\u8be2\u7f13\u51b2\u533a\u53d1\u9001\u5230\u670d\u52a1\u5668\uff0c\u7136\u540e\u5c06\u67e5\u8be2\u8f93\u51fa\u7684\u6bcf\u884c\u6bcf\u5217\u89c6\u4e3a\u8981\u6267\u884c\u7684 SQL \u8bed\u53e5\u3002\u4f8b\u5982\uff0c\u8981\u5728 <code class=\"structname\">my_table</code> \u7684\u6bcf\u4e00\u5217\u4e0a\u521b\u5efa\u7d22\u5f15\uff1a\n</p><pre class=\"programlisting\">\n=&gt; <strong class=\"userinput\"><code>SELECT format('create index on my_table(%I)', attname)</code></strong>\n-&gt; <strong class=\"userinput\"><code>FROM pg_attribute</code></strong>\n-&gt; <strong class=\"userinput\"><code>WHERE attrelid = 'my_table'::regclass AND attnum &gt; 0</code></strong>\n-&gt; <strong class=\"userinput\"><code>ORDER BY attnum</code></strong>\n-&gt; <strong class=\"userinput\"><code>\\gexec</code></strong>\nCREATE INDEX\nCREATE INDEX\nCREATE INDEX\nCREATE INDEX\n</pre><p>\n</p><p>\n         \u751f\u6210\u7684\u67e5\u8be2\u6309\u7167\u8fd4\u56de\u884c\u7684\u987a\u5e8f\u6267\u884c\uff1b\u5982\u679c\u6709\u591a\u5217\uff0c\u5219\u5728\u6bcf\u884c\u5185\u4ece\u5de6\u5230\u53f3\u6267\u884c\u3002NULL \u5b57\u6bb5\u4f1a\u88ab\u5ffd\u7565\u3002\u751f\u6210\u7684\u67e5\u8be2\u6309\u539f\u6837\u53d1\u9001\u5230\u670d\u52a1\u5668\u8fdb\u884c\u5904\u7406\uff0c\u56e0\u6b64\u4e0d\u80fd\u662f <span class=\"application\">psql</span> \u5143\u547d\u4ee4\uff0c\u4e5f\u4e0d\u80fd\u5305\u542b <span class=\"application\">psql</span> \u53d8\u91cf\u5f15\u7528\u3002\u5982\u679c\u67d0\u4e2a\u67e5\u8be2\u5931\u8d25\uff0c\u4ecd\u4f1a\u7ee7\u7eed\u6267\u884c\u5176\u4f59\u67e5\u8be2\uff0c\u9664\u975e\u8bbe\u7f6e\u4e86 <code class=\"varname\">ON_ERROR_STOP</code>\u3002\u6bcf\u4e2a\u67e5\u8be2\u7684\u6267\u884c\u90fd\u53d7 <code class=\"varname\">ECHO</code> \u5904\u7406\u7684\u5f71\u54cd\u3002\uff08\u901a\u5e38\uff0c\u5728\u4f7f\u7528<code class=\"command\">\\gexec</code> \u65f6\uff0c\u9002\u5b9c\u5c06 <code class=\"varname\">ECHO</code> \u8bbe\u4e3a <code class=\"literal\">all</code> \u6216 <code class=\"literal\">queries</code>\u3002\uff09\u67e5\u8be2\u65e5\u5fd7\u3001\u5355\u6b65\u6a21\u5f0f\u3001\u8ba1\u65f6\u53ca\u5176\u4ed6\u67e5\u8be2\u6267\u884c\u529f\u80fd\u4e5f\u9002\u7528\u4e8e\u6bcf\u4e2a\u751f\u6210\u7684\u67e5\u8be2\u3002\n        </p><p>\n         \u5982\u679c\u5f53\u524d\u67e5\u8be2\u7f13\u51b2\u533a\u4e3a\u7a7a\uff0c\u5219\u91cd\u65b0\u6267\u884c\u6700\u8fd1\u53d1\u9001\u7684\u67e5\u8be2\u3002\n        </p></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": "\\gexec"}], "tables": [{"key": "spellings", "rows": [{"command": {"url": "/wiki/psql/cmd-67-65-78-65-63/?v=15", "text": "\\gexec"}, "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": "\\gexec", "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": "\\gexec"}], "sections": [], "center_zh": {"locale": "zh-Hans", "payload": {"description_zh": "\u5c06\u5f53\u524d\u67e5\u8be2\u7f13\u51b2\u533a\u53d1\u9001\u5230\u670d\u52a1\u5668\uff0c\u7136\u540e\u5c06\u67e5\u8be2\u8f93\u51fa\u7684\u6bcf\u884c\u6bcf\u5217\u89c6\u4e3a\u8981\u6267\u884c\u7684 SQL \u8bed\u53e5\u3002\u4f8b\u5982\uff0c\u8981\u5728 my_table \u7684\u6bcf\u4e00\u5217\u4e0a\u521b\u5efa\u7d22\u5f15\uff1a", "description_zh_html": "<dd><p>\n         \u5c06\u5f53\u524d\u67e5\u8be2\u7f13\u51b2\u533a\u53d1\u9001\u5230\u670d\u52a1\u5668\uff0c\u7136\u540e\u5c06\u67e5\u8be2\u8f93\u51fa\u7684\u6bcf\u884c\u6bcf\u5217\u89c6\u4e3a\u8981\u6267\u884c\u7684 SQL \u8bed\u53e5\u3002\u4f8b\u5982\uff0c\u8981\u5728 <code class=\"structname\">my_table</code> \u7684\u6bcf\u4e00\u5217\u4e0a\u521b\u5efa\u7d22\u5f15\uff1a\n</p><pre class=\"programlisting\">\n=&gt; <strong class=\"userinput\"><code>SELECT format('create index on my_table(%I)', attname)</code></strong>\n-&gt; <strong class=\"userinput\"><code>FROM pg_attribute</code></strong>\n-&gt; <strong class=\"userinput\"><code>WHERE attrelid = 'my_table'::regclass AND attnum &gt; 0</code></strong>\n-&gt; <strong class=\"userinput\"><code>ORDER BY attnum</code></strong>\n-&gt; <strong class=\"userinput\"><code>\\gexec</code></strong>\nCREATE INDEX\nCREATE INDEX\nCREATE INDEX\nCREATE INDEX\n</pre><p>\n</p><p>\n         \u751f\u6210\u7684\u67e5\u8be2\u6309\u7167\u8fd4\u56de\u884c\u7684\u987a\u5e8f\u6267\u884c\uff1b\u5982\u679c\u6709\u591a\u5217\uff0c\u5219\u5728\u6bcf\u884c\u5185\u4ece\u5de6\u5230\u53f3\u6267\u884c\u3002NULL \u5b57\u6bb5\u4f1a\u88ab\u5ffd\u7565\u3002\u751f\u6210\u7684\u67e5\u8be2\u6309\u539f\u6837\u53d1\u9001\u5230\u670d\u52a1\u5668\u8fdb\u884c\u5904\u7406\uff0c\u56e0\u6b64\u4e0d\u80fd\u662f <span class=\"application\">psql</span> \u5143\u547d\u4ee4\uff0c\u4e5f\u4e0d\u80fd\u5305\u542b <span class=\"application\">psql</span> \u53d8\u91cf\u5f15\u7528\u3002\u5982\u679c\u67d0\u4e2a\u67e5\u8be2\u5931\u8d25\uff0c\u4ecd\u4f1a\u7ee7\u7eed\u6267\u884c\u5176\u4f59\u67e5\u8be2\uff0c\u9664\u975e\u8bbe\u7f6e\u4e86 <code class=\"varname\">ON_ERROR_STOP</code>\u3002\u6bcf\u4e2a\u67e5\u8be2\u7684\u6267\u884c\u90fd\u53d7 <code class=\"varname\">ECHO</code> \u5904\u7406\u7684\u5f71\u54cd\u3002\uff08\u901a\u5e38\uff0c\u5728\u4f7f\u7528<code class=\"command\">\\gexec</code> \u65f6\uff0c\u9002\u5b9c\u5c06 <code class=\"varname\">ECHO</code> \u8bbe\u4e3a <code class=\"literal\">all</code> \u6216 <code class=\"literal\">queries</code>\u3002\uff09\u67e5\u8be2\u65e5\u5fd7\u3001\u5355\u6b65\u6a21\u5f0f\u3001\u8ba1\u65f6\u53ca\u5176\u4ed6\u67e5\u8be2\u6267\u884c\u529f\u80fd\u4e5f\u9002\u7528\u4e8e\u6bcf\u4e2a\u751f\u6210\u7684\u67e5\u8be2\u3002\n        </p><p>\n         \u5982\u679c\u5f53\u524d\u67e5\u8be2\u7f13\u51b2\u533a\u4e3a\u7a7a\uff0c\u5219\u91cd\u65b0\u6267\u884c\u6700\u8fd1\u53d1\u9001\u7684\u67e5\u8be2\u3002\n        </p></dd>"}, "summary": "\u5c06\u5f53\u524d\u67e5\u8be2\u7f13\u51b2\u533a\u53d1\u9001\u5230\u670d\u52a1\u5668\uff0c\u7136\u540e\u5c06\u67e5\u8be2\u8f93\u51fa\u7684\u6bcf\u884c\u6bcf\u5217\u89c6\u4e3a\u8981\u6267\u884c\u7684 SQL \u8bed\u53e5\u3002\u4f8b\u5982\uff0c\u8981\u5728 my_table \u7684\u6bcf\u4e00\u5217\u4e0a\u521b\u5efa\u7d22\u5f15\uff1a", "body_html": "<dd><p>\n         \u5c06\u5f53\u524d\u67e5\u8be2\u7f13\u51b2\u533a\u53d1\u9001\u5230\u670d\u52a1\u5668\uff0c\u7136\u540e\u5c06\u67e5\u8be2\u8f93\u51fa\u7684\u6bcf\u884c\u6bcf\u5217\u89c6\u4e3a\u8981\u6267\u884c\u7684 SQL \u8bed\u53e5\u3002\u4f8b\u5982\uff0c\u8981\u5728 <code class=\"structname\">my_table</code> \u7684\u6bcf\u4e00\u5217\u4e0a\u521b\u5efa\u7d22\u5f15\uff1a\n</p><pre class=\"programlisting\">\n=&gt; <strong class=\"userinput\"><code>SELECT format('create index on my_table(%I)', attname)</code></strong>\n-&gt; <strong class=\"userinput\"><code>FROM pg_attribute</code></strong>\n-&gt; <strong class=\"userinput\"><code>WHERE attrelid = 'my_table'::regclass AND attnum &gt; 0</code></strong>\n-&gt; <strong class=\"userinput\"><code>ORDER BY attnum</code></strong>\n-&gt; <strong class=\"userinput\"><code>\\gexec</code></strong>\nCREATE INDEX\nCREATE INDEX\nCREATE INDEX\nCREATE INDEX\n</pre><p>\n</p><p>\n         \u751f\u6210\u7684\u67e5\u8be2\u6309\u7167\u8fd4\u56de\u884c\u7684\u987a\u5e8f\u6267\u884c\uff1b\u5982\u679c\u6709\u591a\u5217\uff0c\u5219\u5728\u6bcf\u884c\u5185\u4ece\u5de6\u5230\u53f3\u6267\u884c\u3002NULL \u5b57\u6bb5\u4f1a\u88ab\u5ffd\u7565\u3002\u751f\u6210\u7684\u67e5\u8be2\u6309\u539f\u6837\u53d1\u9001\u5230\u670d\u52a1\u5668\u8fdb\u884c\u5904\u7406\uff0c\u56e0\u6b64\u4e0d\u80fd\u662f <span class=\"application\">psql</span> \u5143\u547d\u4ee4\uff0c\u4e5f\u4e0d\u80fd\u5305\u542b <span class=\"application\">psql</span> \u53d8\u91cf\u5f15\u7528\u3002\u5982\u679c\u67d0\u4e2a\u67e5\u8be2\u5931\u8d25\uff0c\u4ecd\u4f1a\u7ee7\u7eed\u6267\u884c\u5176\u4f59\u67e5\u8be2\uff0c\u9664\u975e\u8bbe\u7f6e\u4e86 <code class=\"varname\">ON_ERROR_STOP</code>\u3002\u6bcf\u4e2a\u67e5\u8be2\u7684\u6267\u884c\u90fd\u53d7 <code class=\"varname\">ECHO</code> \u5904\u7406\u7684\u5f71\u54cd\u3002\uff08\u901a\u5e38\uff0c\u5728\u4f7f\u7528<code class=\"command\">\\gexec</code> \u65f6\uff0c\u9002\u5b9c\u5c06 <code class=\"varname\">ECHO</code> \u8bbe\u4e3a <code class=\"literal\">all</code> \u6216 <code class=\"literal\">queries</code>\u3002\uff09\u67e5\u8be2\u65e5\u5fd7\u3001\u5355\u6b65\u6a21\u5f0f\u3001\u8ba1\u65f6\u53ca\u5176\u4ed6\u67e5\u8be2\u6267\u884c\u529f\u80fd\u4e5f\u9002\u7528\u4e8e\u6bcf\u4e2a\u751f\u6210\u7684\u67e5\u8be2\u3002\n        </p><p>\n         \u5982\u679c\u5f53\u524d\u67e5\u8be2\u7f13\u51b2\u533a\u4e3a\u7a7a\uff0c\u5219\u91cd\u65b0\u6267\u884c\u6700\u8fd1\u53d1\u9001\u7684\u67e5\u8be2\u3002\n        </p></dd>", "body_sha256": "fad4c1b7ae1eae79a6483f1677d7d1ddaae22f76348179091a25e27384c98f5a", "content_hash": "d1cc29a8bd9ba211191b23be5c71f3f4a9b8f8ac853617e29238b7f40203636e", "source_revision": "pgdoc:b9f0e7232f60f380d642ac9b99226606c254b552", "definition_version": "15", "documentation_release": "15.20"}, "modifiers": [], "signature": "\\gexec", "spellings": ["\\gexec"], "tables_zh": [{"key": "spellings", "rows": [{"command": {"url": "/wiki/psql/cmd-67-65-78-65-63/?v=15", "text": "\\gexec"}, "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": ["\u5c06\u5f53\u524d\u67e5\u8be2\u7f13\u51b2\u533a\u53d1\u9001\u5230\u670d\u52a1\u5668\uff0c\u7136\u540e\u5c06\u67e5\u8be2\u8f93\u51fa\u7684\u6bcf\u884c\u6bcf\u5217\u89c6\u4e3a\u8981\u6267\u884c\u7684 SQL \u8bed\u53e5\u3002\u4f8b\u5982\uff0c\u8981\u5728 my_table \u7684\u6bcf\u4e00\u5217\u4e0a\u521b\u5efa\u7d22\u5f15\uff1a"], "manual_html": "<dd><p>\n         \u5c06\u5f53\u524d\u67e5\u8be2\u7f13\u51b2\u533a\u53d1\u9001\u5230\u670d\u52a1\u5668\uff0c\u7136\u540e\u5c06\u67e5\u8be2\u8f93\u51fa\u7684\u6bcf\u884c\u6bcf\u5217\u89c6\u4e3a\u8981\u6267\u884c\u7684 SQL \u8bed\u53e5\u3002\u4f8b\u5982\uff0c\u8981\u5728 <code class=\"structname\">my_table</code> \u7684\u6bcf\u4e00\u5217\u4e0a\u521b\u5efa\u7d22\u5f15\uff1a\n</p><pre class=\"programlisting\">\n=&gt; <strong class=\"userinput\"><code>SELECT format('create index on my_table(%I)', attname)</code></strong>\n-&gt; <strong class=\"userinput\"><code>FROM pg_attribute</code></strong>\n-&gt; <strong class=\"userinput\"><code>WHERE attrelid = 'my_table'::regclass AND attnum &gt; 0</code></strong>\n-&gt; <strong class=\"userinput\"><code>ORDER BY attnum</code></strong>\n-&gt; <strong class=\"userinput\"><code>\\gexec</code></strong>\nCREATE INDEX\nCREATE INDEX\nCREATE INDEX\nCREATE INDEX\n</pre><p>\n</p><p>\n         \u751f\u6210\u7684\u67e5\u8be2\u6309\u7167\u8fd4\u56de\u884c\u7684\u987a\u5e8f\u6267\u884c\uff1b\u5982\u679c\u6709\u591a\u5217\uff0c\u5219\u5728\u6bcf\u884c\u5185\u4ece\u5de6\u5230\u53f3\u6267\u884c\u3002NULL \u5b57\u6bb5\u4f1a\u88ab\u5ffd\u7565\u3002\u751f\u6210\u7684\u67e5\u8be2\u6309\u539f\u6837\u53d1\u9001\u5230\u670d\u52a1\u5668\u8fdb\u884c\u5904\u7406\uff0c\u56e0\u6b64\u4e0d\u80fd\u662f <span class=\"application\">psql</span> \u5143\u547d\u4ee4\uff0c\u4e5f\u4e0d\u80fd\u5305\u542b <span class=\"application\">psql</span> \u53d8\u91cf\u5f15\u7528\u3002\u5982\u679c\u67d0\u4e2a\u67e5\u8be2\u5931\u8d25\uff0c\u4ecd\u4f1a\u7ee7\u7eed\u6267\u884c\u5176\u4f59\u67e5\u8be2\uff0c\u9664\u975e\u8bbe\u7f6e\u4e86 <code class=\"varname\">ON_ERROR_STOP</code>\u3002\u6bcf\u4e2a\u67e5\u8be2\u7684\u6267\u884c\u90fd\u53d7 <code class=\"varname\">ECHO</code> \u5904\u7406\u7684\u5f71\u54cd\u3002\uff08\u901a\u5e38\uff0c\u5728\u4f7f\u7528<code class=\"command\">\\gexec</code> \u65f6\uff0c\u9002\u5b9c\u5c06 <code class=\"varname\">ECHO</code> \u8bbe\u4e3a <code class=\"literal\">all</code> \u6216 <code class=\"literal\">queries</code>\u3002\uff09\u67e5\u8be2\u65e5\u5fd7\u3001\u5355\u6b65\u6a21\u5f0f\u3001\u8ba1\u65f6\u53ca\u5176\u4ed6\u67e5\u8be2\u6267\u884c\u529f\u80fd\u4e5f\u9002\u7528\u4e8e\u6bcf\u4e2a\u751f\u6210\u7684\u67e5\u8be2\u3002\n        </p><p>\n         \u5982\u679c\u5f53\u524d\u67e5\u8be2\u7f13\u51b2\u533a\u4e3a\u7a7a\uff0c\u5219\u91cd\u65b0\u6267\u884c\u6700\u8fd1\u53d1\u9001\u7684\u67e5\u8be2\u3002\n        </p></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": "\u5c06\u5f53\u524d\u67e5\u8be2\u7f13\u51b2\u533a\u53d1\u9001\u5230\u670d\u52a1\u5668\uff0c\u7136\u540e\u5c06\u67e5\u8be2\u8f93\u51fa\u7684\u6bcf\u884c\u6bcf\u5217\u89c6\u4e3a\u8981\u6267\u884c\u7684 SQL \u8bed\u53e5\u3002\u4f8b\u5982\uff0c\u8981\u5728 my_table \u7684\u6bcf\u4e00\u5217\u4e0a\u521b\u5efa\u7d22\u5f15\uff1a", "comparison_data": {"modifiers": [], "signature": "\\gexec", "spellings": ["\\gexec"], "definition": "Sends the current query buffer to the server, then treats each column of each row of the query's output (if any) as an SQL statement to be executed. For example, to create an index on each column of my_table : => SELECT format('create index on my_table(%I)', attname) -> FROM pg_attribute -> WHERE attrelid = 'my_table'::regclass AND attnum > 0 -> ORDER BY attnum -> \\gexec CREATE INDEX CREATE INDEX CREATE INDEX CREATE INDEX The generated queries are executed in the order in which the rows are returned, and left-to-right within each row if there is more than one column. NULL fields are ignored. The generated queries are sent literally to the server for processing, so they cannot be psql meta-commands nor contain psql variable references. If any individual query fails, execution of the remaining queries continues unless ON_ERROR_STOP is set. Execution of each query is subject to ECHO processing. (Setting ECHO to all or queries is often advisable when using \\gexec .) Query logging, single-step mode, timing, and other query execution features apply to each generated query as well. If the current query buffer is empty, the most recently sent query is re-executed instead."}, "comparison_hash": "4df526f59b23b5fa24e30caba1236c2988d5db04c457b5b38354014b2b052ac6", "manual_language": "zh", "description_zh_html": "<dd><p>\n         \u5c06\u5f53\u524d\u67e5\u8be2\u7f13\u51b2\u533a\u53d1\u9001\u5230\u670d\u52a1\u5668\uff0c\u7136\u540e\u5c06\u67e5\u8be2\u8f93\u51fa\u7684\u6bcf\u884c\u6bcf\u5217\u89c6\u4e3a\u8981\u6267\u884c\u7684 SQL \u8bed\u53e5\u3002\u4f8b\u5982\uff0c\u8981\u5728 <code class=\"structname\">my_table</code> \u7684\u6bcf\u4e00\u5217\u4e0a\u521b\u5efa\u7d22\u5f15\uff1a\n</p><pre class=\"programlisting\">\n=&gt; <strong class=\"userinput\"><code>SELECT format('create index on my_table(%I)', attname)</code></strong>\n-&gt; <strong class=\"userinput\"><code>FROM pg_attribute</code></strong>\n-&gt; <strong class=\"userinput\"><code>WHERE attrelid = 'my_table'::regclass AND attnum &gt; 0</code></strong>\n-&gt; <strong class=\"userinput\"><code>ORDER BY attnum</code></strong>\n-&gt; <strong class=\"userinput\"><code>\\gexec</code></strong>\nCREATE INDEX\nCREATE INDEX\nCREATE INDEX\nCREATE INDEX\n</pre><p>\n</p><p>\n         \u751f\u6210\u7684\u67e5\u8be2\u6309\u7167\u8fd4\u56de\u884c\u7684\u987a\u5e8f\u6267\u884c\uff1b\u5982\u679c\u6709\u591a\u5217\uff0c\u5219\u5728\u6bcf\u884c\u5185\u4ece\u5de6\u5230\u53f3\u6267\u884c\u3002NULL \u5b57\u6bb5\u4f1a\u88ab\u5ffd\u7565\u3002\u751f\u6210\u7684\u67e5\u8be2\u6309\u539f\u6837\u53d1\u9001\u5230\u670d\u52a1\u5668\u8fdb\u884c\u5904\u7406\uff0c\u56e0\u6b64\u4e0d\u80fd\u662f <span class=\"application\">psql</span> \u5143\u547d\u4ee4\uff0c\u4e5f\u4e0d\u80fd\u5305\u542b <span class=\"application\">psql</span> \u53d8\u91cf\u5f15\u7528\u3002\u5982\u679c\u67d0\u4e2a\u67e5\u8be2\u5931\u8d25\uff0c\u4ecd\u4f1a\u7ee7\u7eed\u6267\u884c\u5176\u4f59\u67e5\u8be2\uff0c\u9664\u975e\u8bbe\u7f6e\u4e86 <code class=\"varname\">ON_ERROR_STOP</code>\u3002\u6bcf\u4e2a\u67e5\u8be2\u7684\u6267\u884c\u90fd\u53d7 <code class=\"varname\">ECHO</code> \u5904\u7406\u7684\u5f71\u54cd\u3002\uff08\u901a\u5e38\uff0c\u5728\u4f7f\u7528<code class=\"command\">\\gexec</code> \u65f6\uff0c\u9002\u5b9c\u5c06 <code class=\"varname\">ECHO</code> \u8bbe\u4e3a <code class=\"literal\">all</code> \u6216 <code class=\"literal\">queries</code>\u3002\uff09\u67e5\u8be2\u65e5\u5fd7\u3001\u5355\u6b65\u6a21\u5f0f\u3001\u8ba1\u65f6\u53ca\u5176\u4ed6\u67e5\u8be2\u6267\u884c\u529f\u80fd\u4e5f\u9002\u7528\u4e8e\u6bcf\u4e2a\u751f\u6210\u7684\u67e5\u8be2\u3002\n        </p><p>\n         \u5982\u679c\u5f53\u524d\u67e5\u8be2\u7f13\u51b2\u533a\u4e3a\u7a7a\uff0c\u5219\u91cd\u65b0\u6267\u884c\u6700\u8fd1\u53d1\u9001\u7684\u67e5\u8be2\u3002\n        </p></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": "\\gexec"}], "tables": [{"key": "spellings", "rows": [{"command": {"url": "/wiki/psql/cmd-67-65-78-65-63/?v=16", "text": "\\gexec"}, "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": "\\gexec", "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-GEXEC", "file": "app-psql.html", "label": "16.16 English manual \u00b7 app-psql.html", "anchor": "APP-PSQL-META-COMMAND-GEXEC", "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": "\\gexec"}], "sections": [], "center_zh": {"locale": "zh-Hans", "payload": {"description_zh": "\u5c06\u5f53\u524d\u67e5\u8be2\u7f13\u51b2\u533a\u53d1\u9001\u5230\u670d\u52a1\u5668\uff0c\u7136\u540e\u5c06\u67e5\u8be2\u8f93\u51fa\u7684\u6bcf\u884c\u6bcf\u5217\u89c6\u4e3a\u8981\u6267\u884c\u7684 SQL \u8bed\u53e5\u3002\u4f8b\u5982\uff0c\u8981\u5728 my_table \u7684\u6bcf\u4e00\u5217\u4e0a\u521b\u5efa\u7d22\u5f15\uff1a", "description_zh_html": "<dd><p>\n         \u5c06\u5f53\u524d\u67e5\u8be2\u7f13\u51b2\u533a\u53d1\u9001\u5230\u670d\u52a1\u5668\uff0c\u7136\u540e\u5c06\u67e5\u8be2\u8f93\u51fa\u7684\u6bcf\u884c\u6bcf\u5217\u89c6\u4e3a\u8981\u6267\u884c\u7684 SQL \u8bed\u53e5\u3002\u4f8b\u5982\uff0c\u8981\u5728 <code class=\"structname\">my_table</code> \u7684\u6bcf\u4e00\u5217\u4e0a\u521b\u5efa\u7d22\u5f15\uff1a\n</p><pre class=\"programlisting\">\n=&gt; <strong class=\"userinput\"><code>SELECT format('create index on my_table(%I)', attname)</code></strong>\n-&gt; <strong class=\"userinput\"><code>FROM pg_attribute</code></strong>\n-&gt; <strong class=\"userinput\"><code>WHERE attrelid = 'my_table'::regclass AND attnum &gt; 0</code></strong>\n-&gt; <strong class=\"userinput\"><code>ORDER BY attnum</code></strong>\n-&gt; <strong class=\"userinput\"><code>\\gexec</code></strong>\nCREATE INDEX\nCREATE INDEX\nCREATE INDEX\nCREATE INDEX\n</pre><p>\n</p><p>\n         \u751f\u6210\u7684\u67e5\u8be2\u6309\u7167\u8fd4\u56de\u884c\u7684\u987a\u5e8f\u6267\u884c\uff1b\u5982\u679c\u6709\u591a\u5217\uff0c\u5219\u5728\u6bcf\u884c\u5185\u4ece\u5de6\u5230\u53f3\u6267\u884c\u3002NULL \u5b57\u6bb5\u4f1a\u88ab\u5ffd\u7565\u3002\u751f\u6210\u7684\u67e5\u8be2\u6309\u539f\u6837\u53d1\u9001\u5230\u670d\u52a1\u5668\u8fdb\u884c\u5904\u7406\uff0c\u56e0\u6b64\u4e0d\u80fd\u662f <span class=\"application\">psql</span> \u5143\u547d\u4ee4\uff0c\u4e5f\u4e0d\u80fd\u5305\u542b <span class=\"application\">psql</span> \u53d8\u91cf\u5f15\u7528\u3002\u5982\u679c\u67d0\u4e2a\u67e5\u8be2\u5931\u8d25\uff0c\u4ecd\u4f1a\u7ee7\u7eed\u6267\u884c\u5176\u4f59\u67e5\u8be2\uff0c\u9664\u975e\u8bbe\u7f6e\u4e86 <code class=\"varname\">ON_ERROR_STOP</code>\u3002\u6bcf\u4e2a\u67e5\u8be2\u7684\u6267\u884c\u90fd\u53d7 <code class=\"varname\">ECHO</code> \u5904\u7406\u7684\u5f71\u54cd\u3002\uff08\u901a\u5e38\uff0c\u5728\u4f7f\u7528<code class=\"command\">\\gexec</code> \u65f6\uff0c\u9002\u5b9c\u5c06 <code class=\"varname\">ECHO</code> \u8bbe\u4e3a <code class=\"literal\">all</code> \u6216 <code class=\"literal\">queries</code>\u3002\uff09\u67e5\u8be2\u65e5\u5fd7\u3001\u5355\u6b65\u6a21\u5f0f\u3001\u8ba1\u65f6\u53ca\u5176\u4ed6\u67e5\u8be2\u6267\u884c\u529f\u80fd\u4e5f\u9002\u7528\u4e8e\u6bcf\u4e2a\u751f\u6210\u7684\u67e5\u8be2\u3002\n        </p><p>\n         \u5982\u679c\u5f53\u524d\u67e5\u8be2\u7f13\u51b2\u533a\u4e3a\u7a7a\uff0c\u5219\u91cd\u65b0\u6267\u884c\u6700\u8fd1\u53d1\u9001\u7684\u67e5\u8be2\u3002\n        </p></dd>"}, "summary": "\u5c06\u5f53\u524d\u67e5\u8be2\u7f13\u51b2\u533a\u53d1\u9001\u5230\u670d\u52a1\u5668\uff0c\u7136\u540e\u5c06\u67e5\u8be2\u8f93\u51fa\u7684\u6bcf\u884c\u6bcf\u5217\u89c6\u4e3a\u8981\u6267\u884c\u7684 SQL \u8bed\u53e5\u3002\u4f8b\u5982\uff0c\u8981\u5728 my_table \u7684\u6bcf\u4e00\u5217\u4e0a\u521b\u5efa\u7d22\u5f15\uff1a", "body_html": "<dd><p>\n         \u5c06\u5f53\u524d\u67e5\u8be2\u7f13\u51b2\u533a\u53d1\u9001\u5230\u670d\u52a1\u5668\uff0c\u7136\u540e\u5c06\u67e5\u8be2\u8f93\u51fa\u7684\u6bcf\u884c\u6bcf\u5217\u89c6\u4e3a\u8981\u6267\u884c\u7684 SQL \u8bed\u53e5\u3002\u4f8b\u5982\uff0c\u8981\u5728 <code class=\"structname\">my_table</code> \u7684\u6bcf\u4e00\u5217\u4e0a\u521b\u5efa\u7d22\u5f15\uff1a\n</p><pre class=\"programlisting\">\n=&gt; <strong class=\"userinput\"><code>SELECT format('create index on my_table(%I)', attname)</code></strong>\n-&gt; <strong class=\"userinput\"><code>FROM pg_attribute</code></strong>\n-&gt; <strong class=\"userinput\"><code>WHERE attrelid = 'my_table'::regclass AND attnum &gt; 0</code></strong>\n-&gt; <strong class=\"userinput\"><code>ORDER BY attnum</code></strong>\n-&gt; <strong class=\"userinput\"><code>\\gexec</code></strong>\nCREATE INDEX\nCREATE INDEX\nCREATE INDEX\nCREATE INDEX\n</pre><p>\n</p><p>\n         \u751f\u6210\u7684\u67e5\u8be2\u6309\u7167\u8fd4\u56de\u884c\u7684\u987a\u5e8f\u6267\u884c\uff1b\u5982\u679c\u6709\u591a\u5217\uff0c\u5219\u5728\u6bcf\u884c\u5185\u4ece\u5de6\u5230\u53f3\u6267\u884c\u3002NULL \u5b57\u6bb5\u4f1a\u88ab\u5ffd\u7565\u3002\u751f\u6210\u7684\u67e5\u8be2\u6309\u539f\u6837\u53d1\u9001\u5230\u670d\u52a1\u5668\u8fdb\u884c\u5904\u7406\uff0c\u56e0\u6b64\u4e0d\u80fd\u662f <span class=\"application\">psql</span> \u5143\u547d\u4ee4\uff0c\u4e5f\u4e0d\u80fd\u5305\u542b <span class=\"application\">psql</span> \u53d8\u91cf\u5f15\u7528\u3002\u5982\u679c\u67d0\u4e2a\u67e5\u8be2\u5931\u8d25\uff0c\u4ecd\u4f1a\u7ee7\u7eed\u6267\u884c\u5176\u4f59\u67e5\u8be2\uff0c\u9664\u975e\u8bbe\u7f6e\u4e86 <code class=\"varname\">ON_ERROR_STOP</code>\u3002\u6bcf\u4e2a\u67e5\u8be2\u7684\u6267\u884c\u90fd\u53d7 <code class=\"varname\">ECHO</code> \u5904\u7406\u7684\u5f71\u54cd\u3002\uff08\u901a\u5e38\uff0c\u5728\u4f7f\u7528<code class=\"command\">\\gexec</code> \u65f6\uff0c\u9002\u5b9c\u5c06 <code class=\"varname\">ECHO</code> \u8bbe\u4e3a <code class=\"literal\">all</code> \u6216 <code class=\"literal\">queries</code>\u3002\uff09\u67e5\u8be2\u65e5\u5fd7\u3001\u5355\u6b65\u6a21\u5f0f\u3001\u8ba1\u65f6\u53ca\u5176\u4ed6\u67e5\u8be2\u6267\u884c\u529f\u80fd\u4e5f\u9002\u7528\u4e8e\u6bcf\u4e2a\u751f\u6210\u7684\u67e5\u8be2\u3002\n        </p><p>\n         \u5982\u679c\u5f53\u524d\u67e5\u8be2\u7f13\u51b2\u533a\u4e3a\u7a7a\uff0c\u5219\u91cd\u65b0\u6267\u884c\u6700\u8fd1\u53d1\u9001\u7684\u67e5\u8be2\u3002\n        </p></dd>", "body_sha256": "fad4c1b7ae1eae79a6483f1677d7d1ddaae22f76348179091a25e27384c98f5a", "content_hash": "efa46b7450aa97876f4fb617fc04438be91084abb5aa5c81fae369f36ef2b004", "source_revision": "pgdoc:b9f0e7232f60f380d642ac9b99226606c254b552", "definition_version": "16", "documentation_release": "16.16"}, "modifiers": [], "signature": "\\gexec", "spellings": ["\\gexec"], "tables_zh": [{"key": "spellings", "rows": [{"command": {"url": "/wiki/psql/cmd-67-65-78-65-63/?v=16", "text": "\\gexec"}, "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": ["\u5c06\u5f53\u524d\u67e5\u8be2\u7f13\u51b2\u533a\u53d1\u9001\u5230\u670d\u52a1\u5668\uff0c\u7136\u540e\u5c06\u67e5\u8be2\u8f93\u51fa\u7684\u6bcf\u884c\u6bcf\u5217\u89c6\u4e3a\u8981\u6267\u884c\u7684 SQL \u8bed\u53e5\u3002\u4f8b\u5982\uff0c\u8981\u5728 my_table \u7684\u6bcf\u4e00\u5217\u4e0a\u521b\u5efa\u7d22\u5f15\uff1a"], "manual_html": "<dd><p>\n         \u5c06\u5f53\u524d\u67e5\u8be2\u7f13\u51b2\u533a\u53d1\u9001\u5230\u670d\u52a1\u5668\uff0c\u7136\u540e\u5c06\u67e5\u8be2\u8f93\u51fa\u7684\u6bcf\u884c\u6bcf\u5217\u89c6\u4e3a\u8981\u6267\u884c\u7684 SQL \u8bed\u53e5\u3002\u4f8b\u5982\uff0c\u8981\u5728 <code class=\"structname\">my_table</code> \u7684\u6bcf\u4e00\u5217\u4e0a\u521b\u5efa\u7d22\u5f15\uff1a\n</p><pre class=\"programlisting\">\n=&gt; <strong class=\"userinput\"><code>SELECT format('create index on my_table(%I)', attname)</code></strong>\n-&gt; <strong class=\"userinput\"><code>FROM pg_attribute</code></strong>\n-&gt; <strong class=\"userinput\"><code>WHERE attrelid = 'my_table'::regclass AND attnum &gt; 0</code></strong>\n-&gt; <strong class=\"userinput\"><code>ORDER BY attnum</code></strong>\n-&gt; <strong class=\"userinput\"><code>\\gexec</code></strong>\nCREATE INDEX\nCREATE INDEX\nCREATE INDEX\nCREATE INDEX\n</pre><p>\n</p><p>\n         \u751f\u6210\u7684\u67e5\u8be2\u6309\u7167\u8fd4\u56de\u884c\u7684\u987a\u5e8f\u6267\u884c\uff1b\u5982\u679c\u6709\u591a\u5217\uff0c\u5219\u5728\u6bcf\u884c\u5185\u4ece\u5de6\u5230\u53f3\u6267\u884c\u3002NULL \u5b57\u6bb5\u4f1a\u88ab\u5ffd\u7565\u3002\u751f\u6210\u7684\u67e5\u8be2\u6309\u539f\u6837\u53d1\u9001\u5230\u670d\u52a1\u5668\u8fdb\u884c\u5904\u7406\uff0c\u56e0\u6b64\u4e0d\u80fd\u662f <span class=\"application\">psql</span> \u5143\u547d\u4ee4\uff0c\u4e5f\u4e0d\u80fd\u5305\u542b <span class=\"application\">psql</span> \u53d8\u91cf\u5f15\u7528\u3002\u5982\u679c\u67d0\u4e2a\u67e5\u8be2\u5931\u8d25\uff0c\u4ecd\u4f1a\u7ee7\u7eed\u6267\u884c\u5176\u4f59\u67e5\u8be2\uff0c\u9664\u975e\u8bbe\u7f6e\u4e86 <code class=\"varname\">ON_ERROR_STOP</code>\u3002\u6bcf\u4e2a\u67e5\u8be2\u7684\u6267\u884c\u90fd\u53d7 <code class=\"varname\">ECHO</code> \u5904\u7406\u7684\u5f71\u54cd\u3002\uff08\u901a\u5e38\uff0c\u5728\u4f7f\u7528<code class=\"command\">\\gexec</code> \u65f6\uff0c\u9002\u5b9c\u5c06 <code class=\"varname\">ECHO</code> \u8bbe\u4e3a <code class=\"literal\">all</code> \u6216 <code class=\"literal\">queries</code>\u3002\uff09\u67e5\u8be2\u65e5\u5fd7\u3001\u5355\u6b65\u6a21\u5f0f\u3001\u8ba1\u65f6\u53ca\u5176\u4ed6\u67e5\u8be2\u6267\u884c\u529f\u80fd\u4e5f\u9002\u7528\u4e8e\u6bcf\u4e2a\u751f\u6210\u7684\u67e5\u8be2\u3002\n        </p><p>\n         \u5982\u679c\u5f53\u524d\u67e5\u8be2\u7f13\u51b2\u533a\u4e3a\u7a7a\uff0c\u5219\u91cd\u65b0\u6267\u884c\u6700\u8fd1\u53d1\u9001\u7684\u67e5\u8be2\u3002\n        </p></dd>", "manual_path": "app-psql.html#APP-PSQL-META-COMMAND-GEXEC", "sections_zh": [], "localization": {"status": "same-version-reviewed-manual", "language": "zh", "source_language": "en", "source_revision": "pgdoc:b9f0e7232f60f380d642ac9b99226606c254b552", "documentation_release": "16.16"}, "description_zh": "\u5c06\u5f53\u524d\u67e5\u8be2\u7f13\u51b2\u533a\u53d1\u9001\u5230\u670d\u52a1\u5668\uff0c\u7136\u540e\u5c06\u67e5\u8be2\u8f93\u51fa\u7684\u6bcf\u884c\u6bcf\u5217\u89c6\u4e3a\u8981\u6267\u884c\u7684 SQL \u8bed\u53e5\u3002\u4f8b\u5982\uff0c\u8981\u5728 my_table \u7684\u6bcf\u4e00\u5217\u4e0a\u521b\u5efa\u7d22\u5f15\uff1a", "comparison_data": {"modifiers": [], "signature": "\\gexec", "spellings": ["\\gexec"], "definition": "Sends the current query buffer to the server, then treats each column of each row of the query's output (if any) as an SQL statement to be executed. For example, to create an index on each column of my_table : => SELECT format('create index on my_table(%I)', attname) -> FROM pg_attribute -> WHERE attrelid = 'my_table'::regclass AND attnum > 0 -> ORDER BY attnum -> \\gexec CREATE INDEX CREATE INDEX CREATE INDEX CREATE INDEX The generated queries are executed in the order in which the rows are returned, and left-to-right within each row if there is more than one column. NULL fields are ignored. The generated queries are sent literally to the server for processing, so they cannot be psql meta-commands nor contain psql variable references. If any individual query fails, execution of the remaining queries continues unless ON_ERROR_STOP is set. Execution of each query is subject to ECHO processing. (Setting ECHO to all or queries is often advisable when using \\gexec .) Query logging, single-step mode, timing, and other query execution features apply to each generated query as well. If the current query buffer is empty, the most recently sent query is re-executed instead."}, "comparison_hash": "4df526f59b23b5fa24e30caba1236c2988d5db04c457b5b38354014b2b052ac6", "manual_language": "zh", "description_zh_html": "<dd><p>\n         \u5c06\u5f53\u524d\u67e5\u8be2\u7f13\u51b2\u533a\u53d1\u9001\u5230\u670d\u52a1\u5668\uff0c\u7136\u540e\u5c06\u67e5\u8be2\u8f93\u51fa\u7684\u6bcf\u884c\u6bcf\u5217\u89c6\u4e3a\u8981\u6267\u884c\u7684 SQL \u8bed\u53e5\u3002\u4f8b\u5982\uff0c\u8981\u5728 <code class=\"structname\">my_table</code> \u7684\u6bcf\u4e00\u5217\u4e0a\u521b\u5efa\u7d22\u5f15\uff1a\n</p><pre class=\"programlisting\">\n=&gt; <strong class=\"userinput\"><code>SELECT format('create index on my_table(%I)', attname)</code></strong>\n-&gt; <strong class=\"userinput\"><code>FROM pg_attribute</code></strong>\n-&gt; <strong class=\"userinput\"><code>WHERE attrelid = 'my_table'::regclass AND attnum &gt; 0</code></strong>\n-&gt; <strong class=\"userinput\"><code>ORDER BY attnum</code></strong>\n-&gt; <strong class=\"userinput\"><code>\\gexec</code></strong>\nCREATE INDEX\nCREATE INDEX\nCREATE INDEX\nCREATE INDEX\n</pre><p>\n</p><p>\n         \u751f\u6210\u7684\u67e5\u8be2\u6309\u7167\u8fd4\u56de\u884c\u7684\u987a\u5e8f\u6267\u884c\uff1b\u5982\u679c\u6709\u591a\u5217\uff0c\u5219\u5728\u6bcf\u884c\u5185\u4ece\u5de6\u5230\u53f3\u6267\u884c\u3002NULL \u5b57\u6bb5\u4f1a\u88ab\u5ffd\u7565\u3002\u751f\u6210\u7684\u67e5\u8be2\u6309\u539f\u6837\u53d1\u9001\u5230\u670d\u52a1\u5668\u8fdb\u884c\u5904\u7406\uff0c\u56e0\u6b64\u4e0d\u80fd\u662f <span class=\"application\">psql</span> \u5143\u547d\u4ee4\uff0c\u4e5f\u4e0d\u80fd\u5305\u542b <span class=\"application\">psql</span> \u53d8\u91cf\u5f15\u7528\u3002\u5982\u679c\u67d0\u4e2a\u67e5\u8be2\u5931\u8d25\uff0c\u4ecd\u4f1a\u7ee7\u7eed\u6267\u884c\u5176\u4f59\u67e5\u8be2\uff0c\u9664\u975e\u8bbe\u7f6e\u4e86 <code class=\"varname\">ON_ERROR_STOP</code>\u3002\u6bcf\u4e2a\u67e5\u8be2\u7684\u6267\u884c\u90fd\u53d7 <code class=\"varname\">ECHO</code> \u5904\u7406\u7684\u5f71\u54cd\u3002\uff08\u901a\u5e38\uff0c\u5728\u4f7f\u7528<code class=\"command\">\\gexec</code> \u65f6\uff0c\u9002\u5b9c\u5c06 <code class=\"varname\">ECHO</code> \u8bbe\u4e3a <code class=\"literal\">all</code> \u6216 <code class=\"literal\">queries</code>\u3002\uff09\u67e5\u8be2\u65e5\u5fd7\u3001\u5355\u6b65\u6a21\u5f0f\u3001\u8ba1\u65f6\u53ca\u5176\u4ed6\u67e5\u8be2\u6267\u884c\u529f\u80fd\u4e5f\u9002\u7528\u4e8e\u6bcf\u4e2a\u751f\u6210\u7684\u67e5\u8be2\u3002\n        </p><p>\n         \u5982\u679c\u5f53\u524d\u67e5\u8be2\u7f13\u51b2\u533a\u4e3a\u7a7a\uff0c\u5219\u91cd\u65b0\u6267\u884c\u6700\u8fd1\u53d1\u9001\u7684\u67e5\u8be2\u3002\n        </p></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": "\\gexec"}], "tables": [{"key": "spellings", "rows": [{"command": {"url": "/wiki/psql/cmd-67-65-78-65-63/?v=17", "text": "\\gexec"}, "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": "\\gexec", "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-GEXEC", "file": "app-psql.html", "label": "17.12 English manual \u00b7 app-psql.html", "anchor": "APP-PSQL-META-COMMAND-GEXEC", "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": "\\gexec"}], "sections": [], "center_zh": {"locale": "zh-Hans", "payload": {"description_zh": "\u5c06\u5f53\u524d\u67e5\u8be2\u7f13\u51b2\u533a\u53d1\u9001\u5230\u670d\u52a1\u5668\uff0c\u7136\u540e\u5c06\u67e5\u8be2\u8f93\u51fa\u7684\u6bcf\u884c\u6bcf\u5217\u89c6\u4e3a\u8981\u6267\u884c\u7684 SQL \u8bed\u53e5\u3002\u4f8b\u5982\uff0c\u8981\u5728 my_table \u7684\u6bcf\u4e00\u5217\u4e0a\u521b\u5efa\u7d22\u5f15\uff1a", "description_zh_html": "<dd><p>\n         \u5c06\u5f53\u524d\u67e5\u8be2\u7f13\u51b2\u533a\u53d1\u9001\u5230\u670d\u52a1\u5668\uff0c\u7136\u540e\u5c06\u67e5\u8be2\u8f93\u51fa\u7684\u6bcf\u884c\u6bcf\u5217\u89c6\u4e3a\u8981\u6267\u884c\u7684 SQL \u8bed\u53e5\u3002\u4f8b\u5982\uff0c\u8981\u5728 <code class=\"structname\">my_table</code> \u7684\u6bcf\u4e00\u5217\u4e0a\u521b\u5efa\u7d22\u5f15\uff1a\n</p><pre class=\"programlisting\">\n=&gt; <strong class=\"userinput\"><code>SELECT format('create index on my_table(%I)', attname)</code></strong>\n-&gt; <strong class=\"userinput\"><code>FROM pg_attribute</code></strong>\n-&gt; <strong class=\"userinput\"><code>WHERE attrelid = 'my_table'::regclass AND attnum &gt; 0</code></strong>\n-&gt; <strong class=\"userinput\"><code>ORDER BY attnum</code></strong>\n-&gt; <strong class=\"userinput\"><code>\\gexec</code></strong>\nCREATE INDEX\nCREATE INDEX\nCREATE INDEX\nCREATE INDEX\n</pre><p>\n</p><p>\n         \u751f\u6210\u7684\u67e5\u8be2\u6309\u7167\u8fd4\u56de\u884c\u7684\u987a\u5e8f\u6267\u884c\uff1b\u5982\u679c\u6709\u591a\u5217\uff0c\u5219\u5728\u6bcf\u884c\u5185\u4ece\u5de6\u5230\u53f3\u6267\u884c\u3002NULL \u5b57\u6bb5\u4f1a\u88ab\u5ffd\u7565\u3002\u751f\u6210\u7684\u67e5\u8be2\u6309\u539f\u6837\u53d1\u9001\u5230\u670d\u52a1\u5668\u8fdb\u884c\u5904\u7406\uff0c\u56e0\u6b64\u4e0d\u80fd\u662f <span class=\"application\">psql</span> \u5143\u547d\u4ee4\uff0c\u4e5f\u4e0d\u80fd\u5305\u542b <span class=\"application\">psql</span> \u53d8\u91cf\u5f15\u7528\u3002\u5982\u679c\u67d0\u4e2a\u67e5\u8be2\u5931\u8d25\uff0c\u4ecd\u4f1a\u7ee7\u7eed\u6267\u884c\u5176\u4f59\u67e5\u8be2\uff0c\u9664\u975e\u8bbe\u7f6e\u4e86 <code class=\"varname\">ON_ERROR_STOP</code>\u3002\u6bcf\u4e2a\u67e5\u8be2\u7684\u6267\u884c\u90fd\u53d7 <code class=\"varname\">ECHO</code> \u5904\u7406\u7684\u5f71\u54cd\u3002\uff08\u901a\u5e38\uff0c\u5728\u4f7f\u7528<code class=\"command\">\\gexec</code> \u65f6\uff0c\u9002\u5b9c\u5c06 <code class=\"varname\">ECHO</code> \u8bbe\u4e3a <code class=\"literal\">all</code> \u6216 <code class=\"literal\">queries</code>\u3002\uff09\u67e5\u8be2\u65e5\u5fd7\u3001\u5355\u6b65\u6a21\u5f0f\u3001\u8ba1\u65f6\u53ca\u5176\u4ed6\u67e5\u8be2\u6267\u884c\u529f\u80fd\u4e5f\u9002\u7528\u4e8e\u6bcf\u4e2a\u751f\u6210\u7684\u67e5\u8be2\u3002\n        </p><p>\n         \u5982\u679c\u5f53\u524d\u67e5\u8be2\u7f13\u51b2\u533a\u4e3a\u7a7a\uff0c\u5219\u91cd\u65b0\u6267\u884c\u6700\u8fd1\u53d1\u9001\u7684\u67e5\u8be2\u3002\n        </p></dd>"}, "summary": "\u5c06\u5f53\u524d\u67e5\u8be2\u7f13\u51b2\u533a\u53d1\u9001\u5230\u670d\u52a1\u5668\uff0c\u7136\u540e\u5c06\u67e5\u8be2\u8f93\u51fa\u7684\u6bcf\u884c\u6bcf\u5217\u89c6\u4e3a\u8981\u6267\u884c\u7684 SQL \u8bed\u53e5\u3002\u4f8b\u5982\uff0c\u8981\u5728 my_table \u7684\u6bcf\u4e00\u5217\u4e0a\u521b\u5efa\u7d22\u5f15\uff1a", "body_html": "<dd><p>\n         \u5c06\u5f53\u524d\u67e5\u8be2\u7f13\u51b2\u533a\u53d1\u9001\u5230\u670d\u52a1\u5668\uff0c\u7136\u540e\u5c06\u67e5\u8be2\u8f93\u51fa\u7684\u6bcf\u884c\u6bcf\u5217\u89c6\u4e3a\u8981\u6267\u884c\u7684 SQL \u8bed\u53e5\u3002\u4f8b\u5982\uff0c\u8981\u5728 <code class=\"structname\">my_table</code> \u7684\u6bcf\u4e00\u5217\u4e0a\u521b\u5efa\u7d22\u5f15\uff1a\n</p><pre class=\"programlisting\">\n=&gt; <strong class=\"userinput\"><code>SELECT format('create index on my_table(%I)', attname)</code></strong>\n-&gt; <strong class=\"userinput\"><code>FROM pg_attribute</code></strong>\n-&gt; <strong class=\"userinput\"><code>WHERE attrelid = 'my_table'::regclass AND attnum &gt; 0</code></strong>\n-&gt; <strong class=\"userinput\"><code>ORDER BY attnum</code></strong>\n-&gt; <strong class=\"userinput\"><code>\\gexec</code></strong>\nCREATE INDEX\nCREATE INDEX\nCREATE INDEX\nCREATE INDEX\n</pre><p>\n</p><p>\n         \u751f\u6210\u7684\u67e5\u8be2\u6309\u7167\u8fd4\u56de\u884c\u7684\u987a\u5e8f\u6267\u884c\uff1b\u5982\u679c\u6709\u591a\u5217\uff0c\u5219\u5728\u6bcf\u884c\u5185\u4ece\u5de6\u5230\u53f3\u6267\u884c\u3002NULL \u5b57\u6bb5\u4f1a\u88ab\u5ffd\u7565\u3002\u751f\u6210\u7684\u67e5\u8be2\u6309\u539f\u6837\u53d1\u9001\u5230\u670d\u52a1\u5668\u8fdb\u884c\u5904\u7406\uff0c\u56e0\u6b64\u4e0d\u80fd\u662f <span class=\"application\">psql</span> \u5143\u547d\u4ee4\uff0c\u4e5f\u4e0d\u80fd\u5305\u542b <span class=\"application\">psql</span> \u53d8\u91cf\u5f15\u7528\u3002\u5982\u679c\u67d0\u4e2a\u67e5\u8be2\u5931\u8d25\uff0c\u4ecd\u4f1a\u7ee7\u7eed\u6267\u884c\u5176\u4f59\u67e5\u8be2\uff0c\u9664\u975e\u8bbe\u7f6e\u4e86 <code class=\"varname\">ON_ERROR_STOP</code>\u3002\u6bcf\u4e2a\u67e5\u8be2\u7684\u6267\u884c\u90fd\u53d7 <code class=\"varname\">ECHO</code> \u5904\u7406\u7684\u5f71\u54cd\u3002\uff08\u901a\u5e38\uff0c\u5728\u4f7f\u7528<code class=\"command\">\\gexec</code> \u65f6\uff0c\u9002\u5b9c\u5c06 <code class=\"varname\">ECHO</code> \u8bbe\u4e3a <code class=\"literal\">all</code> \u6216 <code class=\"literal\">queries</code>\u3002\uff09\u67e5\u8be2\u65e5\u5fd7\u3001\u5355\u6b65\u6a21\u5f0f\u3001\u8ba1\u65f6\u53ca\u5176\u4ed6\u67e5\u8be2\u6267\u884c\u529f\u80fd\u4e5f\u9002\u7528\u4e8e\u6bcf\u4e2a\u751f\u6210\u7684\u67e5\u8be2\u3002\n        </p><p>\n         \u5982\u679c\u5f53\u524d\u67e5\u8be2\u7f13\u51b2\u533a\u4e3a\u7a7a\uff0c\u5219\u91cd\u65b0\u6267\u884c\u6700\u8fd1\u53d1\u9001\u7684\u67e5\u8be2\u3002\n        </p></dd>", "body_sha256": "fad4c1b7ae1eae79a6483f1677d7d1ddaae22f76348179091a25e27384c98f5a", "content_hash": "3cb676568b1341f53ebef357ad9d74ece14c11c38f9acc29e835521761f74800", "source_revision": "pgdoc:b9f0e7232f60f380d642ac9b99226606c254b552", "definition_version": "17", "documentation_release": "17.12"}, "modifiers": [], "signature": "\\gexec", "spellings": ["\\gexec"], "tables_zh": [{"key": "spellings", "rows": [{"command": {"url": "/wiki/psql/cmd-67-65-78-65-63/?v=17", "text": "\\gexec"}, "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": ["\u5c06\u5f53\u524d\u67e5\u8be2\u7f13\u51b2\u533a\u53d1\u9001\u5230\u670d\u52a1\u5668\uff0c\u7136\u540e\u5c06\u67e5\u8be2\u8f93\u51fa\u7684\u6bcf\u884c\u6bcf\u5217\u89c6\u4e3a\u8981\u6267\u884c\u7684 SQL \u8bed\u53e5\u3002\u4f8b\u5982\uff0c\u8981\u5728 my_table \u7684\u6bcf\u4e00\u5217\u4e0a\u521b\u5efa\u7d22\u5f15\uff1a"], "manual_html": "<dd><p>\n         \u5c06\u5f53\u524d\u67e5\u8be2\u7f13\u51b2\u533a\u53d1\u9001\u5230\u670d\u52a1\u5668\uff0c\u7136\u540e\u5c06\u67e5\u8be2\u8f93\u51fa\u7684\u6bcf\u884c\u6bcf\u5217\u89c6\u4e3a\u8981\u6267\u884c\u7684 SQL \u8bed\u53e5\u3002\u4f8b\u5982\uff0c\u8981\u5728 <code class=\"structname\">my_table</code> \u7684\u6bcf\u4e00\u5217\u4e0a\u521b\u5efa\u7d22\u5f15\uff1a\n</p><pre class=\"programlisting\">\n=&gt; <strong class=\"userinput\"><code>SELECT format('create index on my_table(%I)', attname)</code></strong>\n-&gt; <strong class=\"userinput\"><code>FROM pg_attribute</code></strong>\n-&gt; <strong class=\"userinput\"><code>WHERE attrelid = 'my_table'::regclass AND attnum &gt; 0</code></strong>\n-&gt; <strong class=\"userinput\"><code>ORDER BY attnum</code></strong>\n-&gt; <strong class=\"userinput\"><code>\\gexec</code></strong>\nCREATE INDEX\nCREATE INDEX\nCREATE INDEX\nCREATE INDEX\n</pre><p>\n</p><p>\n         \u751f\u6210\u7684\u67e5\u8be2\u6309\u7167\u8fd4\u56de\u884c\u7684\u987a\u5e8f\u6267\u884c\uff1b\u5982\u679c\u6709\u591a\u5217\uff0c\u5219\u5728\u6bcf\u884c\u5185\u4ece\u5de6\u5230\u53f3\u6267\u884c\u3002NULL \u5b57\u6bb5\u4f1a\u88ab\u5ffd\u7565\u3002\u751f\u6210\u7684\u67e5\u8be2\u6309\u539f\u6837\u53d1\u9001\u5230\u670d\u52a1\u5668\u8fdb\u884c\u5904\u7406\uff0c\u56e0\u6b64\u4e0d\u80fd\u662f <span class=\"application\">psql</span> \u5143\u547d\u4ee4\uff0c\u4e5f\u4e0d\u80fd\u5305\u542b <span class=\"application\">psql</span> \u53d8\u91cf\u5f15\u7528\u3002\u5982\u679c\u67d0\u4e2a\u67e5\u8be2\u5931\u8d25\uff0c\u4ecd\u4f1a\u7ee7\u7eed\u6267\u884c\u5176\u4f59\u67e5\u8be2\uff0c\u9664\u975e\u8bbe\u7f6e\u4e86 <code class=\"varname\">ON_ERROR_STOP</code>\u3002\u6bcf\u4e2a\u67e5\u8be2\u7684\u6267\u884c\u90fd\u53d7 <code class=\"varname\">ECHO</code> \u5904\u7406\u7684\u5f71\u54cd\u3002\uff08\u901a\u5e38\uff0c\u5728\u4f7f\u7528<code class=\"command\">\\gexec</code> \u65f6\uff0c\u9002\u5b9c\u5c06 <code class=\"varname\">ECHO</code> \u8bbe\u4e3a <code class=\"literal\">all</code> \u6216 <code class=\"literal\">queries</code>\u3002\uff09\u67e5\u8be2\u65e5\u5fd7\u3001\u5355\u6b65\u6a21\u5f0f\u3001\u8ba1\u65f6\u53ca\u5176\u4ed6\u67e5\u8be2\u6267\u884c\u529f\u80fd\u4e5f\u9002\u7528\u4e8e\u6bcf\u4e2a\u751f\u6210\u7684\u67e5\u8be2\u3002\n        </p><p>\n         \u5982\u679c\u5f53\u524d\u67e5\u8be2\u7f13\u51b2\u533a\u4e3a\u7a7a\uff0c\u5219\u91cd\u65b0\u6267\u884c\u6700\u8fd1\u53d1\u9001\u7684\u67e5\u8be2\u3002\n        </p></dd>", "manual_path": "app-psql.html#APP-PSQL-META-COMMAND-GEXEC", "sections_zh": [], "localization": {"status": "same-version-reviewed-manual", "language": "zh", "source_language": "en", "source_revision": "pgdoc:b9f0e7232f60f380d642ac9b99226606c254b552", "documentation_release": "17.12"}, "description_zh": "\u5c06\u5f53\u524d\u67e5\u8be2\u7f13\u51b2\u533a\u53d1\u9001\u5230\u670d\u52a1\u5668\uff0c\u7136\u540e\u5c06\u67e5\u8be2\u8f93\u51fa\u7684\u6bcf\u884c\u6bcf\u5217\u89c6\u4e3a\u8981\u6267\u884c\u7684 SQL \u8bed\u53e5\u3002\u4f8b\u5982\uff0c\u8981\u5728 my_table \u7684\u6bcf\u4e00\u5217\u4e0a\u521b\u5efa\u7d22\u5f15\uff1a", "comparison_data": {"modifiers": [], "signature": "\\gexec", "spellings": ["\\gexec"], "definition": "Sends the current query buffer to the server, then treats each column of each row of the query's output (if any) as an SQL statement to be executed. For example, to create an index on each column of my_table : => SELECT format('create index on my_table(%I)', attname) -> FROM pg_attribute -> WHERE attrelid = 'my_table'::regclass AND attnum > 0 -> ORDER BY attnum -> \\gexec CREATE INDEX CREATE INDEX CREATE INDEX CREATE INDEX The generated queries are executed in the order in which the rows are returned, and left-to-right within each row if there is more than one column. NULL fields are ignored. The generated queries are sent literally to the server for processing, so they cannot be psql meta-commands nor contain psql variable references. If any individual query fails, execution of the remaining queries continues unless ON_ERROR_STOP is set. Execution of each query is subject to ECHO processing. (Setting ECHO to all or queries is often advisable when using \\gexec .) Query logging, single-step mode, timing, and other query execution features apply to each generated query as well. If the current query buffer is empty, the most recently sent query is re-executed instead."}, "comparison_hash": "4df526f59b23b5fa24e30caba1236c2988d5db04c457b5b38354014b2b052ac6", "manual_language": "zh", "description_zh_html": "<dd><p>\n         \u5c06\u5f53\u524d\u67e5\u8be2\u7f13\u51b2\u533a\u53d1\u9001\u5230\u670d\u52a1\u5668\uff0c\u7136\u540e\u5c06\u67e5\u8be2\u8f93\u51fa\u7684\u6bcf\u884c\u6bcf\u5217\u89c6\u4e3a\u8981\u6267\u884c\u7684 SQL \u8bed\u53e5\u3002\u4f8b\u5982\uff0c\u8981\u5728 <code class=\"structname\">my_table</code> \u7684\u6bcf\u4e00\u5217\u4e0a\u521b\u5efa\u7d22\u5f15\uff1a\n</p><pre class=\"programlisting\">\n=&gt; <strong class=\"userinput\"><code>SELECT format('create index on my_table(%I)', attname)</code></strong>\n-&gt; <strong class=\"userinput\"><code>FROM pg_attribute</code></strong>\n-&gt; <strong class=\"userinput\"><code>WHERE attrelid = 'my_table'::regclass AND attnum &gt; 0</code></strong>\n-&gt; <strong class=\"userinput\"><code>ORDER BY attnum</code></strong>\n-&gt; <strong class=\"userinput\"><code>\\gexec</code></strong>\nCREATE INDEX\nCREATE INDEX\nCREATE INDEX\nCREATE INDEX\n</pre><p>\n</p><p>\n         \u751f\u6210\u7684\u67e5\u8be2\u6309\u7167\u8fd4\u56de\u884c\u7684\u987a\u5e8f\u6267\u884c\uff1b\u5982\u679c\u6709\u591a\u5217\uff0c\u5219\u5728\u6bcf\u884c\u5185\u4ece\u5de6\u5230\u53f3\u6267\u884c\u3002NULL \u5b57\u6bb5\u4f1a\u88ab\u5ffd\u7565\u3002\u751f\u6210\u7684\u67e5\u8be2\u6309\u539f\u6837\u53d1\u9001\u5230\u670d\u52a1\u5668\u8fdb\u884c\u5904\u7406\uff0c\u56e0\u6b64\u4e0d\u80fd\u662f <span class=\"application\">psql</span> \u5143\u547d\u4ee4\uff0c\u4e5f\u4e0d\u80fd\u5305\u542b <span class=\"application\">psql</span> \u53d8\u91cf\u5f15\u7528\u3002\u5982\u679c\u67d0\u4e2a\u67e5\u8be2\u5931\u8d25\uff0c\u4ecd\u4f1a\u7ee7\u7eed\u6267\u884c\u5176\u4f59\u67e5\u8be2\uff0c\u9664\u975e\u8bbe\u7f6e\u4e86 <code class=\"varname\">ON_ERROR_STOP</code>\u3002\u6bcf\u4e2a\u67e5\u8be2\u7684\u6267\u884c\u90fd\u53d7 <code class=\"varname\">ECHO</code> \u5904\u7406\u7684\u5f71\u54cd\u3002\uff08\u901a\u5e38\uff0c\u5728\u4f7f\u7528<code class=\"command\">\\gexec</code> \u65f6\uff0c\u9002\u5b9c\u5c06 <code class=\"varname\">ECHO</code> \u8bbe\u4e3a <code class=\"literal\">all</code> \u6216 <code class=\"literal\">queries</code>\u3002\uff09\u67e5\u8be2\u65e5\u5fd7\u3001\u5355\u6b65\u6a21\u5f0f\u3001\u8ba1\u65f6\u53ca\u5176\u4ed6\u67e5\u8be2\u6267\u884c\u529f\u80fd\u4e5f\u9002\u7528\u4e8e\u6bcf\u4e2a\u751f\u6210\u7684\u67e5\u8be2\u3002\n        </p><p>\n         \u5982\u679c\u5f53\u524d\u67e5\u8be2\u7f13\u51b2\u533a\u4e3a\u7a7a\uff0c\u5219\u91cd\u65b0\u6267\u884c\u6700\u8fd1\u53d1\u9001\u7684\u67e5\u8be2\u3002\n        </p></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": "\\gexec"}], "tables": [{"key": "spellings", "rows": [{"command": {"url": "/wiki/psql/cmd-67-65-78-65-63/?v=18", "text": "\\gexec"}, "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": "\\gexec", "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-GEXEC", "file": "app-psql.html", "label": "18.7 English manual \u00b7 app-psql.html", "anchor": "APP-PSQL-META-COMMAND-GEXEC", "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": "\\gexec"}], "sections": [], "center_zh": {"locale": "zh-Hans", "payload": {"description_zh": "\u5c06\u5f53\u524d\u67e5\u8be2\u7f13\u51b2\u533a\u53d1\u9001\u5230\u670d\u52a1\u5668\uff0c\u7136\u540e\u5c06\u67e5\u8be2\u8f93\u51fa\u7684\u6bcf\u884c\u6bcf\u5217\u89c6\u4e3a\u8981\u6267\u884c\u7684 SQL \u8bed\u53e5\u3002\u4f8b\u5982\uff0c\u8981\u5728 my_table \u7684\u6bcf\u4e00\u5217\u4e0a\u521b\u5efa\u7d22\u5f15\uff1a", "description_zh_html": "<dd><p>\n         \u5c06\u5f53\u524d\u67e5\u8be2\u7f13\u51b2\u533a\u53d1\u9001\u5230\u670d\u52a1\u5668\uff0c\u7136\u540e\u5c06\u67e5\u8be2\u8f93\u51fa\u7684\u6bcf\u884c\u6bcf\u5217\u89c6\u4e3a\u8981\u6267\u884c\u7684 SQL \u8bed\u53e5\u3002\u4f8b\u5982\uff0c\u8981\u5728 <code class=\"structname\">my_table</code> \u7684\u6bcf\u4e00\u5217\u4e0a\u521b\u5efa\u7d22\u5f15\uff1a\n</p><pre class=\"programlisting\">\n=&gt; <strong class=\"userinput\"><code>SELECT format('create index on my_table(%I)', attname)</code></strong>\n-&gt; <strong class=\"userinput\"><code>FROM pg_attribute</code></strong>\n-&gt; <strong class=\"userinput\"><code>WHERE attrelid = 'my_table'::regclass AND attnum &gt; 0</code></strong>\n-&gt; <strong class=\"userinput\"><code>ORDER BY attnum</code></strong>\n-&gt; <strong class=\"userinput\"><code>\\gexec</code></strong>\nCREATE INDEX\nCREATE INDEX\nCREATE INDEX\nCREATE INDEX\n</pre><p>\n</p><p>\n         \u751f\u6210\u7684\u67e5\u8be2\u6309\u7167\u8fd4\u56de\u884c\u7684\u987a\u5e8f\u6267\u884c\uff1b\u5982\u679c\u6709\u591a\u5217\uff0c\u5219\u5728\u6bcf\u884c\u5185\u4ece\u5de6\u5230\u53f3\u6267\u884c\u3002NULL \u5b57\u6bb5\u4f1a\u88ab\u5ffd\u7565\u3002\u751f\u6210\u7684\u67e5\u8be2\u6309\u539f\u6837\u53d1\u9001\u5230\u670d\u52a1\u5668\u8fdb\u884c\u5904\u7406\uff0c\u56e0\u6b64\u4e0d\u80fd\u662f <span class=\"application\">psql</span> \u5143\u547d\u4ee4\uff0c\u4e5f\u4e0d\u80fd\u5305\u542b <span class=\"application\">psql</span> \u53d8\u91cf\u5f15\u7528\u3002\u5982\u679c\u67d0\u4e2a\u67e5\u8be2\u5931\u8d25\uff0c\u4ecd\u4f1a\u7ee7\u7eed\u6267\u884c\u5176\u4f59\u67e5\u8be2\uff0c\u9664\u975e\u8bbe\u7f6e\u4e86 <code class=\"varname\">ON_ERROR_STOP</code>\u3002\u6bcf\u4e2a\u67e5\u8be2\u7684\u6267\u884c\u90fd\u53d7 <code class=\"varname\">ECHO</code> \u5904\u7406\u7684\u5f71\u54cd\u3002\uff08\u901a\u5e38\uff0c\u5728\u4f7f\u7528<code class=\"command\">\\gexec</code> \u65f6\uff0c\u9002\u5b9c\u5c06 <code class=\"varname\">ECHO</code> \u8bbe\u4e3a <code class=\"literal\">all</code> \u6216 <code class=\"literal\">queries</code>\u3002\uff09\u67e5\u8be2\u65e5\u5fd7\u3001\u5355\u6b65\u6a21\u5f0f\u3001\u8ba1\u65f6\u53ca\u5176\u4ed6\u67e5\u8be2\u6267\u884c\u529f\u80fd\u4e5f\u9002\u7528\u4e8e\u6bcf\u4e2a\u751f\u6210\u7684\u67e5\u8be2\u3002\n        </p><p>\n         \u5982\u679c\u5f53\u524d\u67e5\u8be2\u7f13\u51b2\u533a\u4e3a\u7a7a\uff0c\u5219\u91cd\u65b0\u6267\u884c\u6700\u8fd1\u53d1\u9001\u7684\u67e5\u8be2\u3002\n        </p></dd>"}, "summary": "\u5c06\u5f53\u524d\u67e5\u8be2\u7f13\u51b2\u533a\u53d1\u9001\u5230\u670d\u52a1\u5668\uff0c\u7136\u540e\u5c06\u67e5\u8be2\u8f93\u51fa\u7684\u6bcf\u884c\u6bcf\u5217\u89c6\u4e3a\u8981\u6267\u884c\u7684 SQL \u8bed\u53e5\u3002\u4f8b\u5982\uff0c\u8981\u5728 my_table \u7684\u6bcf\u4e00\u5217\u4e0a\u521b\u5efa\u7d22\u5f15\uff1a", "body_html": "<dd><p>\n         \u5c06\u5f53\u524d\u67e5\u8be2\u7f13\u51b2\u533a\u53d1\u9001\u5230\u670d\u52a1\u5668\uff0c\u7136\u540e\u5c06\u67e5\u8be2\u8f93\u51fa\u7684\u6bcf\u884c\u6bcf\u5217\u89c6\u4e3a\u8981\u6267\u884c\u7684 SQL \u8bed\u53e5\u3002\u4f8b\u5982\uff0c\u8981\u5728 <code class=\"structname\">my_table</code> \u7684\u6bcf\u4e00\u5217\u4e0a\u521b\u5efa\u7d22\u5f15\uff1a\n</p><pre class=\"programlisting\">\n=&gt; <strong class=\"userinput\"><code>SELECT format('create index on my_table(%I)', attname)</code></strong>\n-&gt; <strong class=\"userinput\"><code>FROM pg_attribute</code></strong>\n-&gt; <strong class=\"userinput\"><code>WHERE attrelid = 'my_table'::regclass AND attnum &gt; 0</code></strong>\n-&gt; <strong class=\"userinput\"><code>ORDER BY attnum</code></strong>\n-&gt; <strong class=\"userinput\"><code>\\gexec</code></strong>\nCREATE INDEX\nCREATE INDEX\nCREATE INDEX\nCREATE INDEX\n</pre><p>\n</p><p>\n         \u751f\u6210\u7684\u67e5\u8be2\u6309\u7167\u8fd4\u56de\u884c\u7684\u987a\u5e8f\u6267\u884c\uff1b\u5982\u679c\u6709\u591a\u5217\uff0c\u5219\u5728\u6bcf\u884c\u5185\u4ece\u5de6\u5230\u53f3\u6267\u884c\u3002NULL \u5b57\u6bb5\u4f1a\u88ab\u5ffd\u7565\u3002\u751f\u6210\u7684\u67e5\u8be2\u6309\u539f\u6837\u53d1\u9001\u5230\u670d\u52a1\u5668\u8fdb\u884c\u5904\u7406\uff0c\u56e0\u6b64\u4e0d\u80fd\u662f <span class=\"application\">psql</span> \u5143\u547d\u4ee4\uff0c\u4e5f\u4e0d\u80fd\u5305\u542b <span class=\"application\">psql</span> \u53d8\u91cf\u5f15\u7528\u3002\u5982\u679c\u67d0\u4e2a\u67e5\u8be2\u5931\u8d25\uff0c\u4ecd\u4f1a\u7ee7\u7eed\u6267\u884c\u5176\u4f59\u67e5\u8be2\uff0c\u9664\u975e\u8bbe\u7f6e\u4e86 <code class=\"varname\">ON_ERROR_STOP</code>\u3002\u6bcf\u4e2a\u67e5\u8be2\u7684\u6267\u884c\u90fd\u53d7 <code class=\"varname\">ECHO</code> \u5904\u7406\u7684\u5f71\u54cd\u3002\uff08\u901a\u5e38\uff0c\u5728\u4f7f\u7528<code class=\"command\">\\gexec</code> \u65f6\uff0c\u9002\u5b9c\u5c06 <code class=\"varname\">ECHO</code> \u8bbe\u4e3a <code class=\"literal\">all</code> \u6216 <code class=\"literal\">queries</code>\u3002\uff09\u67e5\u8be2\u65e5\u5fd7\u3001\u5355\u6b65\u6a21\u5f0f\u3001\u8ba1\u65f6\u53ca\u5176\u4ed6\u67e5\u8be2\u6267\u884c\u529f\u80fd\u4e5f\u9002\u7528\u4e8e\u6bcf\u4e2a\u751f\u6210\u7684\u67e5\u8be2\u3002\n        </p><p>\n         \u5982\u679c\u5f53\u524d\u67e5\u8be2\u7f13\u51b2\u533a\u4e3a\u7a7a\uff0c\u5219\u91cd\u65b0\u6267\u884c\u6700\u8fd1\u53d1\u9001\u7684\u67e5\u8be2\u3002\n        </p></dd>", "body_sha256": "fad4c1b7ae1eae79a6483f1677d7d1ddaae22f76348179091a25e27384c98f5a", "content_hash": "0f38f4e3cd8d6c396ccbfa598c9a359170bd048bc3586b8d729abac0e8b7cb89", "source_revision": "pgdoc:b9f0e7232f60f380d642ac9b99226606c254b552", "definition_version": "18", "documentation_release": "18.7"}, "modifiers": [], "signature": "\\gexec", "spellings": ["\\gexec"], "tables_zh": [{"key": "spellings", "rows": [{"command": {"url": "/wiki/psql/cmd-67-65-78-65-63/?v=18", "text": "\\gexec"}, "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": ["\u5c06\u5f53\u524d\u67e5\u8be2\u7f13\u51b2\u533a\u53d1\u9001\u5230\u670d\u52a1\u5668\uff0c\u7136\u540e\u5c06\u67e5\u8be2\u8f93\u51fa\u7684\u6bcf\u884c\u6bcf\u5217\u89c6\u4e3a\u8981\u6267\u884c\u7684 SQL \u8bed\u53e5\u3002\u4f8b\u5982\uff0c\u8981\u5728 my_table \u7684\u6bcf\u4e00\u5217\u4e0a\u521b\u5efa\u7d22\u5f15\uff1a"], "manual_html": "<dd><p>\n         \u5c06\u5f53\u524d\u67e5\u8be2\u7f13\u51b2\u533a\u53d1\u9001\u5230\u670d\u52a1\u5668\uff0c\u7136\u540e\u5c06\u67e5\u8be2\u8f93\u51fa\u7684\u6bcf\u884c\u6bcf\u5217\u89c6\u4e3a\u8981\u6267\u884c\u7684 SQL \u8bed\u53e5\u3002\u4f8b\u5982\uff0c\u8981\u5728 <code class=\"structname\">my_table</code> \u7684\u6bcf\u4e00\u5217\u4e0a\u521b\u5efa\u7d22\u5f15\uff1a\n</p><pre class=\"programlisting\">\n=&gt; <strong class=\"userinput\"><code>SELECT format('create index on my_table(%I)', attname)</code></strong>\n-&gt; <strong class=\"userinput\"><code>FROM pg_attribute</code></strong>\n-&gt; <strong class=\"userinput\"><code>WHERE attrelid = 'my_table'::regclass AND attnum &gt; 0</code></strong>\n-&gt; <strong class=\"userinput\"><code>ORDER BY attnum</code></strong>\n-&gt; <strong class=\"userinput\"><code>\\gexec</code></strong>\nCREATE INDEX\nCREATE INDEX\nCREATE INDEX\nCREATE INDEX\n</pre><p>\n</p><p>\n         \u751f\u6210\u7684\u67e5\u8be2\u6309\u7167\u8fd4\u56de\u884c\u7684\u987a\u5e8f\u6267\u884c\uff1b\u5982\u679c\u6709\u591a\u5217\uff0c\u5219\u5728\u6bcf\u884c\u5185\u4ece\u5de6\u5230\u53f3\u6267\u884c\u3002NULL \u5b57\u6bb5\u4f1a\u88ab\u5ffd\u7565\u3002\u751f\u6210\u7684\u67e5\u8be2\u6309\u539f\u6837\u53d1\u9001\u5230\u670d\u52a1\u5668\u8fdb\u884c\u5904\u7406\uff0c\u56e0\u6b64\u4e0d\u80fd\u662f <span class=\"application\">psql</span> \u5143\u547d\u4ee4\uff0c\u4e5f\u4e0d\u80fd\u5305\u542b <span class=\"application\">psql</span> \u53d8\u91cf\u5f15\u7528\u3002\u5982\u679c\u67d0\u4e2a\u67e5\u8be2\u5931\u8d25\uff0c\u4ecd\u4f1a\u7ee7\u7eed\u6267\u884c\u5176\u4f59\u67e5\u8be2\uff0c\u9664\u975e\u8bbe\u7f6e\u4e86 <code class=\"varname\">ON_ERROR_STOP</code>\u3002\u6bcf\u4e2a\u67e5\u8be2\u7684\u6267\u884c\u90fd\u53d7 <code class=\"varname\">ECHO</code> \u5904\u7406\u7684\u5f71\u54cd\u3002\uff08\u901a\u5e38\uff0c\u5728\u4f7f\u7528<code class=\"command\">\\gexec</code> \u65f6\uff0c\u9002\u5b9c\u5c06 <code class=\"varname\">ECHO</code> \u8bbe\u4e3a <code class=\"literal\">all</code> \u6216 <code class=\"literal\">queries</code>\u3002\uff09\u67e5\u8be2\u65e5\u5fd7\u3001\u5355\u6b65\u6a21\u5f0f\u3001\u8ba1\u65f6\u53ca\u5176\u4ed6\u67e5\u8be2\u6267\u884c\u529f\u80fd\u4e5f\u9002\u7528\u4e8e\u6bcf\u4e2a\u751f\u6210\u7684\u67e5\u8be2\u3002\n        </p><p>\n         \u5982\u679c\u5f53\u524d\u67e5\u8be2\u7f13\u51b2\u533a\u4e3a\u7a7a\uff0c\u5219\u91cd\u65b0\u6267\u884c\u6700\u8fd1\u53d1\u9001\u7684\u67e5\u8be2\u3002\n        </p></dd>", "manual_path": "app-psql.html#APP-PSQL-META-COMMAND-GEXEC", "sections_zh": [], "localization": {"status": "same-version-reviewed-manual", "language": "zh", "source_language": "en", "source_revision": "pgdoc:b9f0e7232f60f380d642ac9b99226606c254b552", "documentation_release": "18.7"}, "description_zh": "\u5c06\u5f53\u524d\u67e5\u8be2\u7f13\u51b2\u533a\u53d1\u9001\u5230\u670d\u52a1\u5668\uff0c\u7136\u540e\u5c06\u67e5\u8be2\u8f93\u51fa\u7684\u6bcf\u884c\u6bcf\u5217\u89c6\u4e3a\u8981\u6267\u884c\u7684 SQL \u8bed\u53e5\u3002\u4f8b\u5982\uff0c\u8981\u5728 my_table \u7684\u6bcf\u4e00\u5217\u4e0a\u521b\u5efa\u7d22\u5f15\uff1a", "comparison_data": {"modifiers": [], "signature": "\\gexec", "spellings": ["\\gexec"], "definition": "Sends the current query buffer to the server, then treats each column of each row of the query's output (if any) as an SQL statement to be executed. For example, to create an index on each column of my_table : => SELECT format('create index on my_table(%I)', attname) -> FROM pg_attribute -> WHERE attrelid = 'my_table'::regclass AND attnum > 0 -> ORDER BY attnum -> \\gexec CREATE INDEX CREATE INDEX CREATE INDEX CREATE INDEX The generated queries are executed in the order in which the rows are returned, and left-to-right within each row if there is more than one column. NULL fields are ignored. The generated queries are sent literally to the server for processing, so they cannot be psql meta-commands nor contain psql variable references. If any individual query fails, execution of the remaining queries continues unless ON_ERROR_STOP is set. Execution of each query is subject to ECHO processing. (Setting ECHO to all or queries is often advisable when using \\gexec .) Query logging, single-step mode, timing, and other query execution features apply to each generated query as well. If the current query buffer is empty, the most recently sent query is re-executed instead."}, "comparison_hash": "4df526f59b23b5fa24e30caba1236c2988d5db04c457b5b38354014b2b052ac6", "manual_language": "zh", "description_zh_html": "<dd><p>\n         \u5c06\u5f53\u524d\u67e5\u8be2\u7f13\u51b2\u533a\u53d1\u9001\u5230\u670d\u52a1\u5668\uff0c\u7136\u540e\u5c06\u67e5\u8be2\u8f93\u51fa\u7684\u6bcf\u884c\u6bcf\u5217\u89c6\u4e3a\u8981\u6267\u884c\u7684 SQL \u8bed\u53e5\u3002\u4f8b\u5982\uff0c\u8981\u5728 <code class=\"structname\">my_table</code> \u7684\u6bcf\u4e00\u5217\u4e0a\u521b\u5efa\u7d22\u5f15\uff1a\n</p><pre class=\"programlisting\">\n=&gt; <strong class=\"userinput\"><code>SELECT format('create index on my_table(%I)', attname)</code></strong>\n-&gt; <strong class=\"userinput\"><code>FROM pg_attribute</code></strong>\n-&gt; <strong class=\"userinput\"><code>WHERE attrelid = 'my_table'::regclass AND attnum &gt; 0</code></strong>\n-&gt; <strong class=\"userinput\"><code>ORDER BY attnum</code></strong>\n-&gt; <strong class=\"userinput\"><code>\\gexec</code></strong>\nCREATE INDEX\nCREATE INDEX\nCREATE INDEX\nCREATE INDEX\n</pre><p>\n</p><p>\n         \u751f\u6210\u7684\u67e5\u8be2\u6309\u7167\u8fd4\u56de\u884c\u7684\u987a\u5e8f\u6267\u884c\uff1b\u5982\u679c\u6709\u591a\u5217\uff0c\u5219\u5728\u6bcf\u884c\u5185\u4ece\u5de6\u5230\u53f3\u6267\u884c\u3002NULL \u5b57\u6bb5\u4f1a\u88ab\u5ffd\u7565\u3002\u751f\u6210\u7684\u67e5\u8be2\u6309\u539f\u6837\u53d1\u9001\u5230\u670d\u52a1\u5668\u8fdb\u884c\u5904\u7406\uff0c\u56e0\u6b64\u4e0d\u80fd\u662f <span class=\"application\">psql</span> \u5143\u547d\u4ee4\uff0c\u4e5f\u4e0d\u80fd\u5305\u542b <span class=\"application\">psql</span> \u53d8\u91cf\u5f15\u7528\u3002\u5982\u679c\u67d0\u4e2a\u67e5\u8be2\u5931\u8d25\uff0c\u4ecd\u4f1a\u7ee7\u7eed\u6267\u884c\u5176\u4f59\u67e5\u8be2\uff0c\u9664\u975e\u8bbe\u7f6e\u4e86 <code class=\"varname\">ON_ERROR_STOP</code>\u3002\u6bcf\u4e2a\u67e5\u8be2\u7684\u6267\u884c\u90fd\u53d7 <code class=\"varname\">ECHO</code> \u5904\u7406\u7684\u5f71\u54cd\u3002\uff08\u901a\u5e38\uff0c\u5728\u4f7f\u7528<code class=\"command\">\\gexec</code> \u65f6\uff0c\u9002\u5b9c\u5c06 <code class=\"varname\">ECHO</code> \u8bbe\u4e3a <code class=\"literal\">all</code> \u6216 <code class=\"literal\">queries</code>\u3002\uff09\u67e5\u8be2\u65e5\u5fd7\u3001\u5355\u6b65\u6a21\u5f0f\u3001\u8ba1\u65f6\u53ca\u5176\u4ed6\u67e5\u8be2\u6267\u884c\u529f\u80fd\u4e5f\u9002\u7528\u4e8e\u6bcf\u4e2a\u751f\u6210\u7684\u67e5\u8be2\u3002\n        </p><p>\n         \u5982\u679c\u5f53\u524d\u67e5\u8be2\u7f13\u51b2\u533a\u4e3a\u7a7a\uff0c\u5219\u91cd\u65b0\u6267\u884c\u6700\u8fd1\u53d1\u9001\u7684\u67e5\u8be2\u3002\n        </p></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         \u5c06\u5f53\u524d\u67e5\u8be2\u7f13\u51b2\u533a\u53d1\u9001\u5230\u670d\u52a1\u5668\uff0c\u7136\u540e\u5c06\u67e5\u8be2\u8f93\u51fa\u7684\u6bcf\u884c\u6bcf\u5217\u89c6\u4e3a\u8981\u6267\u884c\u7684 SQL \u8bed\u53e5\u3002\u4f8b\u5982\uff0c\u8981\u5728 <code class=\"structname\">my_table</code> \u7684\u6bcf\u4e00\u5217\u4e0a\u521b\u5efa\u7d22\u5f15\uff1a\n</p><pre class=\"programlisting\">=&gt; <strong class=\"userinput\"><code>SELECT format('create index on my_table(%I)', attname)</code></strong>\n-&gt; <strong class=\"userinput\"><code>FROM pg_attribute</code></strong>\n-&gt; <strong class=\"userinput\"><code>WHERE attrelid = 'my_table'::regclass AND attnum &gt; 0</code></strong>\n-&gt; <strong class=\"userinput\"><code>ORDER BY attnum</code></strong>\n-&gt; <strong class=\"userinput\"><code>\\gexec</code></strong>\nCREATE INDEX\nCREATE INDEX\nCREATE INDEX\nCREATE INDEX\n</pre><p>\n</p><p>\n         \u751f\u6210\u7684\u67e5\u8be2\u6309\u7167\u8fd4\u56de\u884c\u7684\u987a\u5e8f\u6267\u884c\uff1b\u5982\u679c\u6709\u591a\u5217\uff0c\u5219\u5728\u6bcf\u884c\u5185\u4ece\u5de6\u5230\u53f3\u6267\u884c\u3002NULL \u5b57\u6bb5\u4f1a\u88ab\u5ffd\u7565\u3002\u751f\u6210\u7684\u67e5\u8be2\u6309\u539f\u6837\u53d1\u9001\u5230\u670d\u52a1\u5668\u8fdb\u884c\u5904\u7406\uff0c\u56e0\u6b64\u4e0d\u80fd\u662f <span class=\"application\">psql</span> \u5143\u547d\u4ee4\uff0c\u4e5f\u4e0d\u80fd\u5305\u542b <span class=\"application\">psql</span> \u53d8\u91cf\u5f15\u7528\u3002\u5982\u679c\u67d0\u4e2a\u67e5\u8be2\u5931\u8d25\uff0c\u4ecd\u4f1a\u7ee7\u7eed\u6267\u884c\u5176\u4f59\u67e5\u8be2\uff0c\u9664\u975e\u8bbe\u7f6e\u4e86 <code class=\"varname\">ON_ERROR_STOP</code>\u3002\u6bcf\u4e2a\u67e5\u8be2\u7684\u6267\u884c\u90fd\u53d7 <code class=\"varname\">ECHO</code> \u5904\u7406\u7684\u5f71\u54cd\u3002\uff08\u901a\u5e38\uff0c\u5728\u4f7f\u7528<code class=\"command\">\\gexec</code> \u65f6\uff0c\u9002\u5b9c\u5c06 <code class=\"varname\">ECHO</code> \u8bbe\u4e3a <code class=\"literal\">all</code> \u6216 <code class=\"literal\">queries</code>\u3002\uff09\u67e5\u8be2\u65e5\u5fd7\u3001\u5355\u6b65\u6a21\u5f0f\u3001\u8ba1\u65f6\u53ca\u5176\u4ed6\u67e5\u8be2\u6267\u884c\u529f\u80fd\u4e5f\u9002\u7528\u4e8e\u6bcf\u4e2a\u751f\u6210\u7684\u67e5\u8be2\u3002\n        </p><p>\n         \u5982\u679c\u5f53\u524d\u67e5\u8be2\u7f13\u51b2\u533a\u4e3a\u7a7a\uff0c\u5219\u91cd\u65b0\u6267\u884c\u6700\u8fd1\u53d1\u9001\u7684\u67e5\u8be2\u3002\n        </p></dd></dl>"}, "19": {"lang": "zh", "facts": [{"label": "\u5ba2\u6237\u7aef", "value": "psql 19rc2"}, {"label": "\u533a\u5206\u5927\u5c0f\u5199\u7684\u5199\u6cd5", "value": "\\gexec"}], "tables": [{"key": "spellings", "rows": [{"command": {"url": "/wiki/psql/cmd-67-65-78-65-63/?v=19", "text": "\\gexec"}, "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": "\\gexec", "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-GEXEC", "file": "app-psql.html", "label": "19rc2 English manual \u00b7 app-psql.html", "anchor": "APP-PSQL-META-COMMAND-GEXEC", "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": "\\gexec"}], "sections": [], "center_zh": {"locale": "zh-Hans", "payload": {"description_zh": "\u5c06\u5f53\u524d\u67e5\u8be2\u7f13\u51b2\u533a\u53d1\u9001\u5230\u670d\u52a1\u5668\uff0c\u7136\u540e\u5c06\u67e5\u8be2\u8f93\u51fa\u7684\u6bcf\u884c\u6bcf\u5217\u89c6\u4e3a\u8981\u6267\u884c\u7684 SQL \u8bed\u53e5\u3002\u4f8b\u5982\uff0c\u8981\u5728 my_table \u7684\u6bcf\u4e00\u5217\u4e0a\u521b\u5efa\u7d22\u5f15\uff1a", "description_zh_html": "<dd><p>\n         \u5c06\u5f53\u524d\u67e5\u8be2\u7f13\u51b2\u533a\u53d1\u9001\u5230\u670d\u52a1\u5668\uff0c\u7136\u540e\u5c06\u67e5\u8be2\u8f93\u51fa\u7684\u6bcf\u884c\u6bcf\u5217\u89c6\u4e3a\u8981\u6267\u884c\u7684 SQL \u8bed\u53e5\u3002\u4f8b\u5982\uff0c\u8981\u5728 <code class=\"structname\">my_table</code> \u7684\u6bcf\u4e00\u5217\u4e0a\u521b\u5efa\u7d22\u5f15\uff1a\n</p><pre class=\"programlisting\">\n=&gt; <strong class=\"userinput\"><code>SELECT format('CREATE INDEX ON my_table (%I)', attname)</code></strong>\n-&gt; <strong class=\"userinput\"><code>FROM pg_attribute</code></strong>\n-&gt; <strong class=\"userinput\"><code>WHERE attrelid = 'my_table'::regclass AND attnum &gt; 0</code></strong>\n-&gt; <strong class=\"userinput\"><code>ORDER BY attnum</code></strong>\n-&gt; <strong class=\"userinput\"><code>\\gexec</code></strong>\nCREATE INDEX\nCREATE INDEX\nCREATE INDEX\nCREATE INDEX\n</pre><p>\n</p><p>\n         \u751f\u6210\u7684\u67e5\u8be2\u6309\u7167\u8fd4\u56de\u884c\u7684\u987a\u5e8f\u6267\u884c\uff1b\u5982\u679c\u6709\u591a\u5217\uff0c\u5219\u5728\u6bcf\u884c\u5185\u4ece\u5de6\u5230\u53f3\u6267\u884c\u3002NULL \u5b57\u6bb5\u4f1a\u88ab\u5ffd\u7565\u3002\u751f\u6210\u7684\u67e5\u8be2\u6309\u539f\u6837\u53d1\u9001\u5230\u670d\u52a1\u5668\u8fdb\u884c\u5904\u7406\uff0c\u56e0\u6b64\u4e0d\u80fd\u662f <span class=\"application\">psql</span> \u5143\u547d\u4ee4\uff0c\u4e5f\u4e0d\u80fd\u5305\u542b <span class=\"application\">psql</span> \u53d8\u91cf\u5f15\u7528\u3002\u5982\u679c\u67d0\u4e2a\u67e5\u8be2\u5931\u8d25\uff0c\u4ecd\u4f1a\u7ee7\u7eed\u6267\u884c\u5176\u4f59\u67e5\u8be2\uff0c\u9664\u975e\u8bbe\u7f6e\u4e86 <code class=\"varname\">ON_ERROR_STOP</code>\u3002\u6bcf\u4e2a\u67e5\u8be2\u7684\u6267\u884c\u90fd\u53d7 <code class=\"varname\">ECHO</code> \u5904\u7406\u7684\u5f71\u54cd\u3002\uff08\u901a\u5e38\uff0c\u5728\u4f7f\u7528<code class=\"command\">\\gexec</code> \u65f6\uff0c\u9002\u5b9c\u5c06 <code class=\"varname\">ECHO</code> \u8bbe\u4e3a <code class=\"literal\">all</code> \u6216 <code class=\"literal\">queries</code>\u3002\uff09\u67e5\u8be2\u65e5\u5fd7\u3001\u5355\u6b65\u6a21\u5f0f\u3001\u8ba1\u65f6\u53ca\u5176\u4ed6\u67e5\u8be2\u6267\u884c\u529f\u80fd\u4e5f\u9002\u7528\u4e8e\u6bcf\u4e2a\u751f\u6210\u7684\u67e5\u8be2\u3002\n        </p><p>\n         \u5982\u679c\u5f53\u524d\u67e5\u8be2\u7f13\u51b2\u533a\u4e3a\u7a7a\uff0c\u5219\u91cd\u65b0\u6267\u884c\u6700\u8fd1\u53d1\u9001\u7684\u67e5\u8be2\u3002\n        </p></dd>"}, "summary": "\u5c06\u5f53\u524d\u67e5\u8be2\u7f13\u51b2\u533a\u53d1\u9001\u5230\u670d\u52a1\u5668\uff0c\u7136\u540e\u5c06\u67e5\u8be2\u8f93\u51fa\u7684\u6bcf\u884c\u6bcf\u5217\u89c6\u4e3a\u8981\u6267\u884c\u7684 SQL \u8bed\u53e5\u3002\u4f8b\u5982\uff0c\u8981\u5728 my_table \u7684\u6bcf\u4e00\u5217\u4e0a\u521b\u5efa\u7d22\u5f15\uff1a", "body_html": "<dd><p>\n         \u5c06\u5f53\u524d\u67e5\u8be2\u7f13\u51b2\u533a\u53d1\u9001\u5230\u670d\u52a1\u5668\uff0c\u7136\u540e\u5c06\u67e5\u8be2\u8f93\u51fa\u7684\u6bcf\u884c\u6bcf\u5217\u89c6\u4e3a\u8981\u6267\u884c\u7684 SQL \u8bed\u53e5\u3002\u4f8b\u5982\uff0c\u8981\u5728 <code class=\"structname\">my_table</code> \u7684\u6bcf\u4e00\u5217\u4e0a\u521b\u5efa\u7d22\u5f15\uff1a\n</p><pre class=\"programlisting\">\n=&gt; <strong class=\"userinput\"><code>SELECT format('CREATE INDEX ON my_table (%I)', attname)</code></strong>\n-&gt; <strong class=\"userinput\"><code>FROM pg_attribute</code></strong>\n-&gt; <strong class=\"userinput\"><code>WHERE attrelid = 'my_table'::regclass AND attnum &gt; 0</code></strong>\n-&gt; <strong class=\"userinput\"><code>ORDER BY attnum</code></strong>\n-&gt; <strong class=\"userinput\"><code>\\gexec</code></strong>\nCREATE INDEX\nCREATE INDEX\nCREATE INDEX\nCREATE INDEX\n</pre><p>\n</p><p>\n         \u751f\u6210\u7684\u67e5\u8be2\u6309\u7167\u8fd4\u56de\u884c\u7684\u987a\u5e8f\u6267\u884c\uff1b\u5982\u679c\u6709\u591a\u5217\uff0c\u5219\u5728\u6bcf\u884c\u5185\u4ece\u5de6\u5230\u53f3\u6267\u884c\u3002NULL \u5b57\u6bb5\u4f1a\u88ab\u5ffd\u7565\u3002\u751f\u6210\u7684\u67e5\u8be2\u6309\u539f\u6837\u53d1\u9001\u5230\u670d\u52a1\u5668\u8fdb\u884c\u5904\u7406\uff0c\u56e0\u6b64\u4e0d\u80fd\u662f <span class=\"application\">psql</span> \u5143\u547d\u4ee4\uff0c\u4e5f\u4e0d\u80fd\u5305\u542b <span class=\"application\">psql</span> \u53d8\u91cf\u5f15\u7528\u3002\u5982\u679c\u67d0\u4e2a\u67e5\u8be2\u5931\u8d25\uff0c\u4ecd\u4f1a\u7ee7\u7eed\u6267\u884c\u5176\u4f59\u67e5\u8be2\uff0c\u9664\u975e\u8bbe\u7f6e\u4e86 <code class=\"varname\">ON_ERROR_STOP</code>\u3002\u6bcf\u4e2a\u67e5\u8be2\u7684\u6267\u884c\u90fd\u53d7 <code class=\"varname\">ECHO</code> \u5904\u7406\u7684\u5f71\u54cd\u3002\uff08\u901a\u5e38\uff0c\u5728\u4f7f\u7528<code class=\"command\">\\gexec</code> \u65f6\uff0c\u9002\u5b9c\u5c06 <code class=\"varname\">ECHO</code> \u8bbe\u4e3a <code class=\"literal\">all</code> \u6216 <code class=\"literal\">queries</code>\u3002\uff09\u67e5\u8be2\u65e5\u5fd7\u3001\u5355\u6b65\u6a21\u5f0f\u3001\u8ba1\u65f6\u53ca\u5176\u4ed6\u67e5\u8be2\u6267\u884c\u529f\u80fd\u4e5f\u9002\u7528\u4e8e\u6bcf\u4e2a\u751f\u6210\u7684\u67e5\u8be2\u3002\n        </p><p>\n         \u5982\u679c\u5f53\u524d\u67e5\u8be2\u7f13\u51b2\u533a\u4e3a\u7a7a\uff0c\u5219\u91cd\u65b0\u6267\u884c\u6700\u8fd1\u53d1\u9001\u7684\u67e5\u8be2\u3002\n        </p></dd>", "body_sha256": "4c748968ffbc81b2f6d1b703650d45dcd7e1476b567e59b3ea0409f0daa807ea", "content_hash": "12d4a0f624388417cf9d953074872f25dc3eabd46da6f956ebd96d92b832fd1b", "source_revision": "pgdoc:b9f0e7232f60f380d642ac9b99226606c254b552", "definition_version": "19", "documentation_release": "19rc2"}, "modifiers": [], "signature": "\\gexec", "spellings": ["\\gexec"], "tables_zh": [{"key": "spellings", "rows": [{"command": {"url": "/wiki/psql/cmd-67-65-78-65-63/?v=19", "text": "\\gexec"}, "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": ["\u5c06\u5f53\u524d\u67e5\u8be2\u7f13\u51b2\u533a\u53d1\u9001\u5230\u670d\u52a1\u5668\uff0c\u7136\u540e\u5c06\u67e5\u8be2\u8f93\u51fa\u7684\u6bcf\u884c\u6bcf\u5217\u89c6\u4e3a\u8981\u6267\u884c\u7684 SQL \u8bed\u53e5\u3002\u4f8b\u5982\uff0c\u8981\u5728 my_table \u7684\u6bcf\u4e00\u5217\u4e0a\u521b\u5efa\u7d22\u5f15\uff1a"], "manual_html": "<dd><p>\n         \u5c06\u5f53\u524d\u67e5\u8be2\u7f13\u51b2\u533a\u53d1\u9001\u5230\u670d\u52a1\u5668\uff0c\u7136\u540e\u5c06\u67e5\u8be2\u8f93\u51fa\u7684\u6bcf\u884c\u6bcf\u5217\u89c6\u4e3a\u8981\u6267\u884c\u7684 SQL \u8bed\u53e5\u3002\u4f8b\u5982\uff0c\u8981\u5728 <code class=\"structname\">my_table</code> \u7684\u6bcf\u4e00\u5217\u4e0a\u521b\u5efa\u7d22\u5f15\uff1a\n</p><pre class=\"programlisting\">\n=&gt; <strong class=\"userinput\"><code>SELECT format('CREATE INDEX ON my_table (%I)', attname)</code></strong>\n-&gt; <strong class=\"userinput\"><code>FROM pg_attribute</code></strong>\n-&gt; <strong class=\"userinput\"><code>WHERE attrelid = 'my_table'::regclass AND attnum &gt; 0</code></strong>\n-&gt; <strong class=\"userinput\"><code>ORDER BY attnum</code></strong>\n-&gt; <strong class=\"userinput\"><code>\\gexec</code></strong>\nCREATE INDEX\nCREATE INDEX\nCREATE INDEX\nCREATE INDEX\n</pre><p>\n</p><p>\n         \u751f\u6210\u7684\u67e5\u8be2\u6309\u7167\u8fd4\u56de\u884c\u7684\u987a\u5e8f\u6267\u884c\uff1b\u5982\u679c\u6709\u591a\u5217\uff0c\u5219\u5728\u6bcf\u884c\u5185\u4ece\u5de6\u5230\u53f3\u6267\u884c\u3002NULL \u5b57\u6bb5\u4f1a\u88ab\u5ffd\u7565\u3002\u751f\u6210\u7684\u67e5\u8be2\u6309\u539f\u6837\u53d1\u9001\u5230\u670d\u52a1\u5668\u8fdb\u884c\u5904\u7406\uff0c\u56e0\u6b64\u4e0d\u80fd\u662f <span class=\"application\">psql</span> \u5143\u547d\u4ee4\uff0c\u4e5f\u4e0d\u80fd\u5305\u542b <span class=\"application\">psql</span> \u53d8\u91cf\u5f15\u7528\u3002\u5982\u679c\u67d0\u4e2a\u67e5\u8be2\u5931\u8d25\uff0c\u4ecd\u4f1a\u7ee7\u7eed\u6267\u884c\u5176\u4f59\u67e5\u8be2\uff0c\u9664\u975e\u8bbe\u7f6e\u4e86 <code class=\"varname\">ON_ERROR_STOP</code>\u3002\u6bcf\u4e2a\u67e5\u8be2\u7684\u6267\u884c\u90fd\u53d7 <code class=\"varname\">ECHO</code> \u5904\u7406\u7684\u5f71\u54cd\u3002\uff08\u901a\u5e38\uff0c\u5728\u4f7f\u7528<code class=\"command\">\\gexec</code> \u65f6\uff0c\u9002\u5b9c\u5c06 <code class=\"varname\">ECHO</code> \u8bbe\u4e3a <code class=\"literal\">all</code> \u6216 <code class=\"literal\">queries</code>\u3002\uff09\u67e5\u8be2\u65e5\u5fd7\u3001\u5355\u6b65\u6a21\u5f0f\u3001\u8ba1\u65f6\u53ca\u5176\u4ed6\u67e5\u8be2\u6267\u884c\u529f\u80fd\u4e5f\u9002\u7528\u4e8e\u6bcf\u4e2a\u751f\u6210\u7684\u67e5\u8be2\u3002\n        </p><p>\n         \u5982\u679c\u5f53\u524d\u67e5\u8be2\u7f13\u51b2\u533a\u4e3a\u7a7a\uff0c\u5219\u91cd\u65b0\u6267\u884c\u6700\u8fd1\u53d1\u9001\u7684\u67e5\u8be2\u3002\n        </p></dd>", "manual_path": "app-psql.html#APP-PSQL-META-COMMAND-GEXEC", "sections_zh": [], "localization": {"status": "same-version-reviewed-manual", "language": "zh", "source_language": "en", "source_revision": "pgdoc:b9f0e7232f60f380d642ac9b99226606c254b552", "documentation_release": "19rc2"}, "description_zh": "\u5c06\u5f53\u524d\u67e5\u8be2\u7f13\u51b2\u533a\u53d1\u9001\u5230\u670d\u52a1\u5668\uff0c\u7136\u540e\u5c06\u67e5\u8be2\u8f93\u51fa\u7684\u6bcf\u884c\u6bcf\u5217\u89c6\u4e3a\u8981\u6267\u884c\u7684 SQL \u8bed\u53e5\u3002\u4f8b\u5982\uff0c\u8981\u5728 my_table \u7684\u6bcf\u4e00\u5217\u4e0a\u521b\u5efa\u7d22\u5f15\uff1a", "comparison_data": {"modifiers": [], "signature": "\\gexec", "spellings": ["\\gexec"], "definition": "Sends the current query buffer to the server, then treats each column of each row of the query's output (if any) as an SQL statement to be executed. For example, to create an index on each column of my_table : => SELECT format('CREATE INDEX ON my_table (%I)', attname) -> FROM pg_attribute -> WHERE attrelid = 'my_table'::regclass AND attnum > 0 -> ORDER BY attnum -> \\gexec CREATE INDEX CREATE INDEX CREATE INDEX CREATE INDEX The generated queries are executed in the order in which the rows are returned, and left-to-right within each row if there is more than one column. NULL fields are ignored. The generated queries are sent literally to the server for processing, so they cannot be psql meta-commands nor contain psql variable references. If any individual query fails, execution of the remaining queries continues unless ON_ERROR_STOP is set. Execution of each query is subject to ECHO processing. (Setting ECHO to all or queries is often advisable when using \\gexec .) Query logging, single-step mode, timing, and other query execution features apply to each generated query as well. If the current query buffer is empty, the most recently sent query is re-executed instead."}, "comparison_hash": "1b5caf460acb0f383045c2b5d79324acf3663e954932a80f18f8b81df72f397d", "manual_language": "zh", "description_zh_html": "<dd><p>\n         \u5c06\u5f53\u524d\u67e5\u8be2\u7f13\u51b2\u533a\u53d1\u9001\u5230\u670d\u52a1\u5668\uff0c\u7136\u540e\u5c06\u67e5\u8be2\u8f93\u51fa\u7684\u6bcf\u884c\u6bcf\u5217\u89c6\u4e3a\u8981\u6267\u884c\u7684 SQL \u8bed\u53e5\u3002\u4f8b\u5982\uff0c\u8981\u5728 <code class=\"structname\">my_table</code> \u7684\u6bcf\u4e00\u5217\u4e0a\u521b\u5efa\u7d22\u5f15\uff1a\n</p><pre class=\"programlisting\">\n=&gt; <strong class=\"userinput\"><code>SELECT format('CREATE INDEX ON my_table (%I)', attname)</code></strong>\n-&gt; <strong class=\"userinput\"><code>FROM pg_attribute</code></strong>\n-&gt; <strong class=\"userinput\"><code>WHERE attrelid = 'my_table'::regclass AND attnum &gt; 0</code></strong>\n-&gt; <strong class=\"userinput\"><code>ORDER BY attnum</code></strong>\n-&gt; <strong class=\"userinput\"><code>\\gexec</code></strong>\nCREATE INDEX\nCREATE INDEX\nCREATE INDEX\nCREATE INDEX\n</pre><p>\n</p><p>\n         \u751f\u6210\u7684\u67e5\u8be2\u6309\u7167\u8fd4\u56de\u884c\u7684\u987a\u5e8f\u6267\u884c\uff1b\u5982\u679c\u6709\u591a\u5217\uff0c\u5219\u5728\u6bcf\u884c\u5185\u4ece\u5de6\u5230\u53f3\u6267\u884c\u3002NULL \u5b57\u6bb5\u4f1a\u88ab\u5ffd\u7565\u3002\u751f\u6210\u7684\u67e5\u8be2\u6309\u539f\u6837\u53d1\u9001\u5230\u670d\u52a1\u5668\u8fdb\u884c\u5904\u7406\uff0c\u56e0\u6b64\u4e0d\u80fd\u662f <span class=\"application\">psql</span> \u5143\u547d\u4ee4\uff0c\u4e5f\u4e0d\u80fd\u5305\u542b <span class=\"application\">psql</span> \u53d8\u91cf\u5f15\u7528\u3002\u5982\u679c\u67d0\u4e2a\u67e5\u8be2\u5931\u8d25\uff0c\u4ecd\u4f1a\u7ee7\u7eed\u6267\u884c\u5176\u4f59\u67e5\u8be2\uff0c\u9664\u975e\u8bbe\u7f6e\u4e86 <code class=\"varname\">ON_ERROR_STOP</code>\u3002\u6bcf\u4e2a\u67e5\u8be2\u7684\u6267\u884c\u90fd\u53d7 <code class=\"varname\">ECHO</code> \u5904\u7406\u7684\u5f71\u54cd\u3002\uff08\u901a\u5e38\uff0c\u5728\u4f7f\u7528<code class=\"command\">\\gexec</code> \u65f6\uff0c\u9002\u5b9c\u5c06 <code class=\"varname\">ECHO</code> \u8bbe\u4e3a <code class=\"literal\">all</code> \u6216 <code class=\"literal\">queries</code>\u3002\uff09\u67e5\u8be2\u65e5\u5fd7\u3001\u5355\u6b65\u6a21\u5f0f\u3001\u8ba1\u65f6\u53ca\u5176\u4ed6\u67e5\u8be2\u6267\u884c\u529f\u80fd\u4e5f\u9002\u7528\u4e8e\u6bcf\u4e2a\u751f\u6210\u7684\u67e5\u8be2\u3002\n        </p><p>\n         \u5982\u679c\u5f53\u524d\u67e5\u8be2\u7f13\u51b2\u533a\u4e3a\u7a7a\uff0c\u5219\u91cd\u65b0\u6267\u884c\u6700\u8fd1\u53d1\u9001\u7684\u67e5\u8be2\u3002\n        </p></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": "\\gexec"}], "tables": [{"key": "spellings", "rows": [{"command": {"url": "/wiki/psql/cmd-67-65-78-65-63/?v=20", "text": "\\gexec"}, "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": "\\gexec", "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-GEXEC", "file": "app-psql.html", "label": "20devel English manual \u00b7 app-psql.html", "anchor": "APP-PSQL-META-COMMAND-GEXEC", "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-GEXEC", "anchor": "APP-PSQL-META-COMMAND-GEXEC", "locale": "zh-Hans", "version": "20", "build_id": 111, "page_key": "app-psql.html", "extraction": "exact-definition", "source_hash": "98935f3e8a333e7201e42b7315bb9e09d62e0711037964568c16bd22ae183680", "fragment_sha256": "249a81cc6e298b230580fe62ade23ce086fba5df1fedce049f94c459585f014f", "source_revision": "sha256:49c73aa4c9cacef8ca979276a28ac416c08e9e54c9baee4ae5fd116a35fa13ac", "translation_revision": "git:b1b500221dbe5437cfca004d6b04d3f6e422765d;html-sha256:98c980963b401d40bd50df72b909e7523e3148b8fdb48edd897de2efb67e5235", "translated_from_revision": "sha256:49c73aa4c9cacef8ca979276a28ac416c08e9e54c9baee4ae5fd116a35fa13ac"}, "body_sha256": "b532278fd48969ecec80e0e2d38ec60d4df69b385d00998d73752368156adc5f", "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": "\\gexec"}], "sections": [], "center_zh": {"title": "\\gexec", "locale": "zh-Hans", "source": {"key": "cmd-67-65-78-65-63", "locale": "zh-Hans", "version": "20", "text_hash": "2713ffa37a961e83a5e994d405a4e03e79ea8ac5bdeb614ddae080f4ad8ab26e", "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": "\\gexec"}], "tables": [{"key": "spellings", "rows": [{"command": {"url": "/wiki/psql/cmd-67-65-78-65-63/?v=20", "text": "\\gexec"}, "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-GEXEC", "anchor": "APP-PSQL-META-COMMAND-GEXEC", "locale": "zh-Hans", "version": "20", "build_id": 111, "page_key": "app-psql.html", "extraction": "exact-definition", "source_hash": "98935f3e8a333e7201e42b7315bb9e09d62e0711037964568c16bd22ae183680", "fragment_sha256": "249a81cc6e298b230580fe62ade23ce086fba5df1fedce049f94c459585f014f", "source_revision": "sha256:49c73aa4c9cacef8ca979276a28ac416c08e9e54c9baee4ae5fd116a35fa13ac", "translation_revision": "git:b1b500221dbe5437cfca004d6b04d3f6e422765d;html-sha256:98c980963b401d40bd50df72b909e7523e3148b8fdb48edd897de2efb67e5235", "translated_from_revision": "sha256:49c73aa4c9cacef8ca979276a28ac416c08e9e54c9baee4ae5fd116a35fa13ac"}, "body_sha256": "b532278fd48969ecec80e0e2d38ec60d4df69b385d00998d73752368156adc5f", "runtime_rerun": false, "authored_translation": "source-derived-identity", "source_facts_revision": "3cd0885bb4eccdbaac1a21177cc639e9031e54bd8ea6536c45224b5563354ce2"}, "sections": [], "description_zh": "\u5c06\u5f53\u524d\u67e5\u8be2\u7f13\u51b2\u533a\u53d1\u9001\u5230\u670d\u52a1\u5668\uff0c\u7136\u540e\u5c06\u67e5\u8be2\u8f93\u51fa\u7684\u6bcf\u884c\u6bcf\u5217\u89c6\u4e3a\u8981\u6267\u884c\u7684 SQL \u8bed\u53e5\u3002\u4f8b\u5982\uff0c\u8981\u5728 my_table \u7684\u6bcf\u4e00\u5217\u4e0a\u521b\u5efa\u7d22\u5f15\uff1a => SELECT format('CREATE INDEX ON my_table (%I)', attname) -> FROM pg_attribute -> WHERE attrelid = 'my_table'::regclass AND attnum > 0 -> ORDER BY attnum -> \\gexec CREATE INDEX CREATE INDEX CREATE INDEX CREATE INDEX \u751f\u6210\u7684\u67e5\u8be2\u6309\u7167\u8fd4\u56de\u884c\u7684\u987a\u5e8f\u6267\u884c\uff1b\u5982\u679c\u6709\u591a\u5217\uff0c\u5219\u5728\u6bcf\u884c\u5185\u4ece\u5de6\u5230\u53f3\u6267\u884c\u3002NULL \u5b57\u6bb5\u4f1a\u88ab\u5ffd\u7565\u3002\u751f\u6210\u7684\u67e5\u8be2\u6309\u539f\u6837\u53d1\u9001\u5230\u670d\u52a1\u5668\u8fdb\u884c\u5904\u7406\uff0c\u56e0\u6b64\u4e0d\u80fd\u662f psql \u5143\u547d\u4ee4\uff0c\u4e5f\u4e0d\u80fd\u5305\u542b psql \u53d8\u91cf\u5f15\u7528\u3002\u5982\u679c\u67d0\u4e2a\u67e5\u8be2\u5931\u8d25\uff0c\u4ecd\u4f1a\u7ee7\u7eed\u6267\u884c\u5176\u4f59\u67e5\u8be2\uff0c\u9664\u975e\u8bbe\u7f6e\u4e86 ON_ERROR_STOP \u3002\u6bcf\u4e2a\u67e5\u8be2\u7684\u6267\u884c\u90fd\u53d7 ECHO \u5904\u7406\u7684\u5f71\u54cd\u3002\uff08\u901a\u5e38\uff0c\u5728\u4f7f\u7528 \\gexec \u65f6\uff0c\u9002\u5b9c\u5c06 ECHO \u8bbe\u4e3a all \u6216 queries \u3002\uff09\u67e5\u8be2\u65e5\u5fd7\u3001\u5355\u6b65\u6a21\u5f0f\u3001\u8ba1\u65f6\u53ca\u5176\u4ed6\u67e5\u8be2\u6267\u884c\u529f\u80fd\u4e5f\u9002\u7528\u4e8e\u6bcf\u4e2a\u751f\u6210\u7684\u67e5\u8be2\u3002 \u5982\u679c\u5f53\u524d\u67e5\u8be2\u7f13\u51b2\u533a\u4e3a\u7a7a\uff0c\u5219\u91cd\u65b0\u6267\u884c\u6700\u8fd1\u53d1\u9001\u7684\u67e5\u8be2\u3002", "description_zh_html": "<p>psql \u547d\u4ee4 \\gexec\u3002</p><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u5b9a\u4e49</h3><dd><p>\n         \u5c06\u5f53\u524d\u67e5\u8be2\u7f13\u51b2\u533a\u53d1\u9001\u5230\u670d\u52a1\u5668\uff0c\u7136\u540e\u5c06\u67e5\u8be2\u8f93\u51fa\u7684\u6bcf\u884c\u6bcf\u5217\u89c6\u4e3a\u8981\u6267\u884c\u7684 SQL \u8bed\u53e5\u3002\u4f8b\u5982\uff0c\u8981\u5728 <code class=\"structname\">my_table</code> \u7684\u6bcf\u4e00\u5217\u4e0a\u521b\u5efa\u7d22\u5f15\uff1a\n</p><pre class=\"programlisting\">=&gt; <strong class=\"userinput\"><code>SELECT format('CREATE INDEX ON my_table (%I)', attname)</code></strong>\n-&gt; <strong class=\"userinput\"><code>FROM pg_attribute</code></strong>\n-&gt; <strong class=\"userinput\"><code>WHERE attrelid = 'my_table'::regclass AND attnum &gt; 0</code></strong>\n-&gt; <strong class=\"userinput\"><code>ORDER BY attnum</code></strong>\n-&gt; <strong class=\"userinput\"><code>\\gexec</code></strong>\nCREATE INDEX\nCREATE INDEX\nCREATE INDEX\nCREATE INDEX\n</pre><p>\n</p><p>\n         \u751f\u6210\u7684\u67e5\u8be2\u6309\u7167\u8fd4\u56de\u884c\u7684\u987a\u5e8f\u6267\u884c\uff1b\u5982\u679c\u6709\u591a\u5217\uff0c\u5219\u5728\u6bcf\u884c\u5185\u4ece\u5de6\u5230\u53f3\u6267\u884c\u3002NULL \u5b57\u6bb5\u4f1a\u88ab\u5ffd\u7565\u3002\u751f\u6210\u7684\u67e5\u8be2\u6309\u539f\u6837\u53d1\u9001\u5230\u670d\u52a1\u5668\u8fdb\u884c\u5904\u7406\uff0c\u56e0\u6b64\u4e0d\u80fd\u662f <span class=\"application\">psql</span> \u5143\u547d\u4ee4\uff0c\u4e5f\u4e0d\u80fd\u5305\u542b <span class=\"application\">psql</span> \u53d8\u91cf\u5f15\u7528\u3002\u5982\u679c\u67d0\u4e2a\u67e5\u8be2\u5931\u8d25\uff0c\u4ecd\u4f1a\u7ee7\u7eed\u6267\u884c\u5176\u4f59\u67e5\u8be2\uff0c\u9664\u975e\u8bbe\u7f6e\u4e86 <code class=\"varname\">ON_ERROR_STOP</code>\u3002\u6bcf\u4e2a\u67e5\u8be2\u7684\u6267\u884c\u90fd\u53d7 <code class=\"varname\">ECHO</code> \u5904\u7406\u7684\u5f71\u54cd\u3002\uff08\u901a\u5e38\uff0c\u5728\u4f7f\u7528<code class=\"command\">\\gexec</code> \u65f6\uff0c\u9002\u5b9c\u5c06 <code class=\"varname\">ECHO</code> \u8bbe\u4e3a <code class=\"literal\">all</code> \u6216 <code class=\"literal\">queries</code>\u3002\uff09\u67e5\u8be2\u65e5\u5fd7\u3001\u5355\u6b65\u6a21\u5f0f\u3001\u8ba1\u65f6\u53ca\u5176\u4ed6\u67e5\u8be2\u6267\u884c\u529f\u80fd\u4e5f\u9002\u7528\u4e8e\u6bcf\u4e2a\u751f\u6210\u7684\u67e5\u8be2\u3002\n        </p><p>\n         \u5982\u679c\u5f53\u524d\u67e5\u8be2\u7f13\u51b2\u533a\u4e3a\u7a7a\uff0c\u5219\u91cd\u65b0\u6267\u884c\u6700\u8fd1\u53d1\u9001\u7684\u67e5\u8be2\u3002\n        </p></dd><p><a href=\"/zh/docs/devel/app-psql.html#APP-PSQL-META-COMMAND-GEXEC\">\u67e5\u770b\u5b8c\u6574\u4e2d\u6587\u624b\u518c\u4e0e\u4e0a\u4e0b\u6587</a>\u3002</p>"}, "summary": "\u5c06\u5f53\u524d\u67e5\u8be2\u7f13\u51b2\u533a\u53d1\u9001\u5230\u670d\u52a1\u5668\uff0c\u7136\u540e\u5c06\u67e5\u8be2\u8f93\u51fa\u7684\u6bcf\u884c\u6bcf\u5217\u89c6\u4e3a\u8981\u6267\u884c\u7684 SQL \u8bed\u53e5\u3002\u4f8b\u5982\uff0c\u8981\u5728 my_table \u7684\u6bcf\u4e00\u5217\u4e0a\u521b\u5efa\u7d22\u5f15\uff1a => SELECT format('CREATE INDEX ON my_table (%I)', attname) -> FROM pg_attribute -> WHERE attrelid = 'my_table'::regclass AND attnum > 0 -> ORDER BY attnum -> \\gexec CREATE INDEX CREATE INDEX CREATE INDEX CREATE INDEX \u751f\u6210\u7684\u67e5\u8be2\u6309\u7167\u8fd4\u56de\u884c\u7684\u987a\u5e8f\u6267\u884c\uff1b\u5982\u679c\u6709\u591a\u5217\uff0c\u5219\u5728\u6bcf\u884c\u5185\u4ece\u5de6\u5230\u53f3\u6267\u884c\u3002NULL \u5b57\u6bb5\u4f1a\u88ab\u5ffd\u7565\u3002\u751f\u6210\u7684\u67e5\u8be2\u6309\u539f\u6837\u53d1\u9001\u5230\u670d\u52a1\u5668\u8fdb\u884c\u5904\u7406\uff0c\u56e0\u6b64\u4e0d\u80fd\u662f psql \u5143\u547d\u4ee4\uff0c\u4e5f\u4e0d\u80fd\u5305\u542b psql \u53d8\u91cf\u5f15\u7528\u3002\u5982\u679c\u67d0\u4e2a\u67e5\u8be2\u5931\u8d25\uff0c\u4ecd\u4f1a\u7ee7\u7eed\u6267\u884c\u5176\u4f59\u67e5\u8be2\uff0c\u9664\u975e\u8bbe\u7f6e\u4e86 ON_ERROR_STOP \u3002\u6bcf\u4e2a\u67e5\u8be2\u7684\u6267\u884c\u90fd\u53d7 ECHO \u5904\u7406\u7684\u5f71\u54cd\u3002\uff08\u901a\u5e38\uff0c\u5728\u4f7f\u7528 \\gexec \u65f6\uff0c\u9002\u5b9c\u5c06 ECHO \u8bbe\u4e3a all \u6216 queries \u3002\uff09\u67e5\u8be2\u65e5\u5fd7\u3001\u5355\u6b65\u6a21\u5f0f\u3001\u8ba1\u65f6\u53ca\u5176\u4ed6\u67e5\u8be2\u6267\u884c\u529f\u80fd\u4e5f\u9002\u7528\u4e8e\u6bcf\u4e2a\u751f\u6210\u7684\u67e5\u8be2\u3002 \u5982\u679c\u5f53\u524d\u67e5\u8be2\u7f13\u51b2\u533a\u4e3a\u7a7a\uff0c\u5219\u91cd\u65b0\u6267\u884c\u6700\u8fd1\u53d1\u9001\u7684\u67e5\u8be2\u3002", "version": "20", "link_map": {"/zh/docs/devel/app-psql.html#APP-PSQL-META-COMMAND-GEXEC": "/docs/devel/app-psql.html#APP-PSQL-META-COMMAND-GEXEC"}, "body_html": "<p>psql \u547d\u4ee4 \\gexec\u3002</p><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u5b9a\u4e49</h3><dd><p>\n         \u5c06\u5f53\u524d\u67e5\u8be2\u7f13\u51b2\u533a\u53d1\u9001\u5230\u670d\u52a1\u5668\uff0c\u7136\u540e\u5c06\u67e5\u8be2\u8f93\u51fa\u7684\u6bcf\u884c\u6bcf\u5217\u89c6\u4e3a\u8981\u6267\u884c\u7684 SQL \u8bed\u53e5\u3002\u4f8b\u5982\uff0c\u8981\u5728 <code>my_table</code> \u7684\u6bcf\u4e00\u5217\u4e0a\u521b\u5efa\u7d22\u5f15\uff1a\n</p><pre>=&gt; <strong><code>SELECT format(&#39;CREATE INDEX ON my_table (%I)&#39;, attname)</code></strong>\n-&gt; <strong><code>FROM pg_attribute</code></strong>\n-&gt; <strong><code>WHERE attrelid = &#39;my_table&#39;::regclass AND attnum &gt; 0</code></strong>\n-&gt; <strong><code>ORDER BY attnum</code></strong>\n-&gt; <strong><code>\\gexec</code></strong>\nCREATE INDEX\nCREATE INDEX\nCREATE INDEX\nCREATE INDEX\n</pre><p>\n</p><p>\n         \u751f\u6210\u7684\u67e5\u8be2\u6309\u7167\u8fd4\u56de\u884c\u7684\u987a\u5e8f\u6267\u884c\uff1b\u5982\u679c\u6709\u591a\u5217\uff0c\u5219\u5728\u6bcf\u884c\u5185\u4ece\u5de6\u5230\u53f3\u6267\u884c\u3002NULL \u5b57\u6bb5\u4f1a\u88ab\u5ffd\u7565\u3002\u751f\u6210\u7684\u67e5\u8be2\u6309\u539f\u6837\u53d1\u9001\u5230\u670d\u52a1\u5668\u8fdb\u884c\u5904\u7406\uff0c\u56e0\u6b64\u4e0d\u80fd\u662f <span>psql</span> \u5143\u547d\u4ee4\uff0c\u4e5f\u4e0d\u80fd\u5305\u542b <span>psql</span> \u53d8\u91cf\u5f15\u7528\u3002\u5982\u679c\u67d0\u4e2a\u67e5\u8be2\u5931\u8d25\uff0c\u4ecd\u4f1a\u7ee7\u7eed\u6267\u884c\u5176\u4f59\u67e5\u8be2\uff0c\u9664\u975e\u8bbe\u7f6e\u4e86 <code>ON_ERROR_STOP</code>\u3002\u6bcf\u4e2a\u67e5\u8be2\u7684\u6267\u884c\u90fd\u53d7 <code>ECHO</code> \u5904\u7406\u7684\u5f71\u54cd\u3002\uff08\u901a\u5e38\uff0c\u5728\u4f7f\u7528<code>\\gexec</code> \u65f6\uff0c\u9002\u5b9c\u5c06 <code>ECHO</code> \u8bbe\u4e3a <code>all</code> \u6216 <code>queries</code>\u3002\uff09\u67e5\u8be2\u65e5\u5fd7\u3001\u5355\u6b65\u6a21\u5f0f\u3001\u8ba1\u65f6\u53ca\u5176\u4ed6\u67e5\u8be2\u6267\u884c\u529f\u80fd\u4e5f\u9002\u7528\u4e8e\u6bcf\u4e2a\u751f\u6210\u7684\u67e5\u8be2\u3002\n        </p><p>\n         \u5982\u679c\u5f53\u524d\u67e5\u8be2\u7f13\u51b2\u533a\u4e3a\u7a7a\uff0c\u5219\u91cd\u65b0\u6267\u884c\u6700\u8fd1\u53d1\u9001\u7684\u67e5\u8be2\u3002\n        </p></dd><p><a href=\"/zh/docs/devel/app-psql.html#APP-PSQL-META-COMMAND-GEXEC\" rel=\"nofollow\">\u67e5\u770b\u5b8c\u6574\u4e2d\u6587\u624b\u518c\u4e0e\u4e0a\u4e0b\u6587</a>\u3002</p>", "body_sha256": "59e01f8bcd19dbb4adfcf468c802419daddac832073edfbdfc98a90d9a756b41", "content_hash": "2713ffa37a961e83a5e994d405a4e03e79ea8ac5bdeb614ddae080f4ad8ab26e", "source_database": "center", "source_revision": "3cd0885bb4eccdbaac1a21177cc639e9031e54bd8ea6536c45224b5563354ce2"}, "modifiers": [], "signature": "\\gexec", "spellings": ["\\gexec"], "tables_zh": [{"key": "spellings", "rows": [{"command": {"url": "/wiki/psql/cmd-67-65-78-65-63/?v=20", "text": "\\gexec"}, "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": ["\u5c06\u5f53\u524d\u67e5\u8be2\u7f13\u51b2\u533a\u53d1\u9001\u5230\u670d\u52a1\u5668\uff0c\u7136\u540e\u5c06\u67e5\u8be2\u8f93\u51fa\u7684\u6bcf\u884c\u6bcf\u5217\u89c6\u4e3a\u8981\u6267\u884c\u7684 SQL \u8bed\u53e5\u3002\u4f8b\u5982\uff0c\u8981\u5728 my_table \u7684\u6bcf\u4e00\u5217\u4e0a\u521b\u5efa\u7d22\u5f15\uff1a => SELECT format('CREATE INDEX ON my_table (%I)', attname) -> FROM pg_attribute -> WHERE attrelid = 'my_table'::regclass AND attnum > 0 -> ORDER BY attnum -> \\gexec CREATE INDEX CREATE INDEX CREATE INDEX CREATE INDEX \u751f\u6210\u7684\u67e5\u8be2\u6309\u7167\u8fd4\u56de\u884c\u7684\u987a\u5e8f\u6267\u884c\uff1b\u5982\u679c\u6709\u591a\u5217\uff0c\u5219\u5728\u6bcf\u884c\u5185\u4ece\u5de6\u5230\u53f3\u6267\u884c\u3002NULL \u5b57\u6bb5\u4f1a\u88ab\u5ffd\u7565\u3002\u751f\u6210\u7684\u67e5\u8be2\u6309\u539f\u6837\u53d1\u9001\u5230\u670d\u52a1\u5668\u8fdb\u884c\u5904\u7406\uff0c\u56e0\u6b64\u4e0d\u80fd\u662f psql \u5143\u547d\u4ee4\uff0c\u4e5f\u4e0d\u80fd\u5305\u542b psql \u53d8\u91cf\u5f15\u7528\u3002\u5982\u679c\u67d0\u4e2a\u67e5\u8be2\u5931\u8d25\uff0c\u4ecd\u4f1a\u7ee7\u7eed\u6267\u884c\u5176\u4f59\u67e5\u8be2\uff0c\u9664\u975e\u8bbe\u7f6e\u4e86 ON_ERROR_STOP \u3002\u6bcf\u4e2a\u67e5\u8be2\u7684\u6267\u884c\u90fd\u53d7 ECHO \u5904\u7406\u7684\u5f71\u54cd\u3002\uff08\u901a\u5e38\uff0c\u5728\u4f7f\u7528 \\gexec \u65f6\uff0c\u9002\u5b9c\u5c06 ECHO \u8bbe\u4e3a all \u6216 queries \u3002\uff09\u67e5\u8be2\u65e5\u5fd7\u3001\u5355\u6b65\u6a21\u5f0f\u3001\u8ba1\u65f6\u53ca\u5176\u4ed6\u67e5\u8be2\u6267\u884c\u529f\u80fd\u4e5f\u9002\u7528\u4e8e\u6bcf\u4e2a\u751f\u6210\u7684\u67e5\u8be2\u3002 \u5982\u679c\u5f53\u524d\u67e5\u8be2\u7f13\u51b2\u533a\u4e3a\u7a7a\uff0c\u5219\u91cd\u65b0\u6267\u884c\u6700\u8fd1\u53d1\u9001\u7684\u67e5\u8be2\u3002"], "manual_html": "", "manual_path": "app-psql.html#APP-PSQL-META-COMMAND-GEXEC", "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[125]/p[0]"]}], "language": "zh", "original_text": {"/summary": "Sends the current query buffer to the server, then treats each column of each row of the query's output (if any) as an SQL statement to be executed. For example, to create an index on each column of my_table :", "/category": "Query execution", "/versions/20/description/0": "Sends the current query buffer to the server, then treats each column of each row of the query's output (if any) as an SQL statement to be executed. For example, to create an index on each column of my_table :", "/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": "b31e64d1596e5bb340284c8300314e8900ff6f9492cd61b7f5ddf23da7cac3de", "canonical_center_text_hash": "2713ffa37a961e83a5e994d405a4e03e79ea8ac5bdeb614ddae080f4ad8ab26e"}, "description_zh": "\u5c06\u5f53\u524d\u67e5\u8be2\u7f13\u51b2\u533a\u53d1\u9001\u5230\u670d\u52a1\u5668\uff0c\u7136\u540e\u5c06\u67e5\u8be2\u8f93\u51fa\u7684\u6bcf\u884c\u6bcf\u5217\u89c6\u4e3a\u8981\u6267\u884c\u7684 SQL \u8bed\u53e5\u3002\u4f8b\u5982\uff0c\u8981\u5728 my_table \u7684\u6bcf\u4e00\u5217\u4e0a\u521b\u5efa\u7d22\u5f15\uff1a => SELECT format('CREATE INDEX ON my_table (%I)', attname) -> FROM pg_attribute -> WHERE attrelid = 'my_table'::regclass AND attnum > 0 -> ORDER BY attnum -> \\gexec CREATE INDEX CREATE INDEX CREATE INDEX CREATE INDEX \u751f\u6210\u7684\u67e5\u8be2\u6309\u7167\u8fd4\u56de\u884c\u7684\u987a\u5e8f\u6267\u884c\uff1b\u5982\u679c\u6709\u591a\u5217\uff0c\u5219\u5728\u6bcf\u884c\u5185\u4ece\u5de6\u5230\u53f3\u6267\u884c\u3002NULL \u5b57\u6bb5\u4f1a\u88ab\u5ffd\u7565\u3002\u751f\u6210\u7684\u67e5\u8be2\u6309\u539f\u6837\u53d1\u9001\u5230\u670d\u52a1\u5668\u8fdb\u884c\u5904\u7406\uff0c\u56e0\u6b64\u4e0d\u80fd\u662f psql \u5143\u547d\u4ee4\uff0c\u4e5f\u4e0d\u80fd\u5305\u542b psql \u53d8\u91cf\u5f15\u7528\u3002\u5982\u679c\u67d0\u4e2a\u67e5\u8be2\u5931\u8d25\uff0c\u4ecd\u4f1a\u7ee7\u7eed\u6267\u884c\u5176\u4f59\u67e5\u8be2\uff0c\u9664\u975e\u8bbe\u7f6e\u4e86 ON_ERROR_STOP \u3002\u6bcf\u4e2a\u67e5\u8be2\u7684\u6267\u884c\u90fd\u53d7 ECHO \u5904\u7406\u7684\u5f71\u54cd\u3002\uff08\u901a\u5e38\uff0c\u5728\u4f7f\u7528 \\gexec \u65f6\uff0c\u9002\u5b9c\u5c06 ECHO \u8bbe\u4e3a all \u6216 queries \u3002\uff09\u67e5\u8be2\u65e5\u5fd7\u3001\u5355\u6b65\u6a21\u5f0f\u3001\u8ba1\u65f6\u53ca\u5176\u4ed6\u67e5\u8be2\u6267\u884c\u529f\u80fd\u4e5f\u9002\u7528\u4e8e\u6bcf\u4e2a\u751f\u6210\u7684\u67e5\u8be2\u3002 \u5982\u679c\u5f53\u524d\u67e5\u8be2\u7f13\u51b2\u533a\u4e3a\u7a7a\uff0c\u5219\u91cd\u65b0\u6267\u884c\u6700\u8fd1\u53d1\u9001\u7684\u67e5\u8be2\u3002", "comparison_data": {"modifiers": [], "signature": "\\gexec", "spellings": ["\\gexec"], "definition": "Sends the current query buffer to the server, then treats each column of each row of the query's output (if any) as an SQL statement to be executed. For example, to create an index on each column of my_table : => SELECT format('CREATE INDEX ON my_table (%I)', attname) -> FROM pg_attribute -> WHERE attrelid = 'my_table'::regclass AND attnum > 0 -> ORDER BY attnum -> \\gexec CREATE INDEX CREATE INDEX CREATE INDEX CREATE INDEX The generated queries are executed in the order in which the rows are returned, and left-to-right within each row if there is more than one column. NULL fields are ignored. The generated queries are sent literally to the server for processing, so they cannot be psql meta-commands nor contain psql variable references. If any individual query fails, execution of the remaining queries continues unless ON_ERROR_STOP is set. Execution of each query is subject to ECHO processing. (Setting ECHO to all or queries is often advisable when using \\gexec .) Query logging, single-step mode, timing, and other query execution features apply to each generated query as well. If the current query buffer is empty, the most recently sent query is re-executed instead."}, "comparison_hash": "1b5caf460acb0f383045c2b5d79324acf3663e954932a80f18f8b81df72f397d", "manual_language": "zh", "description_zh_html": "<p>psql \u547d\u4ee4 \\gexec\u3002</p><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u5b9a\u4e49</h3><dd><p>\n         \u5c06\u5f53\u524d\u67e5\u8be2\u7f13\u51b2\u533a\u53d1\u9001\u5230\u670d\u52a1\u5668\uff0c\u7136\u540e\u5c06\u67e5\u8be2\u8f93\u51fa\u7684\u6bcf\u884c\u6bcf\u5217\u89c6\u4e3a\u8981\u6267\u884c\u7684 SQL \u8bed\u53e5\u3002\u4f8b\u5982\uff0c\u8981\u5728 <code>my_table</code> \u7684\u6bcf\u4e00\u5217\u4e0a\u521b\u5efa\u7d22\u5f15\uff1a\n</p><pre>=&gt; <strong><code>SELECT format(&#39;CREATE INDEX ON my_table (%I)&#39;, attname)</code></strong>\n-&gt; <strong><code>FROM pg_attribute</code></strong>\n-&gt; <strong><code>WHERE attrelid = &#39;my_table&#39;::regclass AND attnum &gt; 0</code></strong>\n-&gt; <strong><code>ORDER BY attnum</code></strong>\n-&gt; <strong><code>\\gexec</code></strong>\nCREATE INDEX\nCREATE INDEX\nCREATE INDEX\nCREATE INDEX\n</pre><p>\n</p><p>\n         \u751f\u6210\u7684\u67e5\u8be2\u6309\u7167\u8fd4\u56de\u884c\u7684\u987a\u5e8f\u6267\u884c\uff1b\u5982\u679c\u6709\u591a\u5217\uff0c\u5219\u5728\u6bcf\u884c\u5185\u4ece\u5de6\u5230\u53f3\u6267\u884c\u3002NULL \u5b57\u6bb5\u4f1a\u88ab\u5ffd\u7565\u3002\u751f\u6210\u7684\u67e5\u8be2\u6309\u539f\u6837\u53d1\u9001\u5230\u670d\u52a1\u5668\u8fdb\u884c\u5904\u7406\uff0c\u56e0\u6b64\u4e0d\u80fd\u662f <span>psql</span> \u5143\u547d\u4ee4\uff0c\u4e5f\u4e0d\u80fd\u5305\u542b <span>psql</span> \u53d8\u91cf\u5f15\u7528\u3002\u5982\u679c\u67d0\u4e2a\u67e5\u8be2\u5931\u8d25\uff0c\u4ecd\u4f1a\u7ee7\u7eed\u6267\u884c\u5176\u4f59\u67e5\u8be2\uff0c\u9664\u975e\u8bbe\u7f6e\u4e86 <code>ON_ERROR_STOP</code>\u3002\u6bcf\u4e2a\u67e5\u8be2\u7684\u6267\u884c\u90fd\u53d7 <code>ECHO</code> \u5904\u7406\u7684\u5f71\u54cd\u3002\uff08\u901a\u5e38\uff0c\u5728\u4f7f\u7528<code>\\gexec</code> \u65f6\uff0c\u9002\u5b9c\u5c06 <code>ECHO</code> \u8bbe\u4e3a <code>all</code> \u6216 <code>queries</code>\u3002\uff09\u67e5\u8be2\u65e5\u5fd7\u3001\u5355\u6b65\u6a21\u5f0f\u3001\u8ba1\u65f6\u53ca\u5176\u4ed6\u67e5\u8be2\u6267\u884c\u529f\u80fd\u4e5f\u9002\u7528\u4e8e\u6bcf\u4e2a\u751f\u6210\u7684\u67e5\u8be2\u3002\n        </p><p>\n         \u5982\u679c\u5f53\u524d\u67e5\u8be2\u7f13\u51b2\u533a\u4e3a\u7a7a\uff0c\u5219\u91cd\u65b0\u6267\u884c\u6700\u8fd1\u53d1\u9001\u7684\u67e5\u8be2\u3002\n        </p></dd><p><a href=\"/zh/docs/devel/app-psql.html#APP-PSQL-META-COMMAND-GEXEC\" 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": "\\gexec"}], "tables": [{"key": "spellings", "rows": [{"command": {"url": "/wiki/psql/cmd-67-65-78-65-63/?v=18", "text": "\\gexec"}, "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": "\\gexec", "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-GEXEC", "file": "app-psql.html", "label": "18.7 English manual \u00b7 app-psql.html", "anchor": "APP-PSQL-META-COMMAND-GEXEC", "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": "\\gexec"}], "sections": [], "center_zh": {"locale": "zh-Hans", "payload": {"description_zh": "\u5c06\u5f53\u524d\u67e5\u8be2\u7f13\u51b2\u533a\u53d1\u9001\u5230\u670d\u52a1\u5668\uff0c\u7136\u540e\u5c06\u67e5\u8be2\u8f93\u51fa\u7684\u6bcf\u884c\u6bcf\u5217\u89c6\u4e3a\u8981\u6267\u884c\u7684 SQL \u8bed\u53e5\u3002\u4f8b\u5982\uff0c\u8981\u5728 my_table \u7684\u6bcf\u4e00\u5217\u4e0a\u521b\u5efa\u7d22\u5f15\uff1a", "description_zh_html": "<dd><p>\n         \u5c06\u5f53\u524d\u67e5\u8be2\u7f13\u51b2\u533a\u53d1\u9001\u5230\u670d\u52a1\u5668\uff0c\u7136\u540e\u5c06\u67e5\u8be2\u8f93\u51fa\u7684\u6bcf\u884c\u6bcf\u5217\u89c6\u4e3a\u8981\u6267\u884c\u7684 SQL \u8bed\u53e5\u3002\u4f8b\u5982\uff0c\u8981\u5728 <code class=\"structname\">my_table</code> \u7684\u6bcf\u4e00\u5217\u4e0a\u521b\u5efa\u7d22\u5f15\uff1a\n</p><pre class=\"programlisting\">\n=&gt; <strong class=\"userinput\"><code>SELECT format('create index on my_table(%I)', attname)</code></strong>\n-&gt; <strong class=\"userinput\"><code>FROM pg_attribute</code></strong>\n-&gt; <strong class=\"userinput\"><code>WHERE attrelid = 'my_table'::regclass AND attnum &gt; 0</code></strong>\n-&gt; <strong class=\"userinput\"><code>ORDER BY attnum</code></strong>\n-&gt; <strong class=\"userinput\"><code>\\gexec</code></strong>\nCREATE INDEX\nCREATE INDEX\nCREATE INDEX\nCREATE INDEX\n</pre><p>\n</p><p>\n         \u751f\u6210\u7684\u67e5\u8be2\u6309\u7167\u8fd4\u56de\u884c\u7684\u987a\u5e8f\u6267\u884c\uff1b\u5982\u679c\u6709\u591a\u5217\uff0c\u5219\u5728\u6bcf\u884c\u5185\u4ece\u5de6\u5230\u53f3\u6267\u884c\u3002NULL \u5b57\u6bb5\u4f1a\u88ab\u5ffd\u7565\u3002\u751f\u6210\u7684\u67e5\u8be2\u6309\u539f\u6837\u53d1\u9001\u5230\u670d\u52a1\u5668\u8fdb\u884c\u5904\u7406\uff0c\u56e0\u6b64\u4e0d\u80fd\u662f <span class=\"application\">psql</span> \u5143\u547d\u4ee4\uff0c\u4e5f\u4e0d\u80fd\u5305\u542b <span class=\"application\">psql</span> \u53d8\u91cf\u5f15\u7528\u3002\u5982\u679c\u67d0\u4e2a\u67e5\u8be2\u5931\u8d25\uff0c\u4ecd\u4f1a\u7ee7\u7eed\u6267\u884c\u5176\u4f59\u67e5\u8be2\uff0c\u9664\u975e\u8bbe\u7f6e\u4e86 <code class=\"varname\">ON_ERROR_STOP</code>\u3002\u6bcf\u4e2a\u67e5\u8be2\u7684\u6267\u884c\u90fd\u53d7 <code class=\"varname\">ECHO</code> \u5904\u7406\u7684\u5f71\u54cd\u3002\uff08\u901a\u5e38\uff0c\u5728\u4f7f\u7528<code class=\"command\">\\gexec</code> \u65f6\uff0c\u9002\u5b9c\u5c06 <code class=\"varname\">ECHO</code> \u8bbe\u4e3a <code class=\"literal\">all</code> \u6216 <code class=\"literal\">queries</code>\u3002\uff09\u67e5\u8be2\u65e5\u5fd7\u3001\u5355\u6b65\u6a21\u5f0f\u3001\u8ba1\u65f6\u53ca\u5176\u4ed6\u67e5\u8be2\u6267\u884c\u529f\u80fd\u4e5f\u9002\u7528\u4e8e\u6bcf\u4e2a\u751f\u6210\u7684\u67e5\u8be2\u3002\n        </p><p>\n         \u5982\u679c\u5f53\u524d\u67e5\u8be2\u7f13\u51b2\u533a\u4e3a\u7a7a\uff0c\u5219\u91cd\u65b0\u6267\u884c\u6700\u8fd1\u53d1\u9001\u7684\u67e5\u8be2\u3002\n        </p></dd>"}, "summary": "\u5c06\u5f53\u524d\u67e5\u8be2\u7f13\u51b2\u533a\u53d1\u9001\u5230\u670d\u52a1\u5668\uff0c\u7136\u540e\u5c06\u67e5\u8be2\u8f93\u51fa\u7684\u6bcf\u884c\u6bcf\u5217\u89c6\u4e3a\u8981\u6267\u884c\u7684 SQL \u8bed\u53e5\u3002\u4f8b\u5982\uff0c\u8981\u5728 my_table \u7684\u6bcf\u4e00\u5217\u4e0a\u521b\u5efa\u7d22\u5f15\uff1a", "body_html": "<dd><p>\n         \u5c06\u5f53\u524d\u67e5\u8be2\u7f13\u51b2\u533a\u53d1\u9001\u5230\u670d\u52a1\u5668\uff0c\u7136\u540e\u5c06\u67e5\u8be2\u8f93\u51fa\u7684\u6bcf\u884c\u6bcf\u5217\u89c6\u4e3a\u8981\u6267\u884c\u7684 SQL \u8bed\u53e5\u3002\u4f8b\u5982\uff0c\u8981\u5728 <code class=\"structname\">my_table</code> \u7684\u6bcf\u4e00\u5217\u4e0a\u521b\u5efa\u7d22\u5f15\uff1a\n</p><pre class=\"programlisting\">\n=&gt; <strong class=\"userinput\"><code>SELECT format('create index on my_table(%I)', attname)</code></strong>\n-&gt; <strong class=\"userinput\"><code>FROM pg_attribute</code></strong>\n-&gt; <strong class=\"userinput\"><code>WHERE attrelid = 'my_table'::regclass AND attnum &gt; 0</code></strong>\n-&gt; <strong class=\"userinput\"><code>ORDER BY attnum</code></strong>\n-&gt; <strong class=\"userinput\"><code>\\gexec</code></strong>\nCREATE INDEX\nCREATE INDEX\nCREATE INDEX\nCREATE INDEX\n</pre><p>\n</p><p>\n         \u751f\u6210\u7684\u67e5\u8be2\u6309\u7167\u8fd4\u56de\u884c\u7684\u987a\u5e8f\u6267\u884c\uff1b\u5982\u679c\u6709\u591a\u5217\uff0c\u5219\u5728\u6bcf\u884c\u5185\u4ece\u5de6\u5230\u53f3\u6267\u884c\u3002NULL \u5b57\u6bb5\u4f1a\u88ab\u5ffd\u7565\u3002\u751f\u6210\u7684\u67e5\u8be2\u6309\u539f\u6837\u53d1\u9001\u5230\u670d\u52a1\u5668\u8fdb\u884c\u5904\u7406\uff0c\u56e0\u6b64\u4e0d\u80fd\u662f <span class=\"application\">psql</span> \u5143\u547d\u4ee4\uff0c\u4e5f\u4e0d\u80fd\u5305\u542b <span class=\"application\">psql</span> \u53d8\u91cf\u5f15\u7528\u3002\u5982\u679c\u67d0\u4e2a\u67e5\u8be2\u5931\u8d25\uff0c\u4ecd\u4f1a\u7ee7\u7eed\u6267\u884c\u5176\u4f59\u67e5\u8be2\uff0c\u9664\u975e\u8bbe\u7f6e\u4e86 <code class=\"varname\">ON_ERROR_STOP</code>\u3002\u6bcf\u4e2a\u67e5\u8be2\u7684\u6267\u884c\u90fd\u53d7 <code class=\"varname\">ECHO</code> \u5904\u7406\u7684\u5f71\u54cd\u3002\uff08\u901a\u5e38\uff0c\u5728\u4f7f\u7528<code class=\"command\">\\gexec</code> \u65f6\uff0c\u9002\u5b9c\u5c06 <code class=\"varname\">ECHO</code> \u8bbe\u4e3a <code class=\"literal\">all</code> \u6216 <code class=\"literal\">queries</code>\u3002\uff09\u67e5\u8be2\u65e5\u5fd7\u3001\u5355\u6b65\u6a21\u5f0f\u3001\u8ba1\u65f6\u53ca\u5176\u4ed6\u67e5\u8be2\u6267\u884c\u529f\u80fd\u4e5f\u9002\u7528\u4e8e\u6bcf\u4e2a\u751f\u6210\u7684\u67e5\u8be2\u3002\n        </p><p>\n         \u5982\u679c\u5f53\u524d\u67e5\u8be2\u7f13\u51b2\u533a\u4e3a\u7a7a\uff0c\u5219\u91cd\u65b0\u6267\u884c\u6700\u8fd1\u53d1\u9001\u7684\u67e5\u8be2\u3002\n        </p></dd>", "body_sha256": "fad4c1b7ae1eae79a6483f1677d7d1ddaae22f76348179091a25e27384c98f5a", "content_hash": "0f38f4e3cd8d6c396ccbfa598c9a359170bd048bc3586b8d729abac0e8b7cb89", "source_revision": "pgdoc:b9f0e7232f60f380d642ac9b99226606c254b552", "definition_version": "18", "documentation_release": "18.7"}, "modifiers": [], "signature": "\\gexec", "spellings": ["\\gexec"], "tables_zh": [{"key": "spellings", "rows": [{"command": {"url": "/wiki/psql/cmd-67-65-78-65-63/?v=18", "text": "\\gexec"}, "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": ["\u5c06\u5f53\u524d\u67e5\u8be2\u7f13\u51b2\u533a\u53d1\u9001\u5230\u670d\u52a1\u5668\uff0c\u7136\u540e\u5c06\u67e5\u8be2\u8f93\u51fa\u7684\u6bcf\u884c\u6bcf\u5217\u89c6\u4e3a\u8981\u6267\u884c\u7684 SQL \u8bed\u53e5\u3002\u4f8b\u5982\uff0c\u8981\u5728 my_table \u7684\u6bcf\u4e00\u5217\u4e0a\u521b\u5efa\u7d22\u5f15\uff1a"], "manual_html": "<dd><p>\n         \u5c06\u5f53\u524d\u67e5\u8be2\u7f13\u51b2\u533a\u53d1\u9001\u5230\u670d\u52a1\u5668\uff0c\u7136\u540e\u5c06\u67e5\u8be2\u8f93\u51fa\u7684\u6bcf\u884c\u6bcf\u5217\u89c6\u4e3a\u8981\u6267\u884c\u7684 SQL \u8bed\u53e5\u3002\u4f8b\u5982\uff0c\u8981\u5728 <code class=\"structname\">my_table</code> \u7684\u6bcf\u4e00\u5217\u4e0a\u521b\u5efa\u7d22\u5f15\uff1a\n</p><pre class=\"programlisting\">\n=&gt; <strong class=\"userinput\"><code>SELECT format('create index on my_table(%I)', attname)</code></strong>\n-&gt; <strong class=\"userinput\"><code>FROM pg_attribute</code></strong>\n-&gt; <strong class=\"userinput\"><code>WHERE attrelid = 'my_table'::regclass AND attnum &gt; 0</code></strong>\n-&gt; <strong class=\"userinput\"><code>ORDER BY attnum</code></strong>\n-&gt; <strong class=\"userinput\"><code>\\gexec</code></strong>\nCREATE INDEX\nCREATE INDEX\nCREATE INDEX\nCREATE INDEX\n</pre><p>\n</p><p>\n         \u751f\u6210\u7684\u67e5\u8be2\u6309\u7167\u8fd4\u56de\u884c\u7684\u987a\u5e8f\u6267\u884c\uff1b\u5982\u679c\u6709\u591a\u5217\uff0c\u5219\u5728\u6bcf\u884c\u5185\u4ece\u5de6\u5230\u53f3\u6267\u884c\u3002NULL \u5b57\u6bb5\u4f1a\u88ab\u5ffd\u7565\u3002\u751f\u6210\u7684\u67e5\u8be2\u6309\u539f\u6837\u53d1\u9001\u5230\u670d\u52a1\u5668\u8fdb\u884c\u5904\u7406\uff0c\u56e0\u6b64\u4e0d\u80fd\u662f <span class=\"application\">psql</span> \u5143\u547d\u4ee4\uff0c\u4e5f\u4e0d\u80fd\u5305\u542b <span class=\"application\">psql</span> \u53d8\u91cf\u5f15\u7528\u3002\u5982\u679c\u67d0\u4e2a\u67e5\u8be2\u5931\u8d25\uff0c\u4ecd\u4f1a\u7ee7\u7eed\u6267\u884c\u5176\u4f59\u67e5\u8be2\uff0c\u9664\u975e\u8bbe\u7f6e\u4e86 <code class=\"varname\">ON_ERROR_STOP</code>\u3002\u6bcf\u4e2a\u67e5\u8be2\u7684\u6267\u884c\u90fd\u53d7 <code class=\"varname\">ECHO</code> \u5904\u7406\u7684\u5f71\u54cd\u3002\uff08\u901a\u5e38\uff0c\u5728\u4f7f\u7528<code class=\"command\">\\gexec</code> \u65f6\uff0c\u9002\u5b9c\u5c06 <code class=\"varname\">ECHO</code> \u8bbe\u4e3a <code class=\"literal\">all</code> \u6216 <code class=\"literal\">queries</code>\u3002\uff09\u67e5\u8be2\u65e5\u5fd7\u3001\u5355\u6b65\u6a21\u5f0f\u3001\u8ba1\u65f6\u53ca\u5176\u4ed6\u67e5\u8be2\u6267\u884c\u529f\u80fd\u4e5f\u9002\u7528\u4e8e\u6bcf\u4e2a\u751f\u6210\u7684\u67e5\u8be2\u3002\n        </p><p>\n         \u5982\u679c\u5f53\u524d\u67e5\u8be2\u7f13\u51b2\u533a\u4e3a\u7a7a\uff0c\u5219\u91cd\u65b0\u6267\u884c\u6700\u8fd1\u53d1\u9001\u7684\u67e5\u8be2\u3002\n        </p></dd>", "manual_path": "app-psql.html#APP-PSQL-META-COMMAND-GEXEC", "sections_zh": [], "localization": {"status": "same-version-reviewed-manual", "language": "zh", "source_language": "en", "source_revision": "pgdoc:b9f0e7232f60f380d642ac9b99226606c254b552", "documentation_release": "18.7"}, "description_zh": "\u5c06\u5f53\u524d\u67e5\u8be2\u7f13\u51b2\u533a\u53d1\u9001\u5230\u670d\u52a1\u5668\uff0c\u7136\u540e\u5c06\u67e5\u8be2\u8f93\u51fa\u7684\u6bcf\u884c\u6bcf\u5217\u89c6\u4e3a\u8981\u6267\u884c\u7684 SQL \u8bed\u53e5\u3002\u4f8b\u5982\uff0c\u8981\u5728 my_table \u7684\u6bcf\u4e00\u5217\u4e0a\u521b\u5efa\u7d22\u5f15\uff1a", "comparison_data": {"modifiers": [], "signature": "\\gexec", "spellings": ["\\gexec"], "definition": "Sends the current query buffer to the server, then treats each column of each row of the query's output (if any) as an SQL statement to be executed. For example, to create an index on each column of my_table : => SELECT format('create index on my_table(%I)', attname) -> FROM pg_attribute -> WHERE attrelid = 'my_table'::regclass AND attnum > 0 -> ORDER BY attnum -> \\gexec CREATE INDEX CREATE INDEX CREATE INDEX CREATE INDEX The generated queries are executed in the order in which the rows are returned, and left-to-right within each row if there is more than one column. NULL fields are ignored. The generated queries are sent literally to the server for processing, so they cannot be psql meta-commands nor contain psql variable references. If any individual query fails, execution of the remaining queries continues unless ON_ERROR_STOP is set. Execution of each query is subject to ECHO processing. (Setting ECHO to all or queries is often advisable when using \\gexec .) Query logging, single-step mode, timing, and other query execution features apply to each generated query as well. If the current query buffer is empty, the most recently sent query is re-executed instead."}, "comparison_hash": "4df526f59b23b5fa24e30caba1236c2988d5db04c457b5b38354014b2b052ac6", "manual_language": "zh", "description_zh_html": "<dd><p>\n         \u5c06\u5f53\u524d\u67e5\u8be2\u7f13\u51b2\u533a\u53d1\u9001\u5230\u670d\u52a1\u5668\uff0c\u7136\u540e\u5c06\u67e5\u8be2\u8f93\u51fa\u7684\u6bcf\u884c\u6bcf\u5217\u89c6\u4e3a\u8981\u6267\u884c\u7684 SQL \u8bed\u53e5\u3002\u4f8b\u5982\uff0c\u8981\u5728 <code class=\"structname\">my_table</code> \u7684\u6bcf\u4e00\u5217\u4e0a\u521b\u5efa\u7d22\u5f15\uff1a\n</p><pre class=\"programlisting\">\n=&gt; <strong class=\"userinput\"><code>SELECT format('create index on my_table(%I)', attname)</code></strong>\n-&gt; <strong class=\"userinput\"><code>FROM pg_attribute</code></strong>\n-&gt; <strong class=\"userinput\"><code>WHERE attrelid = 'my_table'::regclass AND attnum &gt; 0</code></strong>\n-&gt; <strong class=\"userinput\"><code>ORDER BY attnum</code></strong>\n-&gt; <strong class=\"userinput\"><code>\\gexec</code></strong>\nCREATE INDEX\nCREATE INDEX\nCREATE INDEX\nCREATE INDEX\n</pre><p>\n</p><p>\n         \u751f\u6210\u7684\u67e5\u8be2\u6309\u7167\u8fd4\u56de\u884c\u7684\u987a\u5e8f\u6267\u884c\uff1b\u5982\u679c\u6709\u591a\u5217\uff0c\u5219\u5728\u6bcf\u884c\u5185\u4ece\u5de6\u5230\u53f3\u6267\u884c\u3002NULL \u5b57\u6bb5\u4f1a\u88ab\u5ffd\u7565\u3002\u751f\u6210\u7684\u67e5\u8be2\u6309\u539f\u6837\u53d1\u9001\u5230\u670d\u52a1\u5668\u8fdb\u884c\u5904\u7406\uff0c\u56e0\u6b64\u4e0d\u80fd\u662f <span class=\"application\">psql</span> \u5143\u547d\u4ee4\uff0c\u4e5f\u4e0d\u80fd\u5305\u542b <span class=\"application\">psql</span> \u53d8\u91cf\u5f15\u7528\u3002\u5982\u679c\u67d0\u4e2a\u67e5\u8be2\u5931\u8d25\uff0c\u4ecd\u4f1a\u7ee7\u7eed\u6267\u884c\u5176\u4f59\u67e5\u8be2\uff0c\u9664\u975e\u8bbe\u7f6e\u4e86 <code class=\"varname\">ON_ERROR_STOP</code>\u3002\u6bcf\u4e2a\u67e5\u8be2\u7684\u6267\u884c\u90fd\u53d7 <code class=\"varname\">ECHO</code> \u5904\u7406\u7684\u5f71\u54cd\u3002\uff08\u901a\u5e38\uff0c\u5728\u4f7f\u7528<code class=\"command\">\\gexec</code> \u65f6\uff0c\u9002\u5b9c\u5c06 <code class=\"varname\">ECHO</code> \u8bbe\u4e3a <code class=\"literal\">all</code> \u6216 <code class=\"literal\">queries</code>\u3002\uff09\u67e5\u8be2\u65e5\u5fd7\u3001\u5355\u6b65\u6a21\u5f0f\u3001\u8ba1\u65f6\u53ca\u5176\u4ed6\u67e5\u8be2\u6267\u884c\u529f\u80fd\u4e5f\u9002\u7528\u4e8e\u6bcf\u4e2a\u751f\u6210\u7684\u67e5\u8be2\u3002\n        </p><p>\n         \u5982\u679c\u5f53\u524d\u67e5\u8be2\u7f13\u51b2\u533a\u4e3a\u7a7a\uff0c\u5219\u91cd\u65b0\u6267\u884c\u6700\u8fd1\u53d1\u9001\u7684\u67e5\u8be2\u3002\n        </p></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         \u5c06\u5f53\u524d\u67e5\u8be2\u7f13\u51b2\u533a\u53d1\u9001\u5230\u670d\u52a1\u5668\uff0c\u7136\u540e\u5c06\u67e5\u8be2\u8f93\u51fa\u7684\u6bcf\u884c\u6bcf\u5217\u89c6\u4e3a\u8981\u6267\u884c\u7684 SQL \u8bed\u53e5\u3002\u4f8b\u5982\uff0c\u8981\u5728 <code class=\"structname\">my_table</code> \u7684\u6bcf\u4e00\u5217\u4e0a\u521b\u5efa\u7d22\u5f15\uff1a\n</p><pre class=\"programlisting\">=&gt; <strong class=\"userinput\"><code>SELECT format('create index on my_table(%I)', attname)</code></strong>\n-&gt; <strong class=\"userinput\"><code>FROM pg_attribute</code></strong>\n-&gt; <strong class=\"userinput\"><code>WHERE attrelid = 'my_table'::regclass AND attnum &gt; 0</code></strong>\n-&gt; <strong class=\"userinput\"><code>ORDER BY attnum</code></strong>\n-&gt; <strong class=\"userinput\"><code>\\gexec</code></strong>\nCREATE INDEX\nCREATE INDEX\nCREATE INDEX\nCREATE INDEX\n</pre><p>\n</p><p>\n         \u751f\u6210\u7684\u67e5\u8be2\u6309\u7167\u8fd4\u56de\u884c\u7684\u987a\u5e8f\u6267\u884c\uff1b\u5982\u679c\u6709\u591a\u5217\uff0c\u5219\u5728\u6bcf\u884c\u5185\u4ece\u5de6\u5230\u53f3\u6267\u884c\u3002NULL \u5b57\u6bb5\u4f1a\u88ab\u5ffd\u7565\u3002\u751f\u6210\u7684\u67e5\u8be2\u6309\u539f\u6837\u53d1\u9001\u5230\u670d\u52a1\u5668\u8fdb\u884c\u5904\u7406\uff0c\u56e0\u6b64\u4e0d\u80fd\u662f <span class=\"application\">psql</span> \u5143\u547d\u4ee4\uff0c\u4e5f\u4e0d\u80fd\u5305\u542b <span class=\"application\">psql</span> \u53d8\u91cf\u5f15\u7528\u3002\u5982\u679c\u67d0\u4e2a\u67e5\u8be2\u5931\u8d25\uff0c\u4ecd\u4f1a\u7ee7\u7eed\u6267\u884c\u5176\u4f59\u67e5\u8be2\uff0c\u9664\u975e\u8bbe\u7f6e\u4e86 <code class=\"varname\">ON_ERROR_STOP</code>\u3002\u6bcf\u4e2a\u67e5\u8be2\u7684\u6267\u884c\u90fd\u53d7 <code class=\"varname\">ECHO</code> \u5904\u7406\u7684\u5f71\u54cd\u3002\uff08\u901a\u5e38\uff0c\u5728\u4f7f\u7528<code class=\"command\">\\gexec</code> \u65f6\uff0c\u9002\u5b9c\u5c06 <code class=\"varname\">ECHO</code> \u8bbe\u4e3a <code class=\"literal\">all</code> \u6216 <code class=\"literal\">queries</code>\u3002\uff09\u67e5\u8be2\u65e5\u5fd7\u3001\u5355\u6b65\u6a21\u5f0f\u3001\u8ba1\u65f6\u53ca\u5176\u4ed6\u67e5\u8be2\u6267\u884c\u529f\u80fd\u4e5f\u9002\u7528\u4e8e\u6bcf\u4e2a\u751f\u6210\u7684\u67e5\u8be2\u3002\n        </p><p>\n         \u5982\u679c\u5f53\u524d\u67e5\u8be2\u7f13\u51b2\u533a\u4e3a\u7a7a\uff0c\u5219\u91cd\u65b0\u6267\u884c\u6700\u8fd1\u53d1\u9001\u7684\u67e5\u8be2\u3002\n        </p></dd></dl>"}, "comparison": {"left": "13", "right": "14", "status": "changed", "diff": "--- PostgreSQL 13\n+++ PostgreSQL 14\n@@ -1,5 +1,5 @@\n {\n-  \"definition\": \"Sends the current query buffer to the server, then treats each column of each row of the query's output (if any) as a SQL statement to be executed. For example, to create an index on each column of my_table : => SELECT format('create index on my_table(%I)', attname) -> FROM pg_attribute -> WHERE attrelid = 'my_table'::regclass AND attnum > 0 -> ORDER BY attnum -> \\\\gexec CREATE INDEX CREATE INDEX CREATE INDEX CREATE INDEX The generated queries are executed in the order in which the rows are returned, and left-to-right within each row if there is more than one column. NULL fields are ignored. The generated queries are sent literally to the server for processing, so they cannot be psql meta-commands nor contain psql variable references. If any individual query fails, execution of the remaining queries continues unless ON_ERROR_STOP is set. Execution of each query is subject to ECHO processing. (Setting ECHO to all or queries is often advisable when using \\\\gexec .) Query logging, single-step mode, timing, and other query execution features apply to each generated query as well. If the current query buffer is empty, the most recently sent query is re-executed instead.\",\n+  \"definition\": \"Sends the current query buffer to the server, then treats each column of each row of the query's output (if any) as an SQL statement to be executed. For example, to create an index on each column of my_table : => SELECT format('create index on my_table(%I)', attname) -> FROM pg_attribute -> WHERE attrelid = 'my_table'::regclass AND attnum > 0 -> ORDER BY attnum -> \\\\gexec CREATE INDEX CREATE INDEX CREATE INDEX CREATE INDEX The generated queries are executed in the order in which the rows are returned, and left-to-right within each row if there is more than one column. NULL fields are ignored. The generated queries are sent literally to the server for processing, so they cannot be psql meta-commands nor contain psql variable references. If any individual query fails, execution of the remaining queries continues unless ON_ERROR_STOP is set. Execution of each query is subject to ECHO processing. (Setting ECHO to all or queries is often advisable when using \\\\gexec .) Query logging, single-step mode, timing, and other query execution features apply to each generated query as well. If the current query buffer is empty, the most recently sent query is re-executed instead.\",\n   \"modifiers\": [],\n   \"signature\": \"\\\\gexec\",\n   \"spellings\": ["}}