{"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\u7684SQL\u8bed\u53e5\u3002\u4f8b\u5982\uff0c\u8981\u5728 my_table \u7684\u6bcf\u4e00\u5217\u4e0a\u521b\u5efa\u7d22\u5f15\uff1a", "aliases": ["\\gexec"], "content_hash": "8f13c164879cf7409301ca76b22cf5e2a9a2270510fd2782f9591c1d93d39660", "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": "https://pg.center/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", "language": "en", "original_url": "/docs/10/app-psql.html#APP-PSQL-META-COMMANDS"}], "sections": [], "modifiers": [], "signature": "\\gexec", "spellings": ["\\gexec"], "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"], "manual_html": "<div><dl class=\"variablelist\"><dt><span class=\"term\"><code class=\"literal\">\\gexec</code></span></dt><dd>\n<p lang=\"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 <code class=\"structname\">my_table</code>\uff1a</p>\n<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>\n<p lang=\"zh\">\u751f\u6210\u7684\u67e5\u8be2\u6309\u8fd4\u56de\u884c\u7684\u987a\u5e8f\u6267\u884c\uff1b\u540c\u4e00\u884c\u6709\u591a\u5217\u65f6\u4ece\u5de6\u5230\u53f3\u6267\u884c\uff0c\u5ffd\u7565 NULL \u5b57\u6bb5\u3002\u67e5\u8be2\u539f\u6837\u53d1\u9001\u7ed9\u670d\u52a1\u5668\uff0c\u56e0\u6b64\u4e0d\u80fd\u662f psql \u5143\u547d\u4ee4\uff0c\u4e5f\u4e0d\u80fd\u5305\u542b psql \u53d8\u91cf\u5f15\u7528\u3002\u9664\u975e\u8bbe\u7f6e ON_ERROR_STOP\uff0c\u67d0\u6761\u67e5\u8be2\u5931\u8d25\u540e\u4ecd\u7ee7\u7eed\u6267\u884c\u5176\u4f59\u67e5\u8be2\u3002\u6bcf\u6761\u67e5\u8be2\u5747\u9075\u5faa ECHO \u8bbe\u7f6e\uff08\u4f7f\u7528 \\gexec \u65f6\uff0c\u901a\u5e38\u5efa\u8bae\u5c06 ECHO \u8bbe\u4e3a all \u6216 queries\uff09\uff0c\u67e5\u8be2\u65e5\u5fd7\u3001\u5355\u6b65\u6a21\u5f0f\u3001\u8ba1\u65f6\u7b49\u6267\u884c\u529f\u80fd\u4e5f\u5206\u522b\u5e94\u7528\u4e8e\u6bcf\u6761\u751f\u6210\u7684\u67e5\u8be2\u3002</p>\n<p lang=\"zh\">\u82e5\u5f53\u524d\u67e5\u8be2\u7f13\u51b2\u533a\u4e3a\u7a7a\uff0c\u5219\u91cd\u65b0\u6267\u884c\u6700\u8fd1\u53d1\u9001\u7684\u67e5\u8be2\u3002</p>\n</dd></dl></div>", "manual_path": "app-psql.html#APP-PSQL-META-COMMANDS", "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"}, "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"}, "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": "https://pg.center/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", "language": "en", "original_url": "/docs/11/app-psql.html#APP-PSQL-META-COMMANDS"}], "sections": [], "modifiers": [], "signature": "\\gexec", "spellings": ["\\gexec"], "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"], "manual_html": "<div><dl class=\"variablelist\"><dt><span class=\"term\"><code class=\"literal\">\\gexec</code></span></dt><dd>\n<p lang=\"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 <code class=\"structname\">my_table</code>\uff1a</p>\n<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>\n<p lang=\"zh\">\u751f\u6210\u7684\u67e5\u8be2\u6309\u8fd4\u56de\u884c\u7684\u987a\u5e8f\u6267\u884c\uff1b\u540c\u4e00\u884c\u6709\u591a\u5217\u65f6\u4ece\u5de6\u5230\u53f3\u6267\u884c\uff0c\u5ffd\u7565 NULL \u5b57\u6bb5\u3002\u67e5\u8be2\u539f\u6837\u53d1\u9001\u7ed9\u670d\u52a1\u5668\uff0c\u56e0\u6b64\u4e0d\u80fd\u662f psql \u5143\u547d\u4ee4\uff0c\u4e5f\u4e0d\u80fd\u5305\u542b psql \u53d8\u91cf\u5f15\u7528\u3002\u9664\u975e\u8bbe\u7f6e ON_ERROR_STOP\uff0c\u67d0\u6761\u67e5\u8be2\u5931\u8d25\u540e\u4ecd\u7ee7\u7eed\u6267\u884c\u5176\u4f59\u67e5\u8be2\u3002\u6bcf\u6761\u67e5\u8be2\u5747\u9075\u5faa ECHO \u8bbe\u7f6e\uff08\u4f7f\u7528 \\gexec \u65f6\uff0c\u901a\u5e38\u5efa\u8bae\u5c06 ECHO \u8bbe\u4e3a all \u6216 queries\uff09\uff0c\u67e5\u8be2\u65e5\u5fd7\u3001\u5355\u6b65\u6a21\u5f0f\u3001\u8ba1\u65f6\u7b49\u6267\u884c\u529f\u80fd\u4e5f\u5206\u522b\u5e94\u7528\u4e8e\u6bcf\u6761\u751f\u6210\u7684\u67e5\u8be2\u3002</p>\n<p lang=\"zh\">\u82e5\u5f53\u524d\u67e5\u8be2\u7f13\u51b2\u533a\u4e3a\u7a7a\uff0c\u5219\u91cd\u65b0\u6267\u884c\u6700\u8fd1\u53d1\u9001\u7684\u67e5\u8be2\u3002</p>\n</dd></dl></div>", "manual_path": "app-psql.html#APP-PSQL-META-COMMANDS", "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"}, "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"}, "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": "https://pg.center/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", "language": "en", "original_url": "/docs/12/app-psql.html#APP-PSQL-META-COMMANDS"}], "sections": [], "modifiers": [], "signature": "\\gexec", "spellings": ["\\gexec"], "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"], "manual_html": "<div><dl class=\"variablelist\"><dt><span class=\"term\"><code class=\"literal\">\\gexec</code></span></dt><dd>\n<p lang=\"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 <code class=\"structname\">my_table</code>\uff1a</p>\n<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>\n<p lang=\"zh\">\u751f\u6210\u7684\u67e5\u8be2\u6309\u8fd4\u56de\u884c\u7684\u987a\u5e8f\u6267\u884c\uff1b\u540c\u4e00\u884c\u6709\u591a\u5217\u65f6\u4ece\u5de6\u5230\u53f3\u6267\u884c\uff0c\u5ffd\u7565 NULL \u5b57\u6bb5\u3002\u67e5\u8be2\u539f\u6837\u53d1\u9001\u7ed9\u670d\u52a1\u5668\uff0c\u56e0\u6b64\u4e0d\u80fd\u662f psql \u5143\u547d\u4ee4\uff0c\u4e5f\u4e0d\u80fd\u5305\u542b psql \u53d8\u91cf\u5f15\u7528\u3002\u9664\u975e\u8bbe\u7f6e ON_ERROR_STOP\uff0c\u67d0\u6761\u67e5\u8be2\u5931\u8d25\u540e\u4ecd\u7ee7\u7eed\u6267\u884c\u5176\u4f59\u67e5\u8be2\u3002\u6bcf\u6761\u67e5\u8be2\u5747\u9075\u5faa ECHO \u8bbe\u7f6e\uff08\u4f7f\u7528 \\gexec \u65f6\uff0c\u901a\u5e38\u5efa\u8bae\u5c06 ECHO \u8bbe\u4e3a all \u6216 queries\uff09\uff0c\u67e5\u8be2\u65e5\u5fd7\u3001\u5355\u6b65\u6a21\u5f0f\u3001\u8ba1\u65f6\u7b49\u6267\u884c\u529f\u80fd\u4e5f\u5206\u522b\u5e94\u7528\u4e8e\u6bcf\u6761\u751f\u6210\u7684\u67e5\u8be2\u3002</p>\n<p lang=\"zh\">\u82e5\u5f53\u524d\u67e5\u8be2\u7f13\u51b2\u533a\u4e3a\u7a7a\uff0c\u5219\u91cd\u65b0\u6267\u884c\u6700\u8fd1\u53d1\u9001\u7684\u67e5\u8be2\u3002</p>\n</dd></dl></div>", "manual_path": "app-psql.html#APP-PSQL-META-COMMANDS", "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"}, "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"}, "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": "https://pg.center/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", "language": "en", "original_url": "/docs/13/app-psql.html#APP-PSQL-META-COMMANDS"}], "sections": [], "modifiers": [], "signature": "\\gexec", "spellings": ["\\gexec"], "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"], "manual_html": "<div><dl class=\"variablelist\"><dt><span class=\"term\"><code class=\"literal\">\\gexec</code></span></dt><dd>\n<p lang=\"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 <code class=\"structname\">my_table</code>\uff1a</p>\n<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>\n<p lang=\"zh\">\u751f\u6210\u7684\u67e5\u8be2\u6309\u8fd4\u56de\u884c\u7684\u987a\u5e8f\u6267\u884c\uff1b\u540c\u4e00\u884c\u6709\u591a\u5217\u65f6\u4ece\u5de6\u5230\u53f3\u6267\u884c\uff0c\u5ffd\u7565 NULL \u5b57\u6bb5\u3002\u67e5\u8be2\u539f\u6837\u53d1\u9001\u7ed9\u670d\u52a1\u5668\uff0c\u56e0\u6b64\u4e0d\u80fd\u662f psql \u5143\u547d\u4ee4\uff0c\u4e5f\u4e0d\u80fd\u5305\u542b psql \u53d8\u91cf\u5f15\u7528\u3002\u9664\u975e\u8bbe\u7f6e ON_ERROR_STOP\uff0c\u67d0\u6761\u67e5\u8be2\u5931\u8d25\u540e\u4ecd\u7ee7\u7eed\u6267\u884c\u5176\u4f59\u67e5\u8be2\u3002\u6bcf\u6761\u67e5\u8be2\u5747\u9075\u5faa ECHO \u8bbe\u7f6e\uff08\u4f7f\u7528 \\gexec \u65f6\uff0c\u901a\u5e38\u5efa\u8bae\u5c06 ECHO \u8bbe\u4e3a all \u6216 queries\uff09\uff0c\u67e5\u8be2\u65e5\u5fd7\u3001\u5355\u6b65\u6a21\u5f0f\u3001\u8ba1\u65f6\u7b49\u6267\u884c\u529f\u80fd\u4e5f\u5206\u522b\u5e94\u7528\u4e8e\u6bcf\u6761\u751f\u6210\u7684\u67e5\u8be2\u3002</p>\n<p lang=\"zh\">\u82e5\u5f53\u524d\u67e5\u8be2\u7f13\u51b2\u533a\u4e3a\u7a7a\uff0c\u5219\u91cd\u65b0\u6267\u884c\u6700\u8fd1\u53d1\u9001\u7684\u67e5\u8be2\u3002</p>\n</dd></dl></div>", "manual_path": "app-psql.html#APP-PSQL-META-COMMANDS", "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"}, "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"}, "14": {"facts": [{"label": "\u5ba2\u6237\u7aef", "value": "psql 14.24"}, {"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.24/postgresql-14.24.tar.bz2", "label": "14.24", "major": "14", "channel": "stable", "manifest": {"pdf": {"A4": {"url": "/files/documentation/pdf/14/postgresql-14-A4.pdf", "bytes": 14354704, "pages": 2944, "sha256": "8bc6b9dd7b246888bb77f0a5e8c39a2eae52e9926569832669c7d1600becb27c", "built_at": "2026-09-26"}, "US": {"url": "/files/documentation/pdf/14/postgresql-14-US.pdf", "bytes": 14242178, "pages": 3102, "sha256": "b7ecb5a5f62d8b9f73a69e25a7d26ba285373bc53168a553bff7b77955506db4", "built_at": "2026-09-26"}}, "tree": "14", "index": "index.html", "major": "14", "pages": 1158, "release": "14.24", "source_url": "https://ftp.postgresql.org/pub/source/v14.24/postgresql-14.24.tar.bz2", "svg_assets": 3, "source_mode": "en HTML verified against the pinned official archive", "source_sha256": "a7fa7ed3d558172355f51406097a7bd4f6b473be80f311ef7cda96bf383d8897"}, "revision": "588700d46356d8837c77c7c0a4e71e645fe6535983b8f1830aa8f2e4e41c40ae", "evidence_kind": "English manual and source declarations", "source_sha256": "a7fa7ed3d558172355f51406097a7bd4f6b473be80f311ef7cda96bf383d8897"}, "sources": [{"url": "https://pg.center/docs/14/app-psql.html#APP-PSQL-META-COMMANDS", "file": "app-psql.html", "label": "14.24 English manual \u00b7 app-psql.html", "anchor": "APP-PSQL-META-COMMANDS", "sha256": "8da20abaee171c53c05658cfb2580dea645070f40bad6b46a845d710ad74c3ae", "language": "en", "original_url": "/docs/14/app-psql.html#APP-PSQL-META-COMMANDS"}], "sections": [], "modifiers": [], "signature": "\\gexec", "spellings": ["\\gexec"], "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\u7684SQL\u8bed\u53e5\u3002\u4f8b\u5982\uff0c\u8981\u5728 my_table \u7684\u6bcf\u4e00\u5217\u4e0a\u521b\u5efa\u7d22\u5f15\uff1a"], "manual_html": "<div><dl class=\"variablelist\"><dt><span class=\"term\"><code class=\"literal\">\\gexec</code></span></dt><dd>\n<p lang=\"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\u7684SQL\u8bed\u53e5\u3002\u4f8b\u5982\uff0c\u8981\u5728<code class=\"structname\">my_table</code>\u7684\u6bcf\u4e00\u5217\u4e0a\u521b\u5efa\u7d22\u5f15\uff1a</p>\n<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>\n<p lang=\"zh\">\u751f\u6210\u7684\u67e5\u8be2\u6309\u8fd4\u56de\u884c\u7684\u987a\u5e8f\u6267\u884c\uff1b\u540c\u4e00\u884c\u6709\u591a\u5217\u65f6\u4ece\u5de6\u5230\u53f3\u6267\u884c\uff0c\u5ffd\u7565 NULL \u5b57\u6bb5\u3002\u67e5\u8be2\u539f\u6837\u53d1\u9001\u7ed9\u670d\u52a1\u5668\uff0c\u56e0\u6b64\u4e0d\u80fd\u662f psql \u5143\u547d\u4ee4\uff0c\u4e5f\u4e0d\u80fd\u5305\u542b psql \u53d8\u91cf\u5f15\u7528\u3002\u9664\u975e\u8bbe\u7f6e ON_ERROR_STOP\uff0c\u67d0\u6761\u67e5\u8be2\u5931\u8d25\u540e\u4ecd\u7ee7\u7eed\u6267\u884c\u5176\u4f59\u67e5\u8be2\u3002\u6bcf\u6761\u67e5\u8be2\u5747\u9075\u5faa ECHO \u8bbe\u7f6e\uff08\u4f7f\u7528 \\gexec \u65f6\uff0c\u901a\u5e38\u5efa\u8bae\u5c06 ECHO \u8bbe\u4e3a all \u6216 queries\uff09\uff0c\u67e5\u8be2\u65e5\u5fd7\u3001\u5355\u6b65\u6a21\u5f0f\u3001\u8ba1\u65f6\u7b49\u6267\u884c\u529f\u80fd\u4e5f\u5206\u522b\u5e94\u7528\u4e8e\u6bcf\u6761\u751f\u6210\u7684\u67e5\u8be2\u3002</p>\n<p lang=\"zh\">\u82e5\u5f53\u524d\u67e5\u8be2\u7f13\u51b2\u533a\u4e3a\u7a7a\uff0c\u5219\u91cd\u65b0\u6267\u884c\u6700\u8fd1\u53d1\u9001\u7684\u67e5\u8be2\u3002</p>\n</dd></dl></div>", "manual_path": "app-psql.html#APP-PSQL-META-COMMANDS", "localization": {"status": "complete", "sources": [{"url": "/docs/14/app-psql.html", "method": "same-major semantic node", "sha256": "11c74f85ef9d2c9b3921e0c622d69dd3f1b3ed0c916197a94ddab5540153e310", "language": "zh", "matched_nodes": ["#APP-PSQL/div[7]/div[3]/div[10]/dl[0]/dd[113]/p[0]"]}], "language": "zh", "original_text": {"/versions/14/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/14/facts/0/label": "Client", "/versions/14/facts/1/label": "Case-sensitive spelling", "/versions/14/tables/0/title": "Spellings in this manual definition", "/versions/14/related/0/label": "psql command-line options and complete manual", "/versions/14/tables/0/columns/0/label": "Command", "/versions/14/tables/0/columns/1/label": "Documented suffix modifiers", "/versions/14/tables/0/rows/0/modifiers": "None listed in this signature"}, "fallback_fields": [], "source_language": "en", "original_snapshot_sha256": "0eb826f27adcedc7505e7d04556661eee4143c8bd81180a208cda6250c8b0be3"}, "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"}, "15": {"facts": [{"label": "\u5ba2\u6237\u7aef", "value": "psql 15.19"}, {"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.19/postgresql-15.19.tar.bz2", "label": "15.19", "major": "15", "channel": "stable", "manifest": {"pdf": {"A4": {"url": "/files/documentation/pdf/15/postgresql-15-A4.pdf", "bytes": 14609140, "pages": 2987, "sha256": "66228564a4d16efb47d6a914085716ecfe22ca1566db56bc7c3d82f790646d72", "built_at": "2026-09-26"}, "US": {"url": "/files/documentation/pdf/15/postgresql-15-US.pdf", "bytes": 14495690, "pages": 3153, "sha256": "645a498c2390d47a6223ec74770631185807a19c484edb0fc5a295d9f460bc02", "built_at": "2026-09-26"}}, "tree": "15", "index": "index.html", "major": "15", "pages": 1168, "release": "15.19", "source_url": "https://ftp.postgresql.org/pub/source/v15.19/postgresql-15.19.tar.bz2", "svg_assets": 3, "source_mode": "en HTML verified against the pinned official archive", "source_sha256": "e1a64a87a46b825b88c082e4518161a47aab53c45694964f8ba1df28f7859f89"}, "revision": "6af958c6520151fc7697d56e0616b03fb00522c4568158674d452ae0644ba545", "evidence_kind": "English manual and source declarations", "source_sha256": "e1a64a87a46b825b88c082e4518161a47aab53c45694964f8ba1df28f7859f89"}, "sources": [{"url": "https://pg.center/docs/15/app-psql.html#APP-PSQL-META-COMMANDS", "file": "app-psql.html", "label": "15.19 English manual \u00b7 app-psql.html", "anchor": "APP-PSQL-META-COMMANDS", "sha256": "cb07228edb4914a53530afca316fd700a250cc062af2d5a74d24add93afbd0c8", "language": "en", "original_url": "/docs/15/app-psql.html#APP-PSQL-META-COMMANDS"}], "sections": [], "modifiers": [], "signature": "\\gexec", "spellings": ["\\gexec"], "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\u7684SQL\u8bed\u53e5\u3002\u4f8b\u5982\uff0c\u8981\u5728 my_table \u7684\u6bcf\u4e00\u5217\u4e0a\u521b\u5efa\u7d22\u5f15\uff1a"], "manual_html": "<div><dl class=\"variablelist\"><dt><span class=\"term\"><code class=\"literal\">\\gexec</code></span></dt><dd>\n<p lang=\"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\u7684SQL\u8bed\u53e5\u3002\u4f8b\u5982\uff0c\u8981\u5728<code class=\"structname\">my_table</code>\u7684\u6bcf\u4e00\u5217\u4e0a\u521b\u5efa\u7d22\u5f15\uff1a</p>\n<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>\n<p lang=\"zh\">\u751f\u6210\u7684\u67e5\u8be2\u6309\u8fd4\u56de\u884c\u7684\u987a\u5e8f\u6267\u884c\uff1b\u540c\u4e00\u884c\u6709\u591a\u5217\u65f6\u4ece\u5de6\u5230\u53f3\u6267\u884c\uff0c\u5ffd\u7565 NULL \u5b57\u6bb5\u3002\u67e5\u8be2\u539f\u6837\u53d1\u9001\u7ed9\u670d\u52a1\u5668\uff0c\u56e0\u6b64\u4e0d\u80fd\u662f psql \u5143\u547d\u4ee4\uff0c\u4e5f\u4e0d\u80fd\u5305\u542b psql \u53d8\u91cf\u5f15\u7528\u3002\u9664\u975e\u8bbe\u7f6e ON_ERROR_STOP\uff0c\u67d0\u6761\u67e5\u8be2\u5931\u8d25\u540e\u4ecd\u7ee7\u7eed\u6267\u884c\u5176\u4f59\u67e5\u8be2\u3002\u6bcf\u6761\u67e5\u8be2\u5747\u9075\u5faa ECHO \u8bbe\u7f6e\uff08\u4f7f\u7528 \\gexec \u65f6\uff0c\u901a\u5e38\u5efa\u8bae\u5c06 ECHO \u8bbe\u4e3a all \u6216 queries\uff09\uff0c\u67e5\u8be2\u65e5\u5fd7\u3001\u5355\u6b65\u6a21\u5f0f\u3001\u8ba1\u65f6\u7b49\u6267\u884c\u529f\u80fd\u4e5f\u5206\u522b\u5e94\u7528\u4e8e\u6bcf\u6761\u751f\u6210\u7684\u67e5\u8be2\u3002</p>\n<p lang=\"zh\">\u82e5\u5f53\u524d\u67e5\u8be2\u7f13\u51b2\u533a\u4e3a\u7a7a\uff0c\u5219\u91cd\u65b0\u6267\u884c\u6700\u8fd1\u53d1\u9001\u7684\u67e5\u8be2\u3002</p>\n</dd></dl></div>", "manual_path": "app-psql.html#APP-PSQL-META-COMMANDS", "localization": {"status": "complete", "sources": [{"url": "/docs/15/app-psql.html", "method": "same-major semantic node", "sha256": "8d6ed2e3400192f466dca73fd9423e91b9ede916fe0981b7e0cd42bc091394d2", "language": "zh", "matched_nodes": ["#APP-PSQL/div[7]/div[3]/div[10]/dl[0]/dd[117]/p[0]"]}], "language": "zh", "original_text": {"/versions/15/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/15/facts/0/label": "Client", "/versions/15/facts/1/label": "Case-sensitive spelling", "/versions/15/tables/0/title": "Spellings in this manual definition", "/versions/15/related/0/label": "psql command-line options and complete manual", "/versions/15/tables/0/columns/0/label": "Command", "/versions/15/tables/0/columns/1/label": "Documented suffix modifiers", "/versions/15/tables/0/rows/0/modifiers": "None listed in this signature"}, "fallback_fields": [], "source_language": "en", "original_snapshot_sha256": "cd18a4d536386bdc37b30a0d5a4a7936fb0a3cc08133e34a44681c2b5c8ed15c"}, "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"}, "16": {"facts": [{"label": "\u5ba2\u6237\u7aef", "value": "psql 16.15"}, {"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.15/postgresql-16.15.tar.bz2", "label": "16.15", "major": "16", "channel": "stable", "manifest": {"pdf": {"A4": {"url": "/files/documentation/pdf/16/postgresql-16-A4.pdf", "bytes": 15282337, "pages": 3055, "sha256": "4bb6c1f63deedac98736d8c4c7bc0fad0ac24e85b07e21ee10411872f06afd06", "built_at": "2026-09-26"}, "US": {"url": "/files/documentation/pdf/16/postgresql-16-US.pdf", "bytes": 15164148, "pages": 3220, "sha256": "5b6b6166c89991199e144bb0ae34c17a5f29826251dbf19db1abc0df3a3e771b", "built_at": "2026-09-26"}}, "tree": "16", "index": "index.html", "major": "16", "pages": 1169, "release": "16.15", "source_url": "https://ftp.postgresql.org/pub/source/v16.15/postgresql-16.15.tar.bz2", "svg_assets": 3, "source_mode": "en HTML verified against the pinned official archive", "source_sha256": "c1575341fa7bd40f5274ea465b34390f4dc64cdd0770af327005caaeb9f6b7ed"}, "revision": "3c21e58b35318021716440e67bb8bafd392b6a2b965a244d90e9e33c99e0bdef", "evidence_kind": "English manual and source declarations", "source_sha256": "c1575341fa7bd40f5274ea465b34390f4dc64cdd0770af327005caaeb9f6b7ed"}, "sources": [{"url": "https://pg.center/docs/16/app-psql.html#APP-PSQL-META-COMMAND-GEXEC", "file": "app-psql.html", "label": "16.15 English manual \u00b7 app-psql.html", "anchor": "APP-PSQL-META-COMMAND-GEXEC", "sha256": "add25957a1dfc97db721f2958782be186ab90dc0f0a47c4b720b2b6c26172493", "language": "en", "original_url": "/docs/16/app-psql.html#APP-PSQL-META-COMMAND-GEXEC"}], "sections": [], "modifiers": [], "signature": "\\gexec", "spellings": ["\\gexec"], "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\u7684SQL\u8bed\u53e5\u3002\u4f8b\u5982\uff0c\u8981\u5728 my_table \u7684\u6bcf\u4e00\u5217\u4e0a\u521b\u5efa\u7d22\u5f15\uff1a"], "manual_html": "<div><dl class=\"variablelist\"><dt id=\"APP-PSQL-META-COMMAND-GEXEC\"><span class=\"term\"><code class=\"literal\">\\gexec</code></span> </dt><dd>\n<p lang=\"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\u7684SQL\u8bed\u53e5\u3002\u4f8b\u5982\uff0c\u8981\u5728<code class=\"structname\">my_table</code>\u7684\u6bcf\u4e00\u5217\u4e0a\u521b\u5efa\u7d22\u5f15\uff1a</p>\n<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>\n<p lang=\"zh\">\u751f\u6210\u7684\u67e5\u8be2\u6309\u8fd4\u56de\u884c\u7684\u987a\u5e8f\u6267\u884c\uff1b\u540c\u4e00\u884c\u6709\u591a\u5217\u65f6\u4ece\u5de6\u5230\u53f3\u6267\u884c\uff0c\u5ffd\u7565 NULL \u5b57\u6bb5\u3002\u67e5\u8be2\u539f\u6837\u53d1\u9001\u7ed9\u670d\u52a1\u5668\uff0c\u56e0\u6b64\u4e0d\u80fd\u662f psql \u5143\u547d\u4ee4\uff0c\u4e5f\u4e0d\u80fd\u5305\u542b psql \u53d8\u91cf\u5f15\u7528\u3002\u9664\u975e\u8bbe\u7f6e ON_ERROR_STOP\uff0c\u67d0\u6761\u67e5\u8be2\u5931\u8d25\u540e\u4ecd\u7ee7\u7eed\u6267\u884c\u5176\u4f59\u67e5\u8be2\u3002\u6bcf\u6761\u67e5\u8be2\u5747\u9075\u5faa ECHO \u8bbe\u7f6e\uff08\u4f7f\u7528 \\gexec \u65f6\uff0c\u901a\u5e38\u5efa\u8bae\u5c06 ECHO \u8bbe\u4e3a all \u6216 queries\uff09\uff0c\u67e5\u8be2\u65e5\u5fd7\u3001\u5355\u6b65\u6a21\u5f0f\u3001\u8ba1\u65f6\u7b49\u6267\u884c\u529f\u80fd\u4e5f\u5206\u522b\u5e94\u7528\u4e8e\u6bcf\u6761\u751f\u6210\u7684\u67e5\u8be2\u3002</p>\n<p lang=\"zh\">\u82e5\u5f53\u524d\u67e5\u8be2\u7f13\u51b2\u533a\u4e3a\u7a7a\uff0c\u5219\u91cd\u65b0\u6267\u884c\u6700\u8fd1\u53d1\u9001\u7684\u67e5\u8be2\u3002</p>\n</dd></dl></div>", "manual_path": "app-psql.html#APP-PSQL-META-COMMAND-GEXEC", "localization": {"status": "complete", "sources": [{"url": "/docs/16/app-psql.html", "method": "same-major semantic node", "sha256": "72833cd861534255277e73a650a16ab07f11c38db9df980213b8335751a3273d", "language": "zh", "matched_nodes": ["#APP-PSQL/div[7]/div[3]/div[10]/dl[0]/dd[121]/p[0]"]}], "language": "zh", "original_text": {"/versions/16/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/16/facts/0/label": "Client", "/versions/16/facts/1/label": "Case-sensitive spelling", "/versions/16/tables/0/title": "Spellings in this manual definition", "/versions/16/related/0/label": "psql command-line options and complete manual", "/versions/16/tables/0/columns/0/label": "Command", "/versions/16/tables/0/columns/1/label": "Documented suffix modifiers", "/versions/16/tables/0/rows/0/modifiers": "None listed in this signature"}, "fallback_fields": [], "source_language": "en", "original_snapshot_sha256": "2b7f449f44e47e508d90fa11b886d0438db2b08f84ab40054c763170d3512b6d"}, "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"}, "17": {"facts": [{"label": "\u5ba2\u6237\u7aef", "value": "psql 17.11"}, {"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.11/postgresql-17.11.tar.bz2", "label": "17.11", "major": "17", "channel": "stable", "manifest": {"pdf": {"A4": {"url": "/files/documentation/pdf/17/postgresql-17-A4.pdf", "bytes": 15521293, "pages": 3099, "sha256": "1991354df0dc89e70ec39328c28988ef8b19c6a93671dab3893650b63e9f4e36", "built_at": "2026-09-26"}, "US": {"url": "/files/documentation/pdf/17/postgresql-17-US.pdf", "bytes": 15398150, "pages": 3270, "sha256": "07696c8f38abf31babf22d2db337093936e7c472d2af36d050b000c49bbcf52c", "built_at": "2026-09-26"}}, "tree": "17", "index": "index.html", "major": "17", "pages": 1143, "release": "17.11", "source_url": "https://ftp.postgresql.org/pub/source/v17.11/postgresql-17.11.tar.bz2", "svg_assets": 3, "source_mode": "en SGML built with pinned official archive", "source_sha256": "dd27f2b3c59e73ed14aa3324901242bf69a032a6347805f274e6260322d42979"}, "revision": "58419c9b0dd42cb34c8d53695bb025a7e582edf55ccd4c5bcb1c2c7c71a37487", "evidence_kind": "English manual and source declarations", "source_sha256": "dd27f2b3c59e73ed14aa3324901242bf69a032a6347805f274e6260322d42979"}, "sources": [{"url": "https://pg.center/docs/17/app-psql.html#APP-PSQL-META-COMMAND-GEXEC", "file": "app-psql.html", "label": "17.11 English manual \u00b7 app-psql.html", "anchor": "APP-PSQL-META-COMMAND-GEXEC", "sha256": "04c77661f1c96a64e91a27313542c34aff0c7d2a94e350ed98c6f9f35700629b", "language": "en", "original_url": "/docs/17/app-psql.html#APP-PSQL-META-COMMAND-GEXEC"}], "sections": [], "modifiers": [], "signature": "\\gexec", "spellings": ["\\gexec"], "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\u7684SQL\u8bed\u53e5\u3002\u4f8b\u5982\uff0c\u8981\u5728 my_table \u7684\u6bcf\u4e00\u5217\u4e0a\u521b\u5efa\u7d22\u5f15\uff1a"], "manual_html": "<div><dl class=\"variablelist\"><dt id=\"APP-PSQL-META-COMMAND-GEXEC\"><span class=\"term\"><code class=\"literal\">\\gexec</code></span> </dt><dd>\n<p lang=\"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\u7684SQL\u8bed\u53e5\u3002\u4f8b\u5982\uff0c\u8981\u5728<code class=\"structname\">my_table</code>\u7684\u6bcf\u4e00\u5217\u4e0a\u521b\u5efa\u7d22\u5f15\uff1a</p>\n<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>\n<p lang=\"zh\">\u751f\u6210\u7684\u67e5\u8be2\u6309\u8fd4\u56de\u884c\u7684\u987a\u5e8f\u6267\u884c\uff1b\u540c\u4e00\u884c\u6709\u591a\u5217\u65f6\u4ece\u5de6\u5230\u53f3\u6267\u884c\uff0c\u5ffd\u7565 NULL \u5b57\u6bb5\u3002\u67e5\u8be2\u539f\u6837\u53d1\u9001\u7ed9\u670d\u52a1\u5668\uff0c\u56e0\u6b64\u4e0d\u80fd\u662f psql \u5143\u547d\u4ee4\uff0c\u4e5f\u4e0d\u80fd\u5305\u542b psql \u53d8\u91cf\u5f15\u7528\u3002\u9664\u975e\u8bbe\u7f6e ON_ERROR_STOP\uff0c\u67d0\u6761\u67e5\u8be2\u5931\u8d25\u540e\u4ecd\u7ee7\u7eed\u6267\u884c\u5176\u4f59\u67e5\u8be2\u3002\u6bcf\u6761\u67e5\u8be2\u5747\u9075\u5faa ECHO \u8bbe\u7f6e\uff08\u4f7f\u7528 \\gexec \u65f6\uff0c\u901a\u5e38\u5efa\u8bae\u5c06 ECHO \u8bbe\u4e3a all \u6216 queries\uff09\uff0c\u67e5\u8be2\u65e5\u5fd7\u3001\u5355\u6b65\u6a21\u5f0f\u3001\u8ba1\u65f6\u7b49\u6267\u884c\u529f\u80fd\u4e5f\u5206\u522b\u5e94\u7528\u4e8e\u6bcf\u6761\u751f\u6210\u7684\u67e5\u8be2\u3002</p>\n<p lang=\"zh\">\u82e5\u5f53\u524d\u67e5\u8be2\u7f13\u51b2\u533a\u4e3a\u7a7a\uff0c\u5219\u91cd\u65b0\u6267\u884c\u6700\u8fd1\u53d1\u9001\u7684\u67e5\u8be2\u3002</p>\n</dd></dl></div>", "manual_path": "app-psql.html#APP-PSQL-META-COMMAND-GEXEC", "localization": {"status": "complete", "sources": [{"url": "/docs/17/app-psql.html", "method": "same-major semantic node", "sha256": "820a5ee48a79666cef06bfe375ea9337e7a347b6d32c921738edd824fe5aa9f8", "language": "zh", "matched_nodes": ["#APP-PSQL/div[7]/div[3]/div[10]/dl[0]/dd[121]/p[0]"]}], "language": "zh", "original_text": {"/versions/17/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/17/facts/0/label": "Client", "/versions/17/facts/1/label": "Case-sensitive spelling", "/versions/17/tables/0/title": "Spellings in this manual definition", "/versions/17/related/0/label": "psql command-line options and complete manual", "/versions/17/tables/0/columns/0/label": "Command", "/versions/17/tables/0/columns/1/label": "Documented suffix modifiers", "/versions/17/tables/0/rows/0/modifiers": "None listed in this signature"}, "fallback_fields": [], "source_language": "en", "original_snapshot_sha256": "1e5ffd6df92e12444958379f65684d8ab90486e09f8aa588c39ee6d42f129166"}, "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"}, "18": {"facts": [{"label": "\u5ba2\u6237\u7aef", "value": "psql 18.6"}, {"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.6/postgresql-18.6.tar.bz2", "label": "18.6", "major": "18", "channel": "stable", "manifest": {"pdf": {"A4": {"url": "/files/documentation/pdf/18/postgresql-18-A4.pdf", "bytes": 15865106, "pages": 3154, "sha256": "19512c405da53f9f7fcf0abba359223aa65f021be025bf3411381918f92e3190", "built_at": "2026-09-26"}, "US": {"url": "/files/documentation/pdf/18/postgresql-18-US.pdf", "bytes": 15748059, "pages": 3328, "sha256": "facbe6c229e598b872d3d98bef53308f46e06746006fa4590de9a7de9dd46319", "built_at": "2026-09-26"}}, "tree": "18", "index": "index.html", "major": "18", "pages": 1148, "release": "18.6", "source_url": "https://ftp.postgresql.org/pub/source/v18.6/postgresql-18.6.tar.bz2", "svg_assets": 3, "source_mode": "en SGML built with pinned official archive", "source_sha256": "555610c24d53e4316da5b7d3fc25c279d96856d5e0e23ee308c328c5fa881d9f"}, "revision": "ee8d1a3612338fd9adf250730cb640fcc5233b5491337cc00a316a44e3a0b9f8", "evidence_kind": "English manual and source declarations", "source_sha256": "555610c24d53e4316da5b7d3fc25c279d96856d5e0e23ee308c328c5fa881d9f"}, "sources": [{"url": "https://pg.center/docs/18/app-psql.html#APP-PSQL-META-COMMAND-GEXEC", "file": "app-psql.html", "label": "18.6 English manual \u00b7 app-psql.html", "anchor": "APP-PSQL-META-COMMAND-GEXEC", "sha256": "fa2a1d39294b8854318e82e93f71272c645ed88150ecc2786c28902c3f32782c", "language": "en", "original_url": "/docs/18/app-psql.html#APP-PSQL-META-COMMAND-GEXEC"}], "sections": [], "modifiers": [], "signature": "\\gexec", "spellings": ["\\gexec"], "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\u7684SQL\u8bed\u53e5\u3002\u4f8b\u5982\uff0c\u8981\u5728 my_table \u7684\u6bcf\u4e00\u5217\u4e0a\u521b\u5efa\u7d22\u5f15\uff1a"], "manual_html": "<div><dl class=\"variablelist\"><dt id=\"APP-PSQL-META-COMMAND-GEXEC\"><span class=\"term\"><code class=\"literal\">\\gexec</code></span> </dt><dd>\n<p lang=\"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\u7684SQL\u8bed\u53e5\u3002\u4f8b\u5982\uff0c\u8981\u5728<code class=\"structname\">my_table</code>\u7684\u6bcf\u4e00\u5217\u4e0a\u521b\u5efa\u7d22\u5f15\uff1a</p>\n<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>\n<p lang=\"zh\">\u751f\u6210\u7684\u67e5\u8be2\u6309\u8fd4\u56de\u884c\u7684\u987a\u5e8f\u6267\u884c\uff1b\u540c\u4e00\u884c\u6709\u591a\u5217\u65f6\u4ece\u5de6\u5230\u53f3\u6267\u884c\uff0c\u5ffd\u7565 NULL \u5b57\u6bb5\u3002\u67e5\u8be2\u539f\u6837\u53d1\u9001\u7ed9\u670d\u52a1\u5668\uff0c\u56e0\u6b64\u4e0d\u80fd\u662f psql \u5143\u547d\u4ee4\uff0c\u4e5f\u4e0d\u80fd\u5305\u542b psql \u53d8\u91cf\u5f15\u7528\u3002\u9664\u975e\u8bbe\u7f6e ON_ERROR_STOP\uff0c\u67d0\u6761\u67e5\u8be2\u5931\u8d25\u540e\u4ecd\u7ee7\u7eed\u6267\u884c\u5176\u4f59\u67e5\u8be2\u3002\u6bcf\u6761\u67e5\u8be2\u5747\u9075\u5faa ECHO \u8bbe\u7f6e\uff08\u4f7f\u7528 \\gexec \u65f6\uff0c\u901a\u5e38\u5efa\u8bae\u5c06 ECHO \u8bbe\u4e3a all \u6216 queries\uff09\uff0c\u67e5\u8be2\u65e5\u5fd7\u3001\u5355\u6b65\u6a21\u5f0f\u3001\u8ba1\u65f6\u7b49\u6267\u884c\u529f\u80fd\u4e5f\u5206\u522b\u5e94\u7528\u4e8e\u6bcf\u6761\u751f\u6210\u7684\u67e5\u8be2\u3002</p>\n<p lang=\"zh\">\u82e5\u5f53\u524d\u67e5\u8be2\u7f13\u51b2\u533a\u4e3a\u7a7a\uff0c\u5219\u91cd\u65b0\u6267\u884c\u6700\u8fd1\u53d1\u9001\u7684\u67e5\u8be2\u3002</p>\n</dd></dl></div>", "manual_path": "app-psql.html#APP-PSQL-META-COMMAND-GEXEC", "localization": {"status": "complete", "sources": [{"url": "/docs/18/app-psql.html", "method": "same-major semantic node", "sha256": "4ff5633229e0afa7feecc2750a7187d2d45a7eef0ca8febc73e4e5c15ac7fa6d", "language": "zh", "matched_nodes": ["#APP-PSQL/div[7]/div[3]/div[11]/dl[0]/dd[125]/p[0]"]}], "language": "zh", "original_text": {"/versions/18/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/18/facts/0/label": "Client", "/versions/18/facts/1/label": "Case-sensitive spelling", "/versions/18/tables/0/title": "Spellings in this manual definition", "/versions/18/related/0/label": "psql command-line options and complete manual", "/versions/18/tables/0/columns/0/label": "Command", "/versions/18/tables/0/columns/1/label": "Documented suffix modifiers", "/versions/18/tables/0/rows/0/modifiers": "None listed in this signature"}, "fallback_fields": [], "source_language": "en", "original_snapshot_sha256": "308119e26b594d1968943870b3e4001778d5e09ea0969ec1fc31125e4cae5b01"}, "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"}, "19": {"facts": [{"label": "\u5ba2\u6237\u7aef", "value": "psql 19beta4"}, {"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/v19beta4/postgresql-19beta4.tar.bz2", "label": "19beta4", "major": "19", "channel": "preview", "manifest": {"pdf": {"A4": {"url": "/files/documentation/pdf/19/postgresql-19-A4.pdf", "bytes": 16064841, "pages": 3052, "sha256": "4dd099e4125c591128fc5f3ebd02178dc24781f9e5ae629f96d67c4c8547427b", "built_at": "2026-09-26"}, "US": {"url": "/files/documentation/pdf/19/postgresql-19-US.pdf", "bytes": 15974616, "pages": 3225, "sha256": "61971fa857f0956d47341a0388fa6af9ae10acf691d4b2fc009007d384b0342b", "built_at": "2026-09-26"}}, "tree": "19", "index": "index.html", "major": "19", "pages": 1155, "release": "19beta4", "source_url": "https://ftp.postgresql.org/pub/source/v19beta4/postgresql-19beta4.tar.bz2", "svg_assets": 5, "source_mode": "en SGML built with pinned official archive", "source_sha256": "83157ee9c599d03b2f7a3d73ef3a56ec24e0e79cc2b3501a64d1364f56398c86"}, "revision": "1bbbbf4133d426f0e4304010688d2984c30fb67df0cc3a61b3e37eb3f6f37833", "evidence_kind": "English manual and source declarations", "source_sha256": "83157ee9c599d03b2f7a3d73ef3a56ec24e0e79cc2b3501a64d1364f56398c86"}, "sources": [{"url": "https://pg.center/docs/19/app-psql.html#APP-PSQL-META-COMMAND-GEXEC", "file": "app-psql.html", "label": "19beta4 English manual \u00b7 app-psql.html", "anchor": "APP-PSQL-META-COMMAND-GEXEC", "sha256": "312975c12d6e4d62aeebcb5e98e7ca795c6d07ecb743b4bc64403dc42bc2a6e9", "language": "en", "original_url": "/docs/19/app-psql.html#APP-PSQL-META-COMMAND-GEXEC"}], "sections": [], "modifiers": [], "signature": "\\gexec", "spellings": ["\\gexec"], "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\u7684SQL\u8bed\u53e5\u3002\u4f8b\u5982\uff0c\u8981\u5728 my_table \u7684\u6bcf\u4e00\u5217\u4e0a\u521b\u5efa\u7d22\u5f15\uff1a"], "manual_html": "<div><dl class=\"variablelist\"><dt id=\"APP-PSQL-META-COMMAND-GEXEC\"><span class=\"term\"><code class=\"literal\">\\gexec</code></span> </dt><dd>\n<p lang=\"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\u7684SQL\u8bed\u53e5\u3002\u4f8b\u5982\uff0c\u8981\u5728<code class=\"structname\">my_table</code>\u7684\u6bcf\u4e00\u5217\u4e0a\u521b\u5efa\u7d22\u5f15\uff1a</p>\n<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>\n<p lang=\"zh\">\u751f\u6210\u7684\u67e5\u8be2\u6309\u8fd4\u56de\u884c\u7684\u987a\u5e8f\u6267\u884c\uff1b\u540c\u4e00\u884c\u6709\u591a\u5217\u65f6\u4ece\u5de6\u5230\u53f3\u6267\u884c\uff0c\u5ffd\u7565 NULL \u5b57\u6bb5\u3002\u67e5\u8be2\u539f\u6837\u53d1\u9001\u7ed9\u670d\u52a1\u5668\uff0c\u56e0\u6b64\u4e0d\u80fd\u662f psql \u5143\u547d\u4ee4\uff0c\u4e5f\u4e0d\u80fd\u5305\u542b psql \u53d8\u91cf\u5f15\u7528\u3002\u9664\u975e\u8bbe\u7f6e ON_ERROR_STOP\uff0c\u67d0\u6761\u67e5\u8be2\u5931\u8d25\u540e\u4ecd\u7ee7\u7eed\u6267\u884c\u5176\u4f59\u67e5\u8be2\u3002\u6bcf\u6761\u67e5\u8be2\u5747\u9075\u5faa ECHO \u8bbe\u7f6e\uff08\u4f7f\u7528 \\gexec \u65f6\uff0c\u901a\u5e38\u5efa\u8bae\u5c06 ECHO \u8bbe\u4e3a all \u6216 queries\uff09\uff0c\u67e5\u8be2\u65e5\u5fd7\u3001\u5355\u6b65\u6a21\u5f0f\u3001\u8ba1\u65f6\u7b49\u6267\u884c\u529f\u80fd\u4e5f\u5206\u522b\u5e94\u7528\u4e8e\u6bcf\u6761\u751f\u6210\u7684\u67e5\u8be2\u3002</p>\n<p lang=\"zh\">\u82e5\u5f53\u524d\u67e5\u8be2\u7f13\u51b2\u533a\u4e3a\u7a7a\uff0c\u5219\u91cd\u65b0\u6267\u884c\u6700\u8fd1\u53d1\u9001\u7684\u67e5\u8be2\u3002</p>\n</dd></dl></div>", "manual_path": "app-psql.html#APP-PSQL-META-COMMAND-GEXEC", "localization": {"status": "complete", "sources": [{"url": "/docs/19/app-psql.html", "method": "same-major semantic node", "sha256": "1351be06967585f99a84454a26dff346091ea378daf6c7ed9fa18edee9d1131c", "language": "zh", "matched_nodes": ["#APP-PSQL/div[7]/div[3]/div[11]/dl[0]/dd[125]/p[0]"]}], "language": "zh", "original_text": {"/versions/19/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/19/facts/0/label": "Client", "/versions/19/facts/1/label": "Case-sensitive spelling", "/versions/19/tables/0/title": "Spellings in this manual definition", "/versions/19/related/0/label": "psql command-line options and complete manual", "/versions/19/tables/0/columns/0/label": "Command", "/versions/19/tables/0/columns/1/label": "Documented suffix modifiers", "/versions/19/tables/0/rows/0/modifiers": "None listed in this signature"}, "fallback_fields": [], "source_language": "en", "original_snapshot_sha256": "f1708a9e18f2417c6c6d26e2a378270f51e6dfa6ed7239771816e4e827caca42"}, "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"}, "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": {"pdf": {"A4": {"url": "/files/documentation/pdf/20/postgresql-20-A4.pdf", "bytes": 16030631, "pages": 3052, "sha256": "bd5d82c0ce38fc18f92a0447818a91a193a261776bca1c37564bf9a683e177d0", "built_at": "2026-09-28"}, "US": {"url": "/files/documentation/pdf/20/postgresql-20-US.pdf", "bytes": 15936613, "pages": 3223, "sha256": "d97d9e0db479a02f4234b175f50fcad70c3661619afc8d6df9b9437882e3c299", "built_at": "2026-09-28"}}, "tree": "0", "index": "index.html", "major": "20", "pages": 1156, "release": "20devel", "source_url": "https://ftp.postgresql.org/pub/snapshot/dev/postgresql-snapshot.tar.bz2", "svg_assets": 6, "source_mode": "en SGML built with pinned official archive", "source_sha256": "4d3346909b201ac1648232cf290462a7070c119326f56196f1f0253ed80fae41", "source_snapshot_utc": "26-Sep-2026 20:22"}, "revision": "2eba5e0fd4c3bffb2803247b6cd537878e9d6ee5a6dfbe3c50ece8b421b80918", "evidence_kind": "English manual and source declarations", "source_sha256": "4d3346909b201ac1648232cf290462a7070c119326f56196f1f0253ed80fae41"}, "sources": [{"url": "https://pg.center/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": "6df5f6fbaff7800ae0e4a08a3116090d890a0cdcc02fddc31c1f220725905f87", "language": "en", "original_url": "/docs/devel/app-psql.html#APP-PSQL-META-COMMAND-GEXEC"}], "sections": [], "modifiers": [], "signature": "\\gexec", "spellings": ["\\gexec"], "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\u7684SQL\u8bed\u53e5\u3002\u4f8b\u5982\uff0c\u8981\u5728 my_table \u7684\u6bcf\u4e00\u5217\u4e0a\u521b\u5efa\u7d22\u5f15\uff1a"], "manual_html": "<div><dl class=\"variablelist\"><dt id=\"APP-PSQL-META-COMMAND-GEXEC\"><span class=\"term\"><code class=\"literal\">\\gexec</code></span> </dt><dd>\n<p lang=\"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\u7684SQL\u8bed\u53e5\u3002\u4f8b\u5982\uff0c\u8981\u5728<code class=\"structname\">my_table</code>\u7684\u6bcf\u4e00\u5217\u4e0a\u521b\u5efa\u7d22\u5f15\uff1a</p>\n<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>\n<p lang=\"zh\">\u751f\u6210\u7684\u67e5\u8be2\u6309\u8fd4\u56de\u884c\u7684\u987a\u5e8f\u6267\u884c\uff1b\u540c\u4e00\u884c\u6709\u591a\u5217\u65f6\u4ece\u5de6\u5230\u53f3\u6267\u884c\uff0c\u5ffd\u7565 NULL \u5b57\u6bb5\u3002\u67e5\u8be2\u539f\u6837\u53d1\u9001\u7ed9\u670d\u52a1\u5668\uff0c\u56e0\u6b64\u4e0d\u80fd\u662f psql \u5143\u547d\u4ee4\uff0c\u4e5f\u4e0d\u80fd\u5305\u542b psql \u53d8\u91cf\u5f15\u7528\u3002\u9664\u975e\u8bbe\u7f6e ON_ERROR_STOP\uff0c\u67d0\u6761\u67e5\u8be2\u5931\u8d25\u540e\u4ecd\u7ee7\u7eed\u6267\u884c\u5176\u4f59\u67e5\u8be2\u3002\u6bcf\u6761\u67e5\u8be2\u5747\u9075\u5faa ECHO \u8bbe\u7f6e\uff08\u4f7f\u7528 \\gexec \u65f6\uff0c\u901a\u5e38\u5efa\u8bae\u5c06 ECHO \u8bbe\u4e3a all \u6216 queries\uff09\uff0c\u67e5\u8be2\u65e5\u5fd7\u3001\u5355\u6b65\u6a21\u5f0f\u3001\u8ba1\u65f6\u7b49\u6267\u884c\u529f\u80fd\u4e5f\u5206\u522b\u5e94\u7528\u4e8e\u6bcf\u6761\u751f\u6210\u7684\u67e5\u8be2\u3002</p>\n<p lang=\"zh\">\u82e5\u5f53\u524d\u67e5\u8be2\u7f13\u51b2\u533a\u4e3a\u7a7a\uff0c\u5219\u91cd\u65b0\u6267\u884c\u6700\u8fd1\u53d1\u9001\u7684\u67e5\u8be2\u3002</p>\n</dd></dl></div>", "manual_path": "app-psql.html#APP-PSQL-META-COMMAND-GEXEC", "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"}, "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"}}}, "snapshot": {"facts": [{"label": "\u5ba2\u6237\u7aef", "value": "psql 18.6"}, {"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.6/postgresql-18.6.tar.bz2", "label": "18.6", "major": "18", "channel": "stable", "manifest": {"pdf": {"A4": {"url": "/files/documentation/pdf/18/postgresql-18-A4.pdf", "bytes": 15865106, "pages": 3154, "sha256": "19512c405da53f9f7fcf0abba359223aa65f021be025bf3411381918f92e3190", "built_at": "2026-09-26"}, "US": {"url": "/files/documentation/pdf/18/postgresql-18-US.pdf", "bytes": 15748059, "pages": 3328, "sha256": "facbe6c229e598b872d3d98bef53308f46e06746006fa4590de9a7de9dd46319", "built_at": "2026-09-26"}}, "tree": "18", "index": "index.html", "major": "18", "pages": 1148, "release": "18.6", "source_url": "https://ftp.postgresql.org/pub/source/v18.6/postgresql-18.6.tar.bz2", "svg_assets": 3, "source_mode": "en SGML built with pinned official archive", "source_sha256": "555610c24d53e4316da5b7d3fc25c279d96856d5e0e23ee308c328c5fa881d9f"}, "revision": "ee8d1a3612338fd9adf250730cb640fcc5233b5491337cc00a316a44e3a0b9f8", "evidence_kind": "English manual and source declarations", "source_sha256": "555610c24d53e4316da5b7d3fc25c279d96856d5e0e23ee308c328c5fa881d9f"}, "sources": [{"url": "https://pg.center/docs/18/app-psql.html#APP-PSQL-META-COMMAND-GEXEC", "file": "app-psql.html", "label": "18.6 English manual \u00b7 app-psql.html", "anchor": "APP-PSQL-META-COMMAND-GEXEC", "sha256": "fa2a1d39294b8854318e82e93f71272c645ed88150ecc2786c28902c3f32782c", "language": "en", "original_url": "/docs/18/app-psql.html#APP-PSQL-META-COMMAND-GEXEC"}], "sections": [], "modifiers": [], "signature": "\\gexec", "spellings": ["\\gexec"], "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\u7684SQL\u8bed\u53e5\u3002\u4f8b\u5982\uff0c\u8981\u5728 my_table \u7684\u6bcf\u4e00\u5217\u4e0a\u521b\u5efa\u7d22\u5f15\uff1a"], "manual_html": "<div><dl class=\"variablelist\"><dt id=\"APP-PSQL-META-COMMAND-GEXEC\"><span class=\"term\"><code class=\"literal\">\\gexec</code></span> </dt><dd>\n<p lang=\"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\u7684SQL\u8bed\u53e5\u3002\u4f8b\u5982\uff0c\u8981\u5728<code class=\"structname\">my_table</code>\u7684\u6bcf\u4e00\u5217\u4e0a\u521b\u5efa\u7d22\u5f15\uff1a</p>\n<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>\n<p lang=\"zh\">\u751f\u6210\u7684\u67e5\u8be2\u6309\u8fd4\u56de\u884c\u7684\u987a\u5e8f\u6267\u884c\uff1b\u540c\u4e00\u884c\u6709\u591a\u5217\u65f6\u4ece\u5de6\u5230\u53f3\u6267\u884c\uff0c\u5ffd\u7565 NULL \u5b57\u6bb5\u3002\u67e5\u8be2\u539f\u6837\u53d1\u9001\u7ed9\u670d\u52a1\u5668\uff0c\u56e0\u6b64\u4e0d\u80fd\u662f psql \u5143\u547d\u4ee4\uff0c\u4e5f\u4e0d\u80fd\u5305\u542b psql \u53d8\u91cf\u5f15\u7528\u3002\u9664\u975e\u8bbe\u7f6e ON_ERROR_STOP\uff0c\u67d0\u6761\u67e5\u8be2\u5931\u8d25\u540e\u4ecd\u7ee7\u7eed\u6267\u884c\u5176\u4f59\u67e5\u8be2\u3002\u6bcf\u6761\u67e5\u8be2\u5747\u9075\u5faa ECHO \u8bbe\u7f6e\uff08\u4f7f\u7528 \\gexec \u65f6\uff0c\u901a\u5e38\u5efa\u8bae\u5c06 ECHO \u8bbe\u4e3a all \u6216 queries\uff09\uff0c\u67e5\u8be2\u65e5\u5fd7\u3001\u5355\u6b65\u6a21\u5f0f\u3001\u8ba1\u65f6\u7b49\u6267\u884c\u529f\u80fd\u4e5f\u5206\u522b\u5e94\u7528\u4e8e\u6bcf\u6761\u751f\u6210\u7684\u67e5\u8be2\u3002</p>\n<p lang=\"zh\">\u82e5\u5f53\u524d\u67e5\u8be2\u7f13\u51b2\u533a\u4e3a\u7a7a\uff0c\u5219\u91cd\u65b0\u6267\u884c\u6700\u8fd1\u53d1\u9001\u7684\u67e5\u8be2\u3002</p>\n</dd></dl></div>", "manual_path": "app-psql.html#APP-PSQL-META-COMMAND-GEXEC", "localization": {"status": "complete", "sources": [{"url": "/docs/18/app-psql.html", "method": "same-major semantic node", "sha256": "4ff5633229e0afa7feecc2750a7187d2d45a7eef0ca8febc73e4e5c15ac7fa6d", "language": "zh", "matched_nodes": ["#APP-PSQL/div[7]/div[3]/div[11]/dl[0]/dd[125]/p[0]"]}], "language": "zh", "original_text": {"/versions/18/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/18/facts/0/label": "Client", "/versions/18/facts/1/label": "Case-sensitive spelling", "/versions/18/tables/0/title": "Spellings in this manual definition", "/versions/18/related/0/label": "psql command-line options and complete manual", "/versions/18/tables/0/columns/0/label": "Command", "/versions/18/tables/0/columns/1/label": "Documented suffix modifiers", "/versions/18/tables/0/rows/0/modifiers": "None listed in this signature"}, "fallback_fields": [], "source_language": "en", "original_snapshot_sha256": "308119e26b594d1968943870b3e4001778d5e09ea0969ec1fc31125e4cae5b01"}, "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"}, "comparison": {"left": "17", "right": "18", "status": "unchanged", "diff": ""}}