{"kind": "psql", "major": "18", "item": {"slug": "cmd-65-6e-64-70-69-70-65-6c-69-6e-65", "name": "\\endpipeline", "name_zh": "", "category": "Query execution", "summary": "This group of commands implements pipelining of SQL statements. A pipeline must begin with a \\startpipeline and end with an \\endpipeline . In between there may be any number of \\syncpipeline commands, which sends a sync message without ending the ongoing pipeline and flushing the send buffer. In pipeline mode, statements are sent to the server without waiting for the results of previous statements. See Section 32.5 for more details.", "aliases": ["\\endpipeline"], "content_hash": "78466ba3b8d24d4dddb17afada201d30756b14f664e93e40071e918a43551654", "versions": {"18": {"facts": [{"label": "Client", "value": "psql 18.6"}, {"label": "Case-sensitive spelling", "value": "\\endpipeline"}], "tables": [{"key": "spellings", "rows": [{"command": {"url": "/wiki/psql/cmd-73-74-61-72-74-70-69-70-65-6c-69-6e-65/?v=18", "text": "\\startpipeline"}, "modifiers": "None listed in this signature"}, {"command": {"url": "/wiki/psql/cmd-73-65-6e-64-70-69-70-65-6c-69-6e-65/?v=18", "text": "\\sendpipeline"}, "modifiers": "None listed in this signature"}, {"command": {"url": "/wiki/psql/cmd-73-79-6e-63-70-69-70-65-6c-69-6e-65/?v=18", "text": "\\syncpipeline"}, "modifiers": "None listed in this signature"}, {"command": {"url": "/wiki/psql/cmd-65-6e-64-70-69-70-65-6c-69-6e-65/?v=18", "text": "\\endpipeline"}, "modifiers": "None listed in this signature"}, {"command": {"url": "/wiki/psql/cmd-66-6c-75-73-68-72-65-71-75-65-73-74/?v=18", "text": "\\flushrequest"}, "modifiers": "None listed in this signature"}, {"command": {"url": "/wiki/psql/cmd-66-6c-75-73-68/?v=18", "text": "\\flush"}, "modifiers": "None listed in this signature"}, {"command": {"url": "/wiki/psql/cmd-67-65-74-72-65-73-75-6c-74-73/?v=18", "text": "\\getresults"}, "modifiers": "None listed in this signature"}], "title": "Spellings in this manual definition", "columns": [{"key": "command", "label": "Command"}, {"key": "modifiers", "label": "Documented suffix modifiers"}]}], "command": "\\endpipeline", "related": [{"url": "/wiki/psql/cmd-73-74-61-72-74-70-69-70-65-6c-69-6e-65/?v=18", "label": "\\startpipeline"}, {"url": "/wiki/psql/cmd-73-65-6e-64-70-69-70-65-6c-69-6e-65/?v=18", "label": "\\sendpipeline"}, {"url": "/wiki/psql/cmd-73-79-6e-63-70-69-70-65-6c-69-6e-65/?v=18", "label": "\\syncpipeline"}, {"url": "/wiki/psql/cmd-66-6c-75-73-68-72-65-71-75-65-73-74/?v=18", "label": "\\flushrequest"}, {"url": "/wiki/psql/cmd-66-6c-75-73-68/?v=18", "label": "\\flush"}, {"url": "/wiki/psql/cmd-67-65-74-72-65-73-75-6c-74-73/?v=18", "label": "\\getresults"}, {"url": "/wiki/tool/psql/?v=18", "label": "psql command-line options and complete manual"}], "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": "/docs/18/app-psql.html#APP-PSQL-META-COMMAND-PIPELINE", "file": "app-psql.html", "label": "18.6 English manual \u00b7 app-psql.html", "anchor": "APP-PSQL-META-COMMAND-PIPELINE", "sha256": "fa2a1d39294b8854318e82e93f71272c645ed88150ecc2786c28902c3f32782c"}], "sections": [], "modifiers": [], "signature": "\\startpipeline \\sendpipeline \\syncpipeline \\endpipeline \\flushrequest \\flush \\getresults [ number_results ]", "spellings": ["\\startpipeline", "\\sendpipeline", "\\syncpipeline", "\\endpipeline", "\\flushrequest", "\\flush", "\\getresults"], "description": ["This group of commands implements pipelining of SQL statements. A pipeline must begin with a \\startpipeline and end with an \\endpipeline . In between there may be any number of \\syncpipeline commands, which sends a sync message without ending the ongoing pipeline and flushing the send buffer. In pipeline mode, statements are sent to the server without waiting for the results of previous statements. See Section 32.5 for more details."], "manual_html": "<div><dl class=\"variablelist\"><dt id=\"APP-PSQL-META-COMMAND-PIPELINE\"><span class=\"term\"><code class=\"literal\">\\startpipeline</code><br></span><span class=\"term\"><code class=\"literal\">\\sendpipeline</code><br></span><span class=\"term\"><code class=\"literal\">\\syncpipeline</code><br></span><span class=\"term\"><code class=\"literal\">\\endpipeline</code><br></span><span class=\"term\"><code class=\"literal\">\\flushrequest</code><br></span><span class=\"term\"><code class=\"literal\">\\flush</code><br></span><span class=\"term\"><code class=\"literal\">\\getresults [ <em class=\"replaceable\"><code>number_results</code></em> ]</code></span> </dt><dd>\n<p>This group of commands implements pipelining of SQL statements. A pipeline must begin with a <code class=\"command\">\\startpipeline</code> and end with an <code class=\"command\">\\endpipeline</code>. In between there may be any number of <code class=\"command\">\\syncpipeline</code> commands, which sends a <a class=\"link\" href=\"/docs/18/protocol-flow.html#PROTOCOL-FLOW-EXT-QUERY\" title=\"54.2.3.\u00a0Extended Query\">sync message</a> without ending the ongoing pipeline and flushing the send buffer. In pipeline mode, statements are sent to the server without waiting for the results of previous statements. See <a class=\"xref\" href=\"/docs/18/libpq-pipeline-mode.html\" title=\"32.5.\u00a0Pipeline Mode\">Section\u00a032.5</a> for more details.</p>\n<p>All queries executed while a pipeline is ongoing use the extended query protocol. Queries are appended to the pipeline when ending with a semicolon. The meta-commands <code class=\"literal\">\\bind</code>, <code class=\"literal\">\\bind_named</code>, <code class=\"literal\">\\close_prepared</code> or <code class=\"literal\">\\parse</code> can be used in an ongoing pipeline. While a pipeline is ongoing, <code class=\"literal\">\\sendpipeline</code> will append the current query buffer to the pipeline. Other meta-commands like <code class=\"literal\">\\g</code>, <code class=\"literal\">\\gx</code> or <code class=\"literal\">\\gdesc</code> are not allowed in pipeline mode.</p>\n<p><code class=\"command\">\\flushrequest</code> appends a flush command to the pipeline, allowing to read results with <code class=\"command\">\\getresults</code> without issuing a sync or ending the pipeline. <code class=\"command\">\\getresults</code> will automatically push unsent data to the server. <code class=\"command\">\\flush</code> can be used to manually push unsent data.</p>\n<p><code class=\"command\">\\getresults</code> accepts an optional <em class=\"replaceable\"><code>number_results</code></em> parameter. If provided, only the first <em class=\"replaceable\"><code>number_results</code></em> pending results will be read. If not provided or <code class=\"literal\">0</code>, all pending results are read.</p>\n<p>When pipeline mode is active, a dedicated prompt variable is available to report the pipeline status. See <a class=\"xref\" href=\"/docs/18/app-psql.html#APP-PSQL-PROMPTING-P-UC\"><code class=\"literal\">%P</code></a> for more details</p>\n<p><code class=\"command\">COPY</code> is not supported while in pipeline mode.</p>\n<p>Example:</p>\n<pre class=\"programlisting\">\\startpipeline\nSELECT * FROM pg_class;\nSELECT 1 \\bind \\sendpipeline\n\\flushrequest\n\\getresults\n\\endpipeline\n</pre>\n</dd></dl></div>", "manual_path": "app-psql.html#APP-PSQL-META-COMMAND-PIPELINE", "comparison_data": {"modifiers": [], "signature": "\\startpipeline \\sendpipeline \\syncpipeline \\endpipeline \\flushrequest \\flush \\getresults [ number_results ]", "spellings": ["\\startpipeline", "\\sendpipeline", "\\syncpipeline", "\\endpipeline", "\\flushrequest", "\\flush", "\\getresults"], "definition": "This group of commands implements pipelining of SQL statements. A pipeline must begin with a \\startpipeline and end with an \\endpipeline . In between there may be any number of \\syncpipeline commands, which sends a sync message without ending the ongoing pipeline and flushing the send buffer. In pipeline mode, statements are sent to the server without waiting for the results of previous statements. See Section 32.5 for more details. All queries executed while a pipeline is ongoing use the extended query protocol. Queries are appended to the pipeline when ending with a semicolon. The meta-commands \\bind , \\bind_named , \\close_prepared or \\parse can be used in an ongoing pipeline. While a pipeline is ongoing, \\sendpipeline will append the current query buffer to the pipeline. Other meta-commands like \\g , \\gx or \\gdesc are not allowed in pipeline mode. \\flushrequest appends a flush command to the pipeline, allowing to read results with \\getresults without issuing a sync or ending the pipeline. \\getresults will automatically push unsent data to the server. \\flush can be used to manually push unsent data. \\getresults accepts an optional number_results parameter. If provided, only the first number_results pending results will be read. If not provided or 0 , all pending results are read. When pipeline mode is active, a dedicated prompt variable is available to report the pipeline status. See %P for more details COPY is not supported while in pipeline mode. Example: \\startpipeline SELECT * FROM pg_class; SELECT 1 \\bind \\sendpipeline \\flushrequest \\getresults \\endpipeline"}, "comparison_hash": "040a9956ba3780370b72d9837a83079a03b641afd0cd9f7e39a7b0c0dc62127e"}, "19": {"facts": [{"label": "Client", "value": "psql 19beta4"}, {"label": "Case-sensitive spelling", "value": "\\endpipeline"}], "tables": [{"key": "spellings", "rows": [{"command": {"url": "/wiki/psql/cmd-73-74-61-72-74-70-69-70-65-6c-69-6e-65/?v=19", "text": "\\startpipeline"}, "modifiers": "None listed in this signature"}, {"command": {"url": "/wiki/psql/cmd-73-65-6e-64-70-69-70-65-6c-69-6e-65/?v=19", "text": "\\sendpipeline"}, "modifiers": "None listed in this signature"}, {"command": {"url": "/wiki/psql/cmd-73-79-6e-63-70-69-70-65-6c-69-6e-65/?v=19", "text": "\\syncpipeline"}, "modifiers": "None listed in this signature"}, {"command": {"url": "/wiki/psql/cmd-65-6e-64-70-69-70-65-6c-69-6e-65/?v=19", "text": "\\endpipeline"}, "modifiers": "None listed in this signature"}, {"command": {"url": "/wiki/psql/cmd-66-6c-75-73-68-72-65-71-75-65-73-74/?v=19", "text": "\\flushrequest"}, "modifiers": "None listed in this signature"}, {"command": {"url": "/wiki/psql/cmd-66-6c-75-73-68/?v=19", "text": "\\flush"}, "modifiers": "None listed in this signature"}, {"command": {"url": "/wiki/psql/cmd-67-65-74-72-65-73-75-6c-74-73/?v=19", "text": "\\getresults"}, "modifiers": "None listed in this signature"}], "title": "Spellings in this manual definition", "columns": [{"key": "command", "label": "Command"}, {"key": "modifiers", "label": "Documented suffix modifiers"}]}], "command": "\\endpipeline", "related": [{"url": "/wiki/psql/cmd-73-74-61-72-74-70-69-70-65-6c-69-6e-65/?v=19", "label": "\\startpipeline"}, {"url": "/wiki/psql/cmd-73-65-6e-64-70-69-70-65-6c-69-6e-65/?v=19", "label": "\\sendpipeline"}, {"url": "/wiki/psql/cmd-73-79-6e-63-70-69-70-65-6c-69-6e-65/?v=19", "label": "\\syncpipeline"}, {"url": "/wiki/psql/cmd-66-6c-75-73-68-72-65-71-75-65-73-74/?v=19", "label": "\\flushrequest"}, {"url": "/wiki/psql/cmd-66-6c-75-73-68/?v=19", "label": "\\flush"}, {"url": "/wiki/psql/cmd-67-65-74-72-65-73-75-6c-74-73/?v=19", "label": "\\getresults"}, {"url": "/wiki/tool/psql/?v=19", "label": "psql command-line options and complete manual"}], "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": "/docs/19/app-psql.html#APP-PSQL-META-COMMAND-PIPELINE", "file": "app-psql.html", "label": "19beta4 English manual \u00b7 app-psql.html", "anchor": "APP-PSQL-META-COMMAND-PIPELINE", "sha256": "312975c12d6e4d62aeebcb5e98e7ca795c6d07ecb743b4bc64403dc42bc2a6e9"}], "sections": [], "modifiers": [], "signature": "\\startpipeline \\sendpipeline \\syncpipeline \\endpipeline \\flushrequest \\flush \\getresults [ number_results ]", "spellings": ["\\startpipeline", "\\sendpipeline", "\\syncpipeline", "\\endpipeline", "\\flushrequest", "\\flush", "\\getresults"], "description": ["This group of commands implements pipelining of SQL statements. A pipeline must begin with a \\startpipeline and end with an \\endpipeline . In between there may be any number of \\syncpipeline commands, which sends a sync message without ending the ongoing pipeline and flushing the send buffer. In pipeline mode, statements are sent to the server without waiting for the results of previous statements. See Section 32.5 for more details."], "manual_html": "<div><dl class=\"variablelist\"><dt id=\"APP-PSQL-META-COMMAND-PIPELINE\"><span class=\"term\"><code class=\"literal\">\\startpipeline</code><br></span><span class=\"term\"><code class=\"literal\">\\sendpipeline</code><br></span><span class=\"term\"><code class=\"literal\">\\syncpipeline</code><br></span><span class=\"term\"><code class=\"literal\">\\endpipeline</code><br></span><span class=\"term\"><code class=\"literal\">\\flushrequest</code><br></span><span class=\"term\"><code class=\"literal\">\\flush</code><br></span><span class=\"term\"><code class=\"literal\">\\getresults [ <em class=\"replaceable\"><code>number_results</code></em> ]</code></span> </dt><dd>\n<p>This group of commands implements pipelining of SQL statements. A pipeline must begin with a <code class=\"command\">\\startpipeline</code> and end with an <code class=\"command\">\\endpipeline</code>. In between there may be any number of <code class=\"command\">\\syncpipeline</code> commands, which sends a <a class=\"link\" href=\"/docs/19/protocol-flow.html#PROTOCOL-FLOW-EXT-QUERY\" title=\"54.2.3.\u00a0Extended Query\">sync message</a> without ending the ongoing pipeline and flushing the send buffer. In pipeline mode, statements are sent to the server without waiting for the results of previous statements. See <a class=\"xref\" href=\"/docs/19/libpq-pipeline-mode.html\" title=\"32.5.\u00a0Pipeline Mode\">Section\u00a032.5</a> for more details.</p>\n<p>All queries executed while a pipeline is ongoing use the extended query protocol. Queries are appended to the pipeline when ending with a semicolon. The meta-commands <code class=\"literal\">\\bind</code>, <code class=\"literal\">\\bind_named</code>, <code class=\"literal\">\\close_prepared</code> or <code class=\"literal\">\\parse</code> can be used in an ongoing pipeline. While a pipeline is ongoing, <code class=\"literal\">\\sendpipeline</code> will append the current query buffer to the pipeline. Other meta-commands like <code class=\"literal\">\\g</code>, <code class=\"literal\">\\gx</code> or <code class=\"literal\">\\gdesc</code> are not allowed in pipeline mode.</p>\n<p><code class=\"command\">\\flushrequest</code> appends a flush command to the pipeline, allowing to read results with <code class=\"command\">\\getresults</code> without issuing a sync or ending the pipeline. <code class=\"command\">\\getresults</code> will automatically push unsent data to the server. <code class=\"command\">\\flush</code> can be used to manually push unsent data.</p>\n<p><code class=\"command\">\\getresults</code> accepts an optional <em class=\"replaceable\"><code>number_results</code></em> parameter. If provided, only the first <em class=\"replaceable\"><code>number_results</code></em> pending results will be read. If not provided or <code class=\"literal\">0</code>, all pending results are read.</p>\n<p>When pipeline mode is active, a dedicated prompt variable is available to report the pipeline status. See <a class=\"xref\" href=\"/docs/19/app-psql.html#APP-PSQL-PROMPTING-P-UC\"><code class=\"literal\">%P</code></a> for more details</p>\n<p><code class=\"command\">COPY</code> is not supported while in pipeline mode.</p>\n<p>Example:</p>\n<pre class=\"programlisting\">\\startpipeline\nSELECT * FROM pg_class;\nSELECT 1 \\bind \\sendpipeline\n\\flushrequest\n\\getresults\n\\endpipeline\n</pre>\n</dd></dl></div>", "manual_path": "app-psql.html#APP-PSQL-META-COMMAND-PIPELINE", "comparison_data": {"modifiers": [], "signature": "\\startpipeline \\sendpipeline \\syncpipeline \\endpipeline \\flushrequest \\flush \\getresults [ number_results ]", "spellings": ["\\startpipeline", "\\sendpipeline", "\\syncpipeline", "\\endpipeline", "\\flushrequest", "\\flush", "\\getresults"], "definition": "This group of commands implements pipelining of SQL statements. A pipeline must begin with a \\startpipeline and end with an \\endpipeline . In between there may be any number of \\syncpipeline commands, which sends a sync message without ending the ongoing pipeline and flushing the send buffer. In pipeline mode, statements are sent to the server without waiting for the results of previous statements. See Section 32.5 for more details. All queries executed while a pipeline is ongoing use the extended query protocol. Queries are appended to the pipeline when ending with a semicolon. The meta-commands \\bind , \\bind_named , \\close_prepared or \\parse can be used in an ongoing pipeline. While a pipeline is ongoing, \\sendpipeline will append the current query buffer to the pipeline. Other meta-commands like \\g , \\gx or \\gdesc are not allowed in pipeline mode. \\flushrequest appends a flush command to the pipeline, allowing to read results with \\getresults without issuing a sync or ending the pipeline. \\getresults will automatically push unsent data to the server. \\flush can be used to manually push unsent data. \\getresults accepts an optional number_results parameter. If provided, only the first number_results pending results will be read. If not provided or 0 , all pending results are read. When pipeline mode is active, a dedicated prompt variable is available to report the pipeline status. See %P for more details COPY is not supported while in pipeline mode. Example: \\startpipeline SELECT * FROM pg_class; SELECT 1 \\bind \\sendpipeline \\flushrequest \\getresults \\endpipeline"}, "comparison_hash": "040a9956ba3780370b72d9837a83079a03b641afd0cd9f7e39a7b0c0dc62127e"}, "20": {"facts": [{"label": "Client", "value": "psql 20devel"}, {"label": "Case-sensitive spelling", "value": "\\endpipeline"}], "tables": [{"key": "spellings", "rows": [{"command": {"url": "/wiki/psql/cmd-73-74-61-72-74-70-69-70-65-6c-69-6e-65/?v=20", "text": "\\startpipeline"}, "modifiers": "None listed in this signature"}, {"command": {"url": "/wiki/psql/cmd-73-65-6e-64-70-69-70-65-6c-69-6e-65/?v=20", "text": "\\sendpipeline"}, "modifiers": "None listed in this signature"}, {"command": {"url": "/wiki/psql/cmd-73-79-6e-63-70-69-70-65-6c-69-6e-65/?v=20", "text": "\\syncpipeline"}, "modifiers": "None listed in this signature"}, {"command": {"url": "/wiki/psql/cmd-65-6e-64-70-69-70-65-6c-69-6e-65/?v=20", "text": "\\endpipeline"}, "modifiers": "None listed in this signature"}, {"command": {"url": "/wiki/psql/cmd-66-6c-75-73-68-72-65-71-75-65-73-74/?v=20", "text": "\\flushrequest"}, "modifiers": "None listed in this signature"}, {"command": {"url": "/wiki/psql/cmd-66-6c-75-73-68/?v=20", "text": "\\flush"}, "modifiers": "None listed in this signature"}, {"command": {"url": "/wiki/psql/cmd-67-65-74-72-65-73-75-6c-74-73/?v=20", "text": "\\getresults"}, "modifiers": "None listed in this signature"}], "title": "Spellings in this manual definition", "columns": [{"key": "command", "label": "Command"}, {"key": "modifiers", "label": "Documented suffix modifiers"}]}], "command": "\\endpipeline", "related": [{"url": "/wiki/psql/cmd-73-74-61-72-74-70-69-70-65-6c-69-6e-65/?v=20", "label": "\\startpipeline"}, {"url": "/wiki/psql/cmd-73-65-6e-64-70-69-70-65-6c-69-6e-65/?v=20", "label": "\\sendpipeline"}, {"url": "/wiki/psql/cmd-73-79-6e-63-70-69-70-65-6c-69-6e-65/?v=20", "label": "\\syncpipeline"}, {"url": "/wiki/psql/cmd-66-6c-75-73-68-72-65-71-75-65-73-74/?v=20", "label": "\\flushrequest"}, {"url": "/wiki/psql/cmd-66-6c-75-73-68/?v=20", "label": "\\flush"}, {"url": "/wiki/psql/cmd-67-65-74-72-65-73-75-6c-74-73/?v=20", "label": "\\getresults"}, {"url": "/wiki/tool/psql/?v=20", "label": "psql command-line options and complete manual"}], "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": "/docs/devel/app-psql.html#APP-PSQL-META-COMMAND-PIPELINE", "file": "app-psql.html", "label": "20devel English manual \u00b7 app-psql.html", "anchor": "APP-PSQL-META-COMMAND-PIPELINE", "sha256": "6df5f6fbaff7800ae0e4a08a3116090d890a0cdcc02fddc31c1f220725905f87"}], "sections": [], "modifiers": [], "signature": "\\startpipeline \\sendpipeline \\syncpipeline \\endpipeline \\flushrequest \\flush \\getresults [ number_results ]", "spellings": ["\\startpipeline", "\\sendpipeline", "\\syncpipeline", "\\endpipeline", "\\flushrequest", "\\flush", "\\getresults"], "description": ["This group of commands implements pipelining of SQL statements. A pipeline must begin with a \\startpipeline and end with an \\endpipeline . In between there may be any number of \\syncpipeline commands, which sends a sync message without ending the ongoing pipeline and flushing the send buffer. In pipeline mode, statements are sent to the server without waiting for the results of previous statements. See Section 32.5 for more details."], "manual_html": "<div><dl class=\"variablelist\"><dt id=\"APP-PSQL-META-COMMAND-PIPELINE\"><span class=\"term\"><code class=\"literal\">\\startpipeline</code><br></span><span class=\"term\"><code class=\"literal\">\\sendpipeline</code><br></span><span class=\"term\"><code class=\"literal\">\\syncpipeline</code><br></span><span class=\"term\"><code class=\"literal\">\\endpipeline</code><br></span><span class=\"term\"><code class=\"literal\">\\flushrequest</code><br></span><span class=\"term\"><code class=\"literal\">\\flush</code><br></span><span class=\"term\"><code class=\"literal\">\\getresults [ <em class=\"replaceable\"><code>number_results</code></em> ]</code></span> </dt><dd>\n<p>This group of commands implements pipelining of SQL statements. A pipeline must begin with a <code class=\"command\">\\startpipeline</code> and end with an <code class=\"command\">\\endpipeline</code>. In between there may be any number of <code class=\"command\">\\syncpipeline</code> commands, which sends a <a class=\"link\" href=\"/docs/devel/protocol-flow.html#PROTOCOL-FLOW-EXT-QUERY\" title=\"54.2.3.\u00a0Extended Query\">sync message</a> without ending the ongoing pipeline and flushing the send buffer. In pipeline mode, statements are sent to the server without waiting for the results of previous statements. See <a class=\"xref\" href=\"/docs/devel/libpq-pipeline-mode.html\" title=\"32.5.\u00a0Pipeline Mode\">Section\u00a032.5</a> for more details.</p>\n<p>All queries executed while a pipeline is ongoing use the extended query protocol. Queries are appended to the pipeline when ending with a semicolon. The meta-commands <code class=\"literal\">\\bind</code>, <code class=\"literal\">\\bind_named</code>, <code class=\"literal\">\\close_prepared</code> or <code class=\"literal\">\\parse</code> can be used in an ongoing pipeline. While a pipeline is ongoing, <code class=\"literal\">\\sendpipeline</code> will append the current query buffer to the pipeline. Other meta-commands like <code class=\"literal\">\\g</code>, <code class=\"literal\">\\gx</code> or <code class=\"literal\">\\gdesc</code> are not allowed in pipeline mode.</p>\n<p><code class=\"command\">\\flushrequest</code> appends a flush command to the pipeline, allowing to read results with <code class=\"command\">\\getresults</code> without issuing a sync or ending the pipeline. <code class=\"command\">\\getresults</code> will automatically push unsent data to the server. <code class=\"command\">\\flush</code> can be used to manually push unsent data.</p>\n<p><code class=\"command\">\\getresults</code> accepts an optional <em class=\"replaceable\"><code>number_results</code></em> parameter. If provided, only the first <em class=\"replaceable\"><code>number_results</code></em> pending results will be read. If not provided or <code class=\"literal\">0</code>, all pending results are read.</p>\n<p>When pipeline mode is active, a dedicated prompt variable is available to report the pipeline status. See <a class=\"xref\" href=\"/docs/devel/app-psql.html#APP-PSQL-PROMPTING-P-UC\"><code class=\"literal\">%P</code></a> for more details</p>\n<p><code class=\"command\">COPY</code> is not supported while in pipeline mode.</p>\n<p>Example:</p>\n<pre class=\"programlisting\">\\startpipeline\nSELECT * FROM pg_class;\nSELECT 1 \\bind \\sendpipeline\n\\flushrequest\n\\getresults\n\\endpipeline\n</pre>\n</dd></dl></div>", "manual_path": "app-psql.html#APP-PSQL-META-COMMAND-PIPELINE", "comparison_data": {"modifiers": [], "signature": "\\startpipeline \\sendpipeline \\syncpipeline \\endpipeline \\flushrequest \\flush \\getresults [ number_results ]", "spellings": ["\\startpipeline", "\\sendpipeline", "\\syncpipeline", "\\endpipeline", "\\flushrequest", "\\flush", "\\getresults"], "definition": "This group of commands implements pipelining of SQL statements. A pipeline must begin with a \\startpipeline and end with an \\endpipeline . In between there may be any number of \\syncpipeline commands, which sends a sync message without ending the ongoing pipeline and flushing the send buffer. In pipeline mode, statements are sent to the server without waiting for the results of previous statements. See Section 32.5 for more details. All queries executed while a pipeline is ongoing use the extended query protocol. Queries are appended to the pipeline when ending with a semicolon. The meta-commands \\bind , \\bind_named , \\close_prepared or \\parse can be used in an ongoing pipeline. While a pipeline is ongoing, \\sendpipeline will append the current query buffer to the pipeline. Other meta-commands like \\g , \\gx or \\gdesc are not allowed in pipeline mode. \\flushrequest appends a flush command to the pipeline, allowing to read results with \\getresults without issuing a sync or ending the pipeline. \\getresults will automatically push unsent data to the server. \\flush can be used to manually push unsent data. \\getresults accepts an optional number_results parameter. If provided, only the first number_results pending results will be read. If not provided or 0 , all pending results are read. When pipeline mode is active, a dedicated prompt variable is available to report the pipeline status. See %P for more details COPY is not supported while in pipeline mode. Example: \\startpipeline SELECT * FROM pg_class; SELECT 1 \\bind \\sendpipeline \\flushrequest \\getresults \\endpipeline"}, "comparison_hash": "040a9956ba3780370b72d9837a83079a03b641afd0cd9f7e39a7b0c0dc62127e"}}}, "snapshot": {"facts": [{"label": "Client", "value": "psql 18.6"}, {"label": "Case-sensitive spelling", "value": "\\endpipeline"}], "tables": [{"key": "spellings", "rows": [{"command": {"url": "/wiki/psql/cmd-73-74-61-72-74-70-69-70-65-6c-69-6e-65/?v=18", "text": "\\startpipeline"}, "modifiers": "None listed in this signature"}, {"command": {"url": "/wiki/psql/cmd-73-65-6e-64-70-69-70-65-6c-69-6e-65/?v=18", "text": "\\sendpipeline"}, "modifiers": "None listed in this signature"}, {"command": {"url": "/wiki/psql/cmd-73-79-6e-63-70-69-70-65-6c-69-6e-65/?v=18", "text": "\\syncpipeline"}, "modifiers": "None listed in this signature"}, {"command": {"url": "/wiki/psql/cmd-65-6e-64-70-69-70-65-6c-69-6e-65/?v=18", "text": "\\endpipeline"}, "modifiers": "None listed in this signature"}, {"command": {"url": "/wiki/psql/cmd-66-6c-75-73-68-72-65-71-75-65-73-74/?v=18", "text": "\\flushrequest"}, "modifiers": "None listed in this signature"}, {"command": {"url": "/wiki/psql/cmd-66-6c-75-73-68/?v=18", "text": "\\flush"}, "modifiers": "None listed in this signature"}, {"command": {"url": "/wiki/psql/cmd-67-65-74-72-65-73-75-6c-74-73/?v=18", "text": "\\getresults"}, "modifiers": "None listed in this signature"}], "title": "Spellings in this manual definition", "columns": [{"key": "command", "label": "Command"}, {"key": "modifiers", "label": "Documented suffix modifiers"}]}], "command": "\\endpipeline", "related": [{"url": "/wiki/psql/cmd-73-74-61-72-74-70-69-70-65-6c-69-6e-65/?v=18", "label": "\\startpipeline"}, {"url": "/wiki/psql/cmd-73-65-6e-64-70-69-70-65-6c-69-6e-65/?v=18", "label": "\\sendpipeline"}, {"url": "/wiki/psql/cmd-73-79-6e-63-70-69-70-65-6c-69-6e-65/?v=18", "label": "\\syncpipeline"}, {"url": "/wiki/psql/cmd-66-6c-75-73-68-72-65-71-75-65-73-74/?v=18", "label": "\\flushrequest"}, {"url": "/wiki/psql/cmd-66-6c-75-73-68/?v=18", "label": "\\flush"}, {"url": "/wiki/psql/cmd-67-65-74-72-65-73-75-6c-74-73/?v=18", "label": "\\getresults"}, {"url": "/wiki/tool/psql/?v=18", "label": "psql command-line options and complete manual"}], "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": "/docs/18/app-psql.html#APP-PSQL-META-COMMAND-PIPELINE", "file": "app-psql.html", "label": "18.6 English manual \u00b7 app-psql.html", "anchor": "APP-PSQL-META-COMMAND-PIPELINE", "sha256": "fa2a1d39294b8854318e82e93f71272c645ed88150ecc2786c28902c3f32782c"}], "sections": [], "modifiers": [], "signature": "\\startpipeline \\sendpipeline \\syncpipeline \\endpipeline \\flushrequest \\flush \\getresults [ number_results ]", "spellings": ["\\startpipeline", "\\sendpipeline", "\\syncpipeline", "\\endpipeline", "\\flushrequest", "\\flush", "\\getresults"], "description": ["This group of commands implements pipelining of SQL statements. A pipeline must begin with a \\startpipeline and end with an \\endpipeline . In between there may be any number of \\syncpipeline commands, which sends a sync message without ending the ongoing pipeline and flushing the send buffer. In pipeline mode, statements are sent to the server without waiting for the results of previous statements. See Section 32.5 for more details."], "manual_html": "<div><dl class=\"variablelist\"><dt id=\"APP-PSQL-META-COMMAND-PIPELINE\"><span class=\"term\"><code class=\"literal\">\\startpipeline</code><br></span><span class=\"term\"><code class=\"literal\">\\sendpipeline</code><br></span><span class=\"term\"><code class=\"literal\">\\syncpipeline</code><br></span><span class=\"term\"><code class=\"literal\">\\endpipeline</code><br></span><span class=\"term\"><code class=\"literal\">\\flushrequest</code><br></span><span class=\"term\"><code class=\"literal\">\\flush</code><br></span><span class=\"term\"><code class=\"literal\">\\getresults [ <em class=\"replaceable\"><code>number_results</code></em> ]</code></span> </dt><dd>\n<p>This group of commands implements pipelining of SQL statements. A pipeline must begin with a <code class=\"command\">\\startpipeline</code> and end with an <code class=\"command\">\\endpipeline</code>. In between there may be any number of <code class=\"command\">\\syncpipeline</code> commands, which sends a <a class=\"link\" href=\"/docs/18/protocol-flow.html#PROTOCOL-FLOW-EXT-QUERY\" title=\"54.2.3.\u00a0Extended Query\">sync message</a> without ending the ongoing pipeline and flushing the send buffer. In pipeline mode, statements are sent to the server without waiting for the results of previous statements. See <a class=\"xref\" href=\"/docs/18/libpq-pipeline-mode.html\" title=\"32.5.\u00a0Pipeline Mode\">Section\u00a032.5</a> for more details.</p>\n<p>All queries executed while a pipeline is ongoing use the extended query protocol. Queries are appended to the pipeline when ending with a semicolon. The meta-commands <code class=\"literal\">\\bind</code>, <code class=\"literal\">\\bind_named</code>, <code class=\"literal\">\\close_prepared</code> or <code class=\"literal\">\\parse</code> can be used in an ongoing pipeline. While a pipeline is ongoing, <code class=\"literal\">\\sendpipeline</code> will append the current query buffer to the pipeline. Other meta-commands like <code class=\"literal\">\\g</code>, <code class=\"literal\">\\gx</code> or <code class=\"literal\">\\gdesc</code> are not allowed in pipeline mode.</p>\n<p><code class=\"command\">\\flushrequest</code> appends a flush command to the pipeline, allowing to read results with <code class=\"command\">\\getresults</code> without issuing a sync or ending the pipeline. <code class=\"command\">\\getresults</code> will automatically push unsent data to the server. <code class=\"command\">\\flush</code> can be used to manually push unsent data.</p>\n<p><code class=\"command\">\\getresults</code> accepts an optional <em class=\"replaceable\"><code>number_results</code></em> parameter. If provided, only the first <em class=\"replaceable\"><code>number_results</code></em> pending results will be read. If not provided or <code class=\"literal\">0</code>, all pending results are read.</p>\n<p>When pipeline mode is active, a dedicated prompt variable is available to report the pipeline status. See <a class=\"xref\" href=\"/docs/18/app-psql.html#APP-PSQL-PROMPTING-P-UC\"><code class=\"literal\">%P</code></a> for more details</p>\n<p><code class=\"command\">COPY</code> is not supported while in pipeline mode.</p>\n<p>Example:</p>\n<pre class=\"programlisting\">\\startpipeline\nSELECT * FROM pg_class;\nSELECT 1 \\bind \\sendpipeline\n\\flushrequest\n\\getresults\n\\endpipeline\n</pre>\n</dd></dl></div>", "manual_path": "app-psql.html#APP-PSQL-META-COMMAND-PIPELINE", "comparison_data": {"modifiers": [], "signature": "\\startpipeline \\sendpipeline \\syncpipeline \\endpipeline \\flushrequest \\flush \\getresults [ number_results ]", "spellings": ["\\startpipeline", "\\sendpipeline", "\\syncpipeline", "\\endpipeline", "\\flushrequest", "\\flush", "\\getresults"], "definition": "This group of commands implements pipelining of SQL statements. A pipeline must begin with a \\startpipeline and end with an \\endpipeline . In between there may be any number of \\syncpipeline commands, which sends a sync message without ending the ongoing pipeline and flushing the send buffer. In pipeline mode, statements are sent to the server without waiting for the results of previous statements. See Section 32.5 for more details. All queries executed while a pipeline is ongoing use the extended query protocol. Queries are appended to the pipeline when ending with a semicolon. The meta-commands \\bind , \\bind_named , \\close_prepared or \\parse can be used in an ongoing pipeline. While a pipeline is ongoing, \\sendpipeline will append the current query buffer to the pipeline. Other meta-commands like \\g , \\gx or \\gdesc are not allowed in pipeline mode. \\flushrequest appends a flush command to the pipeline, allowing to read results with \\getresults without issuing a sync or ending the pipeline. \\getresults will automatically push unsent data to the server. \\flush can be used to manually push unsent data. \\getresults accepts an optional number_results parameter. If provided, only the first number_results pending results will be read. If not provided or 0 , all pending results are read. When pipeline mode is active, a dedicated prompt variable is available to report the pipeline status. See %P for more details COPY is not supported while in pipeline mode. Example: \\startpipeline SELECT * FROM pg_class; SELECT 1 \\bind \\sendpipeline \\flushrequest \\getresults \\endpipeline"}, "comparison_hash": "040a9956ba3780370b72d9837a83079a03b641afd0cd9f7e39a7b0c0dc62127e"}, "comparison": {"left": "17", "right": "18", "status": "added", "diff": "--- PostgreSQL 17\n+++ PostgreSQL 18\n@@ -1 +1,14 @@\n-Not recorded in this version\n+{\n+  \"definition\": \"This group of commands implements pipelining of SQL statements. A pipeline must begin with a \\\\startpipeline and end with an \\\\endpipeline . In between there may be any number of \\\\syncpipeline commands, which sends a sync message without ending the ongoing pipeline and flushing the send buffer. In pipeline mode, statements are sent to the server without waiting for the results of previous statements. See Section 32.5 for more details. All queries executed while a pipeline is ongoing use the extended query protocol. Queries are appended to the pipeline when ending with a semicolon. The meta-commands \\\\bind , \\\\bind_named , \\\\close_prepared or \\\\parse can be used in an ongoing pipeline. While a pipeline is ongoing, \\\\sendpipeline will append the current query buffer to the pipeline. Other meta-commands like \\\\g , \\\\gx or \\\\gdesc are not allowed in pipeline mode. \\\\flushrequest appends a flush command to the pipeline, allowing to read results with \\\\getresults without issuing a sync or ending the pipeline. \\\\getresults will automatically push unsent data to the server. \\\\flush can be used to manually push unsent data. \\\\getresults accepts an optional number_results parameter. If provided, only the first number_results pending results will be read. If not provided or 0 , all pending results are read. When pipeline mode is active, a dedicated prompt variable is available to report the pipeline status. See %P for more details COPY is not supported while in pipeline mode. Example: \\\\startpipeline SELECT * FROM pg_class; SELECT 1 \\\\bind \\\\sendpipeline \\\\flushrequest \\\\getresults \\\\endpipeline\",\n+  \"modifiers\": [],\n+  \"signature\": \"\\\\startpipeline \\\\sendpipeline \\\\syncpipeline \\\\endpipeline \\\\flushrequest \\\\flush \\\\getresults [ number_results ]\",\n+  \"spellings\": [\n+    \"\\\\startpipeline\",\n+    \"\\\\sendpipeline\",\n+    \"\\\\syncpipeline\",\n+    \"\\\\endpipeline\",\n+    \"\\\\flushrequest\",\n+    \"\\\\flush\",\n+    \"\\\\getresults\"\n+  ]\n+}"}}