{"kind": "protocol", "major": "18", "item": {"slug": "startupmessage-f", "name": "StartupMessage", "name_zh": "", "category": "Frontend messages", "summary": "StartupMessage is a frontend protocol message. Length of message contents in bytes, including self.", "aliases": ["StartupMessage", "Int32"], "content_hash": "976b03500e338e7a66c4df5b07e1eb504b4a5039336d9aee429d454885ef0c01", "versions": {"10": {"facts": [{"label": "Direction", "value": "Frontend \u2192 backend"}, {"label": "First wire field", "value": "Int32"}, {"label": "Field entries", "value": "8"}, {"label": "Documented flow contexts", "value": "Canceling Requests in Progress; SSL Session Encryption"}], "fields": [{"format": "Int32", "description": "Length of message contents in bytes, including self."}, {"format": "Int32(196608)", "description": "The protocol version number. The most significant 16 bits are the major version number (3 for the protocol described here). The least significant 16 bits are the minor version number (0 for the protocol described here)."}, {"format": "String", "description": "The parameter name. Currently recognized names are: user The database user name to connect as. Required; there is no default. database The database to connect to. Defaults to the user name. options Command-line arguments for the backend. (This is deprecated in favor of setting individual run-time parameters.) Spaces within this string are considered to separate arguments, unless escaped with a backslash ( \\ ); write \\\\ to represent a literal backslash. replication Used to connect in streaming replication mode, where a small set of replication commands can be issued instead of SQL statements. Value can be true , false , or database , and the default is false . See Section 52.4 for details. In addition to the above, other parameters may be listed. Parameter names beginning with _pq_. are reserved for use as protocol extensions, while others are treated as run-time parameters to be set at backend start time. Such settings will be applied during backend start (after parsing the command-line arguments if any) and will act as session defaults."}, {"format": "user", "description": "The database user name to connect as. Required; there is no default."}, {"format": "database", "description": "The database to connect to. Defaults to the user name."}, {"format": "options", "description": "Command-line arguments for the backend. (This is deprecated in favor of setting individual run-time parameters.) Spaces within this string are considered to separate arguments, unless escaped with a backslash ( \\ ); write \\\\ to represent a literal backslash."}, {"format": "replication", "description": "Used to connect in streaming replication mode, where a small set of replication commands can be issued instead of SQL statements. Value can be true , false , or database , and the default is false . See Section 52.4 for details."}, {"format": "String", "description": "The parameter value."}], "tables": [{"key": "fields", "rows": [{"c0": "1", "c1": "Int32", "c2": "Length of message contents in bytes, including self."}, {"c0": "2", "c1": "Int32(196608)", "c2": "The protocol version number. The most significant 16 bits are the major version number (3 for the protocol described here). The least significant 16 bits are the minor version number (0 for the protocol described here)."}, {"c0": "3", "c1": "String", "c2": "The parameter name. Currently recognized names are: user The database user name to connect as. Required; there is no default. database The database to connect to. Defaults to the user name. options Command-line arguments for the backend. (This is deprecated in favor of setting individual run-time parameters.) Spaces within this string are considered to separate arguments, unless escaped with a backslash ( \\ ); write \\\\ to represent a literal backslash. replication Used to connect in streaming replication mode, where a small set of replication commands can be issued instead of SQL statements. Value can be true , false , or database , and the default is false . See Section 52.4 for details. In addition to the above, other parameters may be listed. Parameter names beginning with _pq_. are reserved for use as protocol extensions, while others are treated as run-time parameters to be set at backend start time. Such settings will be applied during backend start (after parsing the command-line arguments if any) and will act as session defaults."}, {"c0": "4", "c1": "user", "c2": "The database user name to connect as. Required; there is no default."}, {"c0": "5", "c1": "database", "c2": "The database to connect to. Defaults to the user name."}, {"c0": "6", "c1": "options", "c2": "Command-line arguments for the backend. (This is deprecated in favor of setting individual run-time parameters.) Spaces within this string are considered to separate arguments, unless escaped with a backslash ( \\ ); write \\\\ to represent a literal backslash."}, {"c0": "7", "c1": "replication", "c2": "Used to connect in streaming replication mode, where a small set of replication commands can be issued instead of SQL statements. Value can be true , false , or database , and the default is false . See Section 52.4 for details."}, {"c0": "8", "c1": "String", "c2": "The parameter value."}], "title": "Wire fields in documented order", "columns": [{"key": "c0", "label": "Position"}, {"key": "c1", "label": "Format"}, {"key": "c2", "label": "Meaning"}]}], "related": [{"url": "/docs/10/protocol-flow.html", "label": "Protocol flow and exchange examples"}, {"url": "/docs/10/protocol-overview.html", "label": "Protocol overview"}, {"url": "/docs/10/protocol-flow.html#id-1.10.5.7.10", "label": "Canceling Requests in Progress"}, {"url": "/docs/10/protocol-flow.html#id-1.10.5.7.12", "label": "SSL Session Encryption"}], "release": {"ref": "https://ftp.postgresql.org/pub/source/v10.23/postgresql-10.23.tar.bz2", "label": "10.23", "major": "10", "channel": "stable", "revision": "94a4b2528372458e5662c18d406629266667c437198160a18cdfd2c4a4d6eee9"}, "sources": [{"url": "/docs/10/protocol-message-formats.html#PROTOCOL-MESSAGE-FORMATS", "path": "protocol-message-formats.html", "label": "PostgreSQL 10 English manual", "sha256": "b730a205dfc348a67edbc1e9687f2c2df69005fe30c062ef76e37b474538e4f8"}], "sections": [{"title": "Framing and repetition", "paragraphs": ["The complete definition below retains repetition, counts and conditional fields. A numbered table row is a documented field definition, not a fixed byte offset. Integer encodings and flow rules follow the same-version protocol chapter."]}], "direction": "F", "signature": "StartupMessage (F)", "description": ["StartupMessage is a frontend protocol message. Length of message contents in bytes, including self."], "manual_html": "<dl><dd>\n<div class=\"variablelist\">\n<dl class=\"variablelist\">\n<dt><span class=\"term\">Int32</span></dt>\n<dd>\n<p>Length of message contents in bytes, including self.</p>\n</dd>\n<dt><span class=\"term\">Int32(196608)</span></dt>\n<dd>\n<p>The protocol version number. The most significant 16 bits are the major version number (3 for the protocol described here). The least significant 16 bits are the minor version number (0 for the protocol described here).</p>\n</dd>\n</dl>\n</div>\n<p>The protocol version number is followed by one or more pairs of parameter name and value strings. A zero byte is required as a terminator after the last name/value pair. Parameters can appear in any order. <code class=\"literal\">user</code> is required, others are optional. Each parameter is specified as:</p>\n<div class=\"variablelist\">\n<dl class=\"variablelist\">\n<dt><span class=\"term\">String</span></dt>\n<dd>\n<p>The parameter name. Currently recognized names are:</p>\n<div class=\"variablelist\">\n<dl class=\"variablelist\">\n<dt><span class=\"term\"><code class=\"literal\">user</code></span></dt>\n<dd>\n<p>The database user name to connect as. Required; there is no default.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"literal\">database</code></span></dt>\n<dd>\n<p>The database to connect to. Defaults to the user name.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"literal\">options</code></span></dt>\n<dd>\n<p>Command-line arguments for the backend. (This is deprecated in favor of setting individual run-time parameters.) Spaces within this string are considered to separate arguments, unless escaped with a backslash (<code class=\"literal\">\\</code>); write <code class=\"literal\">\\\\</code> to represent a literal backslash.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"literal\">replication</code></span></dt>\n<dd>\n<p>Used to connect in streaming replication mode, where a small set of replication commands can be issued instead of SQL statements. Value can be <code class=\"literal\">true</code>, <code class=\"literal\">false</code>, or <code class=\"literal\">database</code>, and the default is <code class=\"literal\">false</code>. See <a class=\"xref\" href=\"/docs/10/protocol-replication.html\" title=\"52.4.\u00a0Streaming Replication Protocol\">Section\u00a052.4</a> for details.</p>\n</dd>\n</dl>\n</div>\n<p>In addition to the above, other parameters may be listed. Parameter names beginning with <code class=\"literal\">_pq_.</code> are reserved for use as protocol extensions, while others are treated as run-time parameters to be set at backend start time. Such settings will be applied during backend start (after parsing the command-line arguments if any) and will act as session defaults.</p>\n</dd>\n<dt><span class=\"term\">String</span></dt>\n<dd>\n<p>The parameter value.</p>\n</dd>\n</dl>\n</div>\n</dd></dl>", "manual_path": "/docs/10/protocol-message-formats.html", "comparison_data": {"fields": [{"format": "Int32", "description": "Length of message contents in bytes, including self."}, {"format": "Int32(196608)", "description": "The protocol version number. The most significant 16 bits are the major version number (3 for the protocol described here). The least significant 16 bits are the minor version number (0 for the protocol described here)."}, {"format": "String", "description": "The parameter name. Currently recognized names are: user The database user name to connect as. Required; there is no default. database The database to connect to. Defaults to the user name. options Command-line arguments for the backend. (This is deprecated in favor of setting individual run-time parameters.) Spaces within this string are considered to separate arguments, unless escaped with a backslash ( \\ ); write \\\\ to represent a literal backslash. replication Used to connect in streaming replication mode, where a small set of replication commands can be issued instead of SQL statements. Value can be true , false , or database , and the default is false . See Section 52.4 for details. In addition to the above, other parameters may be listed. Parameter names beginning with _pq_. are reserved for use as protocol extensions, while others are treated as run-time parameters to be set at backend start time. Such settings will be applied during backend start (after parsing the command-line arguments if any) and will act as session defaults."}, {"format": "user", "description": "The database user name to connect as. Required; there is no default."}, {"format": "database", "description": "The database to connect to. Defaults to the user name."}, {"format": "options", "description": "Command-line arguments for the backend. (This is deprecated in favor of setting individual run-time parameters.) Spaces within this string are considered to separate arguments, unless escaped with a backslash ( \\ ); write \\\\ to represent a literal backslash."}, {"format": "replication", "description": "Used to connect in streaming replication mode, where a small set of replication commands can be issued instead of SQL statements. Value can be true , false , or database , and the default is false . See Section 52.4 for details."}, {"format": "String", "description": "The parameter value."}], "direction": "F"}, "comparison_hash": "141486d7d0c3639d33a8a806d2daec19812aa848ae516a6719f055353eae58f2"}, "11": {"facts": [{"label": "Direction", "value": "Frontend \u2192 backend"}, {"label": "First wire field", "value": "Int32"}, {"label": "Field entries", "value": "8"}, {"label": "Documented flow contexts", "value": "Canceling Requests in Progress; SSL Session Encryption"}], "fields": [{"format": "Int32", "description": "Length of message contents in bytes, including self."}, {"format": "Int32(196608)", "description": "The protocol version number. The most significant 16 bits are the major version number (3 for the protocol described here). The least significant 16 bits are the minor version number (0 for the protocol described here)."}, {"format": "String", "description": "The parameter name. Currently recognized names are: user The database user name to connect as. Required; there is no default. database The database to connect to. Defaults to the user name. options Command-line arguments for the backend. (This is deprecated in favor of setting individual run-time parameters.) Spaces within this string are considered to separate arguments, unless escaped with a backslash ( \\ ); write \\\\ to represent a literal backslash. replication Used to connect in streaming replication mode, where a small set of replication commands can be issued instead of SQL statements. Value can be true , false , or database , and the default is false . See Section 53.4 for details. In addition to the above, other parameters may be listed. Parameter names beginning with _pq_. are reserved for use as protocol extensions, while others are treated as run-time parameters to be set at backend start time. Such settings will be applied during backend start (after parsing the command-line arguments if any) and will act as session defaults."}, {"format": "user", "description": "The database user name to connect as. Required; there is no default."}, {"format": "database", "description": "The database to connect to. Defaults to the user name."}, {"format": "options", "description": "Command-line arguments for the backend. (This is deprecated in favor of setting individual run-time parameters.) Spaces within this string are considered to separate arguments, unless escaped with a backslash ( \\ ); write \\\\ to represent a literal backslash."}, {"format": "replication", "description": "Used to connect in streaming replication mode, where a small set of replication commands can be issued instead of SQL statements. Value can be true , false , or database , and the default is false . See Section 53.4 for details."}, {"format": "String", "description": "The parameter value."}], "tables": [{"key": "fields", "rows": [{"c0": "1", "c1": "Int32", "c2": "Length of message contents in bytes, including self."}, {"c0": "2", "c1": "Int32(196608)", "c2": "The protocol version number. The most significant 16 bits are the major version number (3 for the protocol described here). The least significant 16 bits are the minor version number (0 for the protocol described here)."}, {"c0": "3", "c1": "String", "c2": "The parameter name. Currently recognized names are: user The database user name to connect as. Required; there is no default. database The database to connect to. Defaults to the user name. options Command-line arguments for the backend. (This is deprecated in favor of setting individual run-time parameters.) Spaces within this string are considered to separate arguments, unless escaped with a backslash ( \\ ); write \\\\ to represent a literal backslash. replication Used to connect in streaming replication mode, where a small set of replication commands can be issued instead of SQL statements. Value can be true , false , or database , and the default is false . See Section 53.4 for details. In addition to the above, other parameters may be listed. Parameter names beginning with _pq_. are reserved for use as protocol extensions, while others are treated as run-time parameters to be set at backend start time. Such settings will be applied during backend start (after parsing the command-line arguments if any) and will act as session defaults."}, {"c0": "4", "c1": "user", "c2": "The database user name to connect as. Required; there is no default."}, {"c0": "5", "c1": "database", "c2": "The database to connect to. Defaults to the user name."}, {"c0": "6", "c1": "options", "c2": "Command-line arguments for the backend. (This is deprecated in favor of setting individual run-time parameters.) Spaces within this string are considered to separate arguments, unless escaped with a backslash ( \\ ); write \\\\ to represent a literal backslash."}, {"c0": "7", "c1": "replication", "c2": "Used to connect in streaming replication mode, where a small set of replication commands can be issued instead of SQL statements. Value can be true , false , or database , and the default is false . See Section 53.4 for details."}, {"c0": "8", "c1": "String", "c2": "The parameter value."}], "title": "Wire fields in documented order", "columns": [{"key": "c0", "label": "Position"}, {"key": "c1", "label": "Format"}, {"key": "c2", "label": "Meaning"}]}], "related": [{"url": "/docs/11/protocol-flow.html", "label": "Protocol flow and exchange examples"}, {"url": "/docs/11/protocol-overview.html", "label": "Protocol overview"}, {"url": "/docs/11/protocol-flow.html#id-1.10.5.7.10", "label": "Canceling Requests in Progress"}, {"url": "/docs/11/protocol-flow.html#id-1.10.5.7.12", "label": "SSL Session Encryption"}], "release": {"ref": "https://ftp.postgresql.org/pub/source/v11.22/postgresql-11.22.tar.bz2", "label": "11.22", "major": "11", "channel": "stable", "revision": "2cb7c97d7a0d7278851bbc9c61f467b69c094c72b81740b751108e7892ebe1f0"}, "sources": [{"url": "/docs/11/protocol-message-formats.html#PROTOCOL-MESSAGE-FORMATS", "path": "protocol-message-formats.html", "label": "PostgreSQL 11 English manual", "sha256": "a6087693de687f5a6582bfa6529356ecb8a089e2d56694482352a55eb6ccfdf1"}], "sections": [{"title": "Framing and repetition", "paragraphs": ["The complete definition below retains repetition, counts and conditional fields. A numbered table row is a documented field definition, not a fixed byte offset. Integer encodings and flow rules follow the same-version protocol chapter."]}], "direction": "F", "signature": "StartupMessage (F)", "description": ["StartupMessage is a frontend protocol message. Length of message contents in bytes, including self."], "manual_html": "<dl><dd>\n<div class=\"variablelist\">\n<dl class=\"variablelist\">\n<dt><span class=\"term\">Int32</span></dt>\n<dd>\n<p>Length of message contents in bytes, including self.</p>\n</dd>\n<dt><span class=\"term\">Int32(196608)</span></dt>\n<dd>\n<p>The protocol version number. The most significant 16 bits are the major version number (3 for the protocol described here). The least significant 16 bits are the minor version number (0 for the protocol described here).</p>\n</dd>\n</dl>\n</div>\n<p>The protocol version number is followed by one or more pairs of parameter name and value strings. A zero byte is required as a terminator after the last name/value pair. Parameters can appear in any order. <code class=\"literal\">user</code> is required, others are optional. Each parameter is specified as:</p>\n<div class=\"variablelist\">\n<dl class=\"variablelist\">\n<dt><span class=\"term\">String</span></dt>\n<dd>\n<p>The parameter name. Currently recognized names are:</p>\n<div class=\"variablelist\">\n<dl class=\"variablelist\">\n<dt><span class=\"term\"><code class=\"literal\">user</code></span></dt>\n<dd>\n<p>The database user name to connect as. Required; there is no default.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"literal\">database</code></span></dt>\n<dd>\n<p>The database to connect to. Defaults to the user name.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"literal\">options</code></span></dt>\n<dd>\n<p>Command-line arguments for the backend. (This is deprecated in favor of setting individual run-time parameters.) Spaces within this string are considered to separate arguments, unless escaped with a backslash (<code class=\"literal\">\\</code>); write <code class=\"literal\">\\\\</code> to represent a literal backslash.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"literal\">replication</code></span></dt>\n<dd>\n<p>Used to connect in streaming replication mode, where a small set of replication commands can be issued instead of SQL statements. Value can be <code class=\"literal\">true</code>, <code class=\"literal\">false</code>, or <code class=\"literal\">database</code>, and the default is <code class=\"literal\">false</code>. See <a class=\"xref\" href=\"/docs/11/protocol-replication.html\" title=\"53.4.\u00a0Streaming Replication Protocol\">Section\u00a053.4</a> for details.</p>\n</dd>\n</dl>\n</div>\n<p>In addition to the above, other parameters may be listed. Parameter names beginning with <code class=\"literal\">_pq_.</code> are reserved for use as protocol extensions, while others are treated as run-time parameters to be set at backend start time. Such settings will be applied during backend start (after parsing the command-line arguments if any) and will act as session defaults.</p>\n</dd>\n<dt><span class=\"term\">String</span></dt>\n<dd>\n<p>The parameter value.</p>\n</dd>\n</dl>\n</div>\n</dd></dl>", "manual_path": "/docs/11/protocol-message-formats.html", "comparison_data": {"fields": [{"format": "Int32", "description": "Length of message contents in bytes, including self."}, {"format": "Int32(196608)", "description": "The protocol version number. The most significant 16 bits are the major version number (3 for the protocol described here). The least significant 16 bits are the minor version number (0 for the protocol described here)."}, {"format": "String", "description": "The parameter name. Currently recognized names are: user The database user name to connect as. Required; there is no default. database The database to connect to. Defaults to the user name. options Command-line arguments for the backend. (This is deprecated in favor of setting individual run-time parameters.) Spaces within this string are considered to separate arguments, unless escaped with a backslash ( \\ ); write \\\\ to represent a literal backslash. replication Used to connect in streaming replication mode, where a small set of replication commands can be issued instead of SQL statements. Value can be true , false , or database , and the default is false . See Section 53.4 for details. In addition to the above, other parameters may be listed. Parameter names beginning with _pq_. are reserved for use as protocol extensions, while others are treated as run-time parameters to be set at backend start time. Such settings will be applied during backend start (after parsing the command-line arguments if any) and will act as session defaults."}, {"format": "user", "description": "The database user name to connect as. Required; there is no default."}, {"format": "database", "description": "The database to connect to. Defaults to the user name."}, {"format": "options", "description": "Command-line arguments for the backend. (This is deprecated in favor of setting individual run-time parameters.) Spaces within this string are considered to separate arguments, unless escaped with a backslash ( \\ ); write \\\\ to represent a literal backslash."}, {"format": "replication", "description": "Used to connect in streaming replication mode, where a small set of replication commands can be issued instead of SQL statements. Value can be true , false , or database , and the default is false . See Section 53.4 for details."}, {"format": "String", "description": "The parameter value."}], "direction": "F"}, "comparison_hash": "bcfe2a9d0912c977ac383c8a67059748f2ed01142bddd6db754f1cf6eb013fa7"}, "12": {"facts": [{"label": "Direction", "value": "Frontend \u2192 backend"}, {"label": "First wire field", "value": "Int32"}, {"label": "Field entries", "value": "8"}, {"label": "Documented flow contexts", "value": "Canceling Requests in Progress; SSL Session Encryption; GSSAPI Session Encryption"}], "fields": [{"format": "Int32", "description": "Length of message contents in bytes, including self."}, {"format": "Int32(196608)", "description": "The protocol version number. The most significant 16 bits are the major version number (3 for the protocol described here). The least significant 16 bits are the minor version number (0 for the protocol described here)."}, {"format": "String", "description": "The parameter name. Currently recognized names are: user The database user name to connect as. Required; there is no default. database The database to connect to. Defaults to the user name. options Command-line arguments for the backend. (This is deprecated in favor of setting individual run-time parameters.) Spaces within this string are considered to separate arguments, unless escaped with a backslash ( \\ ); write \\\\ to represent a literal backslash. replication Used to connect in streaming replication mode, where a small set of replication commands can be issued instead of SQL statements. Value can be true , false , or database , and the default is false . See Section 52.4 for details. In addition to the above, other parameters may be listed. Parameter names beginning with _pq_. are reserved for use as protocol extensions, while others are treated as run-time parameters to be set at backend start time. Such settings will be applied during backend start (after parsing the command-line arguments if any) and will act as session defaults."}, {"format": "user", "description": "The database user name to connect as. Required; there is no default."}, {"format": "database", "description": "The database to connect to. Defaults to the user name."}, {"format": "options", "description": "Command-line arguments for the backend. (This is deprecated in favor of setting individual run-time parameters.) Spaces within this string are considered to separate arguments, unless escaped with a backslash ( \\ ); write \\\\ to represent a literal backslash."}, {"format": "replication", "description": "Used to connect in streaming replication mode, where a small set of replication commands can be issued instead of SQL statements. Value can be true , false , or database , and the default is false . See Section 52.4 for details."}, {"format": "String", "description": "The parameter value."}], "tables": [{"key": "fields", "rows": [{"c0": "1", "c1": "Int32", "c2": "Length of message contents in bytes, including self."}, {"c0": "2", "c1": "Int32(196608)", "c2": "The protocol version number. The most significant 16 bits are the major version number (3 for the protocol described here). The least significant 16 bits are the minor version number (0 for the protocol described here)."}, {"c0": "3", "c1": "String", "c2": "The parameter name. Currently recognized names are: user The database user name to connect as. Required; there is no default. database The database to connect to. Defaults to the user name. options Command-line arguments for the backend. (This is deprecated in favor of setting individual run-time parameters.) Spaces within this string are considered to separate arguments, unless escaped with a backslash ( \\ ); write \\\\ to represent a literal backslash. replication Used to connect in streaming replication mode, where a small set of replication commands can be issued instead of SQL statements. Value can be true , false , or database , and the default is false . See Section 52.4 for details. In addition to the above, other parameters may be listed. Parameter names beginning with _pq_. are reserved for use as protocol extensions, while others are treated as run-time parameters to be set at backend start time. Such settings will be applied during backend start (after parsing the command-line arguments if any) and will act as session defaults."}, {"c0": "4", "c1": "user", "c2": "The database user name to connect as. Required; there is no default."}, {"c0": "5", "c1": "database", "c2": "The database to connect to. Defaults to the user name."}, {"c0": "6", "c1": "options", "c2": "Command-line arguments for the backend. (This is deprecated in favor of setting individual run-time parameters.) Spaces within this string are considered to separate arguments, unless escaped with a backslash ( \\ ); write \\\\ to represent a literal backslash."}, {"c0": "7", "c1": "replication", "c2": "Used to connect in streaming replication mode, where a small set of replication commands can be issued instead of SQL statements. Value can be true , false , or database , and the default is false . See Section 52.4 for details."}, {"c0": "8", "c1": "String", "c2": "The parameter value."}], "title": "Wire fields in documented order", "columns": [{"key": "c0", "label": "Position"}, {"key": "c1", "label": "Format"}, {"key": "c2", "label": "Meaning"}]}], "related": [{"url": "/docs/12/protocol-flow.html", "label": "Protocol flow and exchange examples"}, {"url": "/docs/12/protocol-overview.html", "label": "Protocol overview"}, {"url": "/docs/12/protocol-flow.html#id-1.10.5.7.10", "label": "Canceling Requests in Progress"}, {"url": "/docs/12/protocol-flow.html#id-1.10.5.7.12", "label": "SSL Session Encryption"}, {"url": "/docs/12/protocol-flow.html#id-1.10.5.7.13", "label": "GSSAPI Session Encryption"}], "release": {"ref": "https://ftp.postgresql.org/pub/source/v12.22/postgresql-12.22.tar.bz2", "label": "12.22", "major": "12", "channel": "stable", "revision": "8df3c0474782589d3c6f374b5133b1bd14d168086edbc13c6e72e67dd4527a3b"}, "sources": [{"url": "/docs/12/protocol-message-formats.html#PROTOCOL-MESSAGE-FORMATS", "path": "protocol-message-formats.html", "label": "PostgreSQL 12 English manual", "sha256": "00f6cafbcaad89c7e7982faed10a2896b7188de151ac9137633021207f7c2b70"}], "sections": [{"title": "Framing and repetition", "paragraphs": ["The complete definition below retains repetition, counts and conditional fields. A numbered table row is a documented field definition, not a fixed byte offset. Integer encodings and flow rules follow the same-version protocol chapter."]}], "direction": "F", "signature": "StartupMessage (F)", "description": ["StartupMessage is a frontend protocol message. Length of message contents in bytes, including self."], "manual_html": "<dl><dd>\n<div class=\"variablelist\">\n<dl class=\"variablelist\">\n<dt><span class=\"term\">Int32</span></dt>\n<dd>\n<p>Length of message contents in bytes, including self.</p>\n</dd>\n<dt><span class=\"term\">Int32(196608)</span></dt>\n<dd>\n<p>The protocol version number. The most significant 16 bits are the major version number (3 for the protocol described here). The least significant 16 bits are the minor version number (0 for the protocol described here).</p>\n</dd>\n</dl>\n</div>\n<p>The protocol version number is followed by one or more pairs of parameter name and value strings. A zero byte is required as a terminator after the last name/value pair. Parameters can appear in any order. <code class=\"literal\">user</code> is required, others are optional. Each parameter is specified as:</p>\n<div class=\"variablelist\">\n<dl class=\"variablelist\">\n<dt><span class=\"term\">String</span></dt>\n<dd>\n<p>The parameter name. Currently recognized names are:</p>\n<div class=\"variablelist\">\n<dl class=\"variablelist\">\n<dt><span class=\"term\"><code class=\"literal\">user</code></span></dt>\n<dd>\n<p>The database user name to connect as. Required; there is no default.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"literal\">database</code></span></dt>\n<dd>\n<p>The database to connect to. Defaults to the user name.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"literal\">options</code></span></dt>\n<dd>\n<p>Command-line arguments for the backend. (This is deprecated in favor of setting individual run-time parameters.) Spaces within this string are considered to separate arguments, unless escaped with a backslash (<code class=\"literal\">\\</code>); write <code class=\"literal\">\\\\</code> to represent a literal backslash.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"literal\">replication</code></span></dt>\n<dd>\n<p>Used to connect in streaming replication mode, where a small set of replication commands can be issued instead of SQL statements. Value can be <code class=\"literal\">true</code>, <code class=\"literal\">false</code>, or <code class=\"literal\">database</code>, and the default is <code class=\"literal\">false</code>. See <a class=\"xref\" href=\"/docs/12/protocol-replication.html\" title=\"52.4.\u00a0Streaming Replication Protocol\">Section\u00a052.4</a> for details.</p>\n</dd>\n</dl>\n</div>\n<p>In addition to the above, other parameters may be listed. Parameter names beginning with <code class=\"literal\">_pq_.</code> are reserved for use as protocol extensions, while others are treated as run-time parameters to be set at backend start time. Such settings will be applied during backend start (after parsing the command-line arguments if any) and will act as session defaults.</p>\n</dd>\n<dt><span class=\"term\">String</span></dt>\n<dd>\n<p>The parameter value.</p>\n</dd>\n</dl>\n</div>\n</dd></dl>", "manual_path": "/docs/12/protocol-message-formats.html", "comparison_data": {"fields": [{"format": "Int32", "description": "Length of message contents in bytes, including self."}, {"format": "Int32(196608)", "description": "The protocol version number. The most significant 16 bits are the major version number (3 for the protocol described here). The least significant 16 bits are the minor version number (0 for the protocol described here)."}, {"format": "String", "description": "The parameter name. Currently recognized names are: user The database user name to connect as. Required; there is no default. database The database to connect to. Defaults to the user name. options Command-line arguments for the backend. (This is deprecated in favor of setting individual run-time parameters.) Spaces within this string are considered to separate arguments, unless escaped with a backslash ( \\ ); write \\\\ to represent a literal backslash. replication Used to connect in streaming replication mode, where a small set of replication commands can be issued instead of SQL statements. Value can be true , false , or database , and the default is false . See Section 52.4 for details. In addition to the above, other parameters may be listed. Parameter names beginning with _pq_. are reserved for use as protocol extensions, while others are treated as run-time parameters to be set at backend start time. Such settings will be applied during backend start (after parsing the command-line arguments if any) and will act as session defaults."}, {"format": "user", "description": "The database user name to connect as. Required; there is no default."}, {"format": "database", "description": "The database to connect to. Defaults to the user name."}, {"format": "options", "description": "Command-line arguments for the backend. (This is deprecated in favor of setting individual run-time parameters.) Spaces within this string are considered to separate arguments, unless escaped with a backslash ( \\ ); write \\\\ to represent a literal backslash."}, {"format": "replication", "description": "Used to connect in streaming replication mode, where a small set of replication commands can be issued instead of SQL statements. Value can be true , false , or database , and the default is false . See Section 52.4 for details."}, {"format": "String", "description": "The parameter value."}], "direction": "F"}, "comparison_hash": "141486d7d0c3639d33a8a806d2daec19812aa848ae516a6719f055353eae58f2"}, "13": {"facts": [{"label": "Direction", "value": "Frontend \u2192 backend"}, {"label": "First wire field", "value": "Int32"}, {"label": "Field entries", "value": "8"}, {"label": "Documented flow contexts", "value": "Canceling Requests in Progress; SSL Session Encryption; GSSAPI Session Encryption"}], "fields": [{"format": "Int32", "description": "Length of message contents in bytes, including self."}, {"format": "Int32(196608)", "description": "The protocol version number. The most significant 16 bits are the major version number (3 for the protocol described here). The least significant 16 bits are the minor version number (0 for the protocol described here)."}, {"format": "String", "description": "The parameter name. Currently recognized names are: user The database user name to connect as. Required; there is no default. database The database to connect to. Defaults to the user name. options Command-line arguments for the backend. (This is deprecated in favor of setting individual run-time parameters.) Spaces within this string are considered to separate arguments, unless escaped with a backslash ( \\ ); write \\\\ to represent a literal backslash. replication Used to connect in streaming replication mode, where a small set of replication commands can be issued instead of SQL statements. Value can be true , false , or database , and the default is false . See Section 52.4 for details. In addition to the above, other parameters may be listed. Parameter names beginning with _pq_. are reserved for use as protocol extensions, while others are treated as run-time parameters to be set at backend start time. Such settings will be applied during backend start (after parsing the command-line arguments if any) and will act as session defaults."}, {"format": "user", "description": "The database user name to connect as. Required; there is no default."}, {"format": "database", "description": "The database to connect to. Defaults to the user name."}, {"format": "options", "description": "Command-line arguments for the backend. (This is deprecated in favor of setting individual run-time parameters.) Spaces within this string are considered to separate arguments, unless escaped with a backslash ( \\ ); write \\\\ to represent a literal backslash."}, {"format": "replication", "description": "Used to connect in streaming replication mode, where a small set of replication commands can be issued instead of SQL statements. Value can be true , false , or database , and the default is false . See Section 52.4 for details."}, {"format": "String", "description": "The parameter value."}], "tables": [{"key": "fields", "rows": [{"c0": "1", "c1": "Int32", "c2": "Length of message contents in bytes, including self."}, {"c0": "2", "c1": "Int32(196608)", "c2": "The protocol version number. The most significant 16 bits are the major version number (3 for the protocol described here). The least significant 16 bits are the minor version number (0 for the protocol described here)."}, {"c0": "3", "c1": "String", "c2": "The parameter name. Currently recognized names are: user The database user name to connect as. Required; there is no default. database The database to connect to. Defaults to the user name. options Command-line arguments for the backend. (This is deprecated in favor of setting individual run-time parameters.) Spaces within this string are considered to separate arguments, unless escaped with a backslash ( \\ ); write \\\\ to represent a literal backslash. replication Used to connect in streaming replication mode, where a small set of replication commands can be issued instead of SQL statements. Value can be true , false , or database , and the default is false . See Section 52.4 for details. In addition to the above, other parameters may be listed. Parameter names beginning with _pq_. are reserved for use as protocol extensions, while others are treated as run-time parameters to be set at backend start time. Such settings will be applied during backend start (after parsing the command-line arguments if any) and will act as session defaults."}, {"c0": "4", "c1": "user", "c2": "The database user name to connect as. Required; there is no default."}, {"c0": "5", "c1": "database", "c2": "The database to connect to. Defaults to the user name."}, {"c0": "6", "c1": "options", "c2": "Command-line arguments for the backend. (This is deprecated in favor of setting individual run-time parameters.) Spaces within this string are considered to separate arguments, unless escaped with a backslash ( \\ ); write \\\\ to represent a literal backslash."}, {"c0": "7", "c1": "replication", "c2": "Used to connect in streaming replication mode, where a small set of replication commands can be issued instead of SQL statements. Value can be true , false , or database , and the default is false . See Section 52.4 for details."}, {"c0": "8", "c1": "String", "c2": "The parameter value."}], "title": "Wire fields in documented order", "columns": [{"key": "c0", "label": "Position"}, {"key": "c1", "label": "Format"}, {"key": "c2", "label": "Meaning"}]}], "related": [{"url": "/docs/13/protocol-flow.html", "label": "Protocol flow and exchange examples"}, {"url": "/docs/13/protocol-overview.html", "label": "Protocol overview"}, {"url": "/docs/13/protocol-flow.html#id-1.10.5.7.10", "label": "Canceling Requests in Progress"}, {"url": "/docs/13/protocol-flow.html#id-1.10.5.7.12", "label": "SSL Session Encryption"}, {"url": "/docs/13/protocol-flow.html#id-1.10.5.7.13", "label": "GSSAPI Session Encryption"}], "release": {"ref": "https://ftp.postgresql.org/pub/source/v13.23/postgresql-13.23.tar.bz2", "label": "13.23", "major": "13", "channel": "stable", "revision": "6ec3c82726af92b7dec873fa1cdf881eca92a4219787dfad05acb6b10e041fd6"}, "sources": [{"url": "/docs/13/protocol-message-formats.html#PROTOCOL-MESSAGE-FORMATS", "path": "protocol-message-formats.html", "label": "PostgreSQL 13 English manual", "sha256": "86bc62b343a9bd881a6832cced7d81285a9924985ea598ee2b207bbb4ba9666e"}], "sections": [{"title": "Framing and repetition", "paragraphs": ["The complete definition below retains repetition, counts and conditional fields. A numbered table row is a documented field definition, not a fixed byte offset. Integer encodings and flow rules follow the same-version protocol chapter."]}], "direction": "F", "signature": "StartupMessage (F)", "description": ["StartupMessage is a frontend protocol message. Length of message contents in bytes, including self."], "manual_html": "<dl><dd>\n<div class=\"variablelist\">\n<dl class=\"variablelist\">\n<dt><span class=\"term\">Int32</span></dt>\n<dd>\n<p>Length of message contents in bytes, including self.</p>\n</dd>\n<dt><span class=\"term\">Int32(196608)</span></dt>\n<dd>\n<p>The protocol version number. The most significant 16 bits are the major version number (3 for the protocol described here). The least significant 16 bits are the minor version number (0 for the protocol described here).</p>\n</dd>\n</dl>\n</div>\n<p>The protocol version number is followed by one or more pairs of parameter name and value strings. A zero byte is required as a terminator after the last name/value pair. Parameters can appear in any order. <code class=\"literal\">user</code> is required, others are optional. Each parameter is specified as:</p>\n<div class=\"variablelist\">\n<dl class=\"variablelist\">\n<dt><span class=\"term\">String</span></dt>\n<dd>\n<p>The parameter name. Currently recognized names are:</p>\n<div class=\"variablelist\">\n<dl class=\"variablelist\">\n<dt><span class=\"term\"><code class=\"literal\">user</code></span></dt>\n<dd>\n<p>The database user name to connect as. Required; there is no default.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"literal\">database</code></span></dt>\n<dd>\n<p>The database to connect to. Defaults to the user name.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"literal\">options</code></span></dt>\n<dd>\n<p>Command-line arguments for the backend. (This is deprecated in favor of setting individual run-time parameters.) Spaces within this string are considered to separate arguments, unless escaped with a backslash (<code class=\"literal\">\\</code>); write <code class=\"literal\">\\\\</code> to represent a literal backslash.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"literal\">replication</code></span></dt>\n<dd>\n<p>Used to connect in streaming replication mode, where a small set of replication commands can be issued instead of SQL statements. Value can be <code class=\"literal\">true</code>, <code class=\"literal\">false</code>, or <code class=\"literal\">database</code>, and the default is <code class=\"literal\">false</code>. See <a class=\"xref\" href=\"/docs/13/protocol-replication.html\" title=\"52.4.\u00a0Streaming Replication Protocol\">Section\u00a052.4</a> for details.</p>\n</dd>\n</dl>\n</div>\n<p>In addition to the above, other parameters may be listed. Parameter names beginning with <code class=\"literal\">_pq_.</code> are reserved for use as protocol extensions, while others are treated as run-time parameters to be set at backend start time. Such settings will be applied during backend start (after parsing the command-line arguments if any) and will act as session defaults.</p>\n</dd>\n<dt><span class=\"term\">String</span></dt>\n<dd>\n<p>The parameter value.</p>\n</dd>\n</dl>\n</div>\n</dd></dl>", "manual_path": "/docs/13/protocol-message-formats.html", "comparison_data": {"fields": [{"format": "Int32", "description": "Length of message contents in bytes, including self."}, {"format": "Int32(196608)", "description": "The protocol version number. The most significant 16 bits are the major version number (3 for the protocol described here). The least significant 16 bits are the minor version number (0 for the protocol described here)."}, {"format": "String", "description": "The parameter name. Currently recognized names are: user The database user name to connect as. Required; there is no default. database The database to connect to. Defaults to the user name. options Command-line arguments for the backend. (This is deprecated in favor of setting individual run-time parameters.) Spaces within this string are considered to separate arguments, unless escaped with a backslash ( \\ ); write \\\\ to represent a literal backslash. replication Used to connect in streaming replication mode, where a small set of replication commands can be issued instead of SQL statements. Value can be true , false , or database , and the default is false . See Section 52.4 for details. In addition to the above, other parameters may be listed. Parameter names beginning with _pq_. are reserved for use as protocol extensions, while others are treated as run-time parameters to be set at backend start time. Such settings will be applied during backend start (after parsing the command-line arguments if any) and will act as session defaults."}, {"format": "user", "description": "The database user name to connect as. Required; there is no default."}, {"format": "database", "description": "The database to connect to. Defaults to the user name."}, {"format": "options", "description": "Command-line arguments for the backend. (This is deprecated in favor of setting individual run-time parameters.) Spaces within this string are considered to separate arguments, unless escaped with a backslash ( \\ ); write \\\\ to represent a literal backslash."}, {"format": "replication", "description": "Used to connect in streaming replication mode, where a small set of replication commands can be issued instead of SQL statements. Value can be true , false , or database , and the default is false . See Section 52.4 for details."}, {"format": "String", "description": "The parameter value."}], "direction": "F"}, "comparison_hash": "141486d7d0c3639d33a8a806d2daec19812aa848ae516a6719f055353eae58f2"}, "14": {"facts": [{"label": "Direction", "value": "Frontend \u2192 backend"}, {"label": "First wire field", "value": "Int32"}, {"label": "Field entries", "value": "8"}, {"label": "Documented flow contexts", "value": "Canceling Requests in Progress; SSL Session Encryption; GSSAPI Session Encryption"}], "fields": [{"format": "Int32", "description": "Length of message contents in bytes, including self."}, {"format": "Int32(196608)", "description": "The protocol version number. The most significant 16 bits are the major version number (3 for the protocol described here). The least significant 16 bits are the minor version number (0 for the protocol described here)."}, {"format": "String", "description": "The parameter name. Currently recognized names are: user The database user name to connect as. Required; there is no default. database The database to connect to. Defaults to the user name. options Command-line arguments for the backend. (This is deprecated in favor of setting individual run-time parameters.) Spaces within this string are considered to separate arguments, unless escaped with a backslash ( \\ ); write \\\\ to represent a literal backslash. replication Used to connect in streaming replication mode, where a small set of replication commands can be issued instead of SQL statements. Value can be true , false , or database , and the default is false . See Section 53.4 for details. In addition to the above, other parameters may be listed. Parameter names beginning with _pq_. are reserved for use as protocol extensions, while others are treated as run-time parameters to be set at backend start time. Such settings will be applied during backend start (after parsing the command-line arguments if any) and will act as session defaults."}, {"format": "user", "description": "The database user name to connect as. Required; there is no default."}, {"format": "database", "description": "The database to connect to. Defaults to the user name."}, {"format": "options", "description": "Command-line arguments for the backend. (This is deprecated in favor of setting individual run-time parameters.) Spaces within this string are considered to separate arguments, unless escaped with a backslash ( \\ ); write \\\\ to represent a literal backslash."}, {"format": "replication", "description": "Used to connect in streaming replication mode, where a small set of replication commands can be issued instead of SQL statements. Value can be true , false , or database , and the default is false . See Section 53.4 for details."}, {"format": "String", "description": "The parameter value."}], "tables": [{"key": "fields", "rows": [{"c0": "1", "c1": "Int32", "c2": "Length of message contents in bytes, including self."}, {"c0": "2", "c1": "Int32(196608)", "c2": "The protocol version number. The most significant 16 bits are the major version number (3 for the protocol described here). The least significant 16 bits are the minor version number (0 for the protocol described here)."}, {"c0": "3", "c1": "String", "c2": "The parameter name. Currently recognized names are: user The database user name to connect as. Required; there is no default. database The database to connect to. Defaults to the user name. options Command-line arguments for the backend. (This is deprecated in favor of setting individual run-time parameters.) Spaces within this string are considered to separate arguments, unless escaped with a backslash ( \\ ); write \\\\ to represent a literal backslash. replication Used to connect in streaming replication mode, where a small set of replication commands can be issued instead of SQL statements. Value can be true , false , or database , and the default is false . See Section 53.4 for details. In addition to the above, other parameters may be listed. Parameter names beginning with _pq_. are reserved for use as protocol extensions, while others are treated as run-time parameters to be set at backend start time. Such settings will be applied during backend start (after parsing the command-line arguments if any) and will act as session defaults."}, {"c0": "4", "c1": "user", "c2": "The database user name to connect as. Required; there is no default."}, {"c0": "5", "c1": "database", "c2": "The database to connect to. Defaults to the user name."}, {"c0": "6", "c1": "options", "c2": "Command-line arguments for the backend. (This is deprecated in favor of setting individual run-time parameters.) Spaces within this string are considered to separate arguments, unless escaped with a backslash ( \\ ); write \\\\ to represent a literal backslash."}, {"c0": "7", "c1": "replication", "c2": "Used to connect in streaming replication mode, where a small set of replication commands can be issued instead of SQL statements. Value can be true , false , or database , and the default is false . See Section 53.4 for details."}, {"c0": "8", "c1": "String", "c2": "The parameter value."}], "title": "Wire fields in documented order", "columns": [{"key": "c0", "label": "Position"}, {"key": "c1", "label": "Format"}, {"key": "c2", "label": "Meaning"}]}], "related": [{"url": "/docs/14/protocol-flow.html", "label": "Protocol flow and exchange examples"}, {"url": "/docs/14/protocol-overview.html", "label": "Protocol overview"}, {"url": "/docs/14/protocol-flow.html#id-1.10.5.7.10", "label": "Canceling Requests in Progress"}, {"url": "/docs/14/protocol-flow.html#id-1.10.5.7.12", "label": "SSL Session Encryption"}, {"url": "/docs/14/protocol-flow.html#id-1.10.5.7.13", "label": "GSSAPI Session Encryption"}], "release": {"ref": "https://ftp.postgresql.org/pub/source/v14.24/postgresql-14.24.tar.bz2", "label": "14.24", "major": "14", "channel": "stable", "revision": "a7fa7ed3d558172355f51406097a7bd4f6b473be80f311ef7cda96bf383d8897"}, "sources": [{"url": "/docs/14/protocol-message-formats.html#PROTOCOL-MESSAGE-FORMATS", "path": "protocol-message-formats.html", "label": "PostgreSQL 14 English manual", "sha256": "250fd6a2529964948260a546f72931e259885bb222b62c3bdbf5ab402b72987b"}], "sections": [{"title": "Framing and repetition", "paragraphs": ["The complete definition below retains repetition, counts and conditional fields. A numbered table row is a documented field definition, not a fixed byte offset. Integer encodings and flow rules follow the same-version protocol chapter."]}], "direction": "F", "signature": "StartupMessage (F)", "description": ["StartupMessage is a frontend protocol message. Length of message contents in bytes, including self."], "manual_html": "<dl><dd>\n<div class=\"variablelist\">\n<dl class=\"variablelist\">\n<dt><span class=\"term\">Int32</span></dt>\n<dd>\n<p>Length of message contents in bytes, including self.</p>\n</dd>\n<dt><span class=\"term\">Int32(196608)</span></dt>\n<dd>\n<p>The protocol version number. The most significant 16 bits are the major version number (3 for the protocol described here). The least significant 16 bits are the minor version number (0 for the protocol described here).</p>\n</dd>\n</dl>\n</div>\n<p>The protocol version number is followed by one or more pairs of parameter name and value strings. A zero byte is required as a terminator after the last name/value pair. Parameters can appear in any order. <code class=\"literal\">user</code> is required, others are optional. Each parameter is specified as:</p>\n<div class=\"variablelist\">\n<dl class=\"variablelist\">\n<dt><span class=\"term\">String</span></dt>\n<dd>\n<p>The parameter name. Currently recognized names are:</p>\n<div class=\"variablelist\">\n<dl class=\"variablelist\">\n<dt><span class=\"term\"><code class=\"literal\">user</code></span></dt>\n<dd>\n<p>The database user name to connect as. Required; there is no default.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"literal\">database</code></span></dt>\n<dd>\n<p>The database to connect to. Defaults to the user name.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"literal\">options</code></span></dt>\n<dd>\n<p>Command-line arguments for the backend. (This is deprecated in favor of setting individual run-time parameters.) Spaces within this string are considered to separate arguments, unless escaped with a backslash (<code class=\"literal\">\\</code>); write <code class=\"literal\">\\\\</code> to represent a literal backslash.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"literal\">replication</code></span></dt>\n<dd>\n<p>Used to connect in streaming replication mode, where a small set of replication commands can be issued instead of SQL statements. Value can be <code class=\"literal\">true</code>, <code class=\"literal\">false</code>, or <code class=\"literal\">database</code>, and the default is <code class=\"literal\">false</code>. See <a class=\"xref\" href=\"/docs/14/protocol-replication.html\" title=\"53.4.\u00a0Streaming Replication Protocol\">Section\u00a053.4</a> for details.</p>\n</dd>\n</dl>\n</div>\n<p>In addition to the above, other parameters may be listed. Parameter names beginning with <code class=\"literal\">_pq_.</code> are reserved for use as protocol extensions, while others are treated as run-time parameters to be set at backend start time. Such settings will be applied during backend start (after parsing the command-line arguments if any) and will act as session defaults.</p>\n</dd>\n<dt><span class=\"term\">String</span></dt>\n<dd>\n<p>The parameter value.</p>\n</dd>\n</dl>\n</div>\n</dd></dl>", "manual_path": "/docs/14/protocol-message-formats.html", "comparison_data": {"fields": [{"format": "Int32", "description": "Length of message contents in bytes, including self."}, {"format": "Int32(196608)", "description": "The protocol version number. The most significant 16 bits are the major version number (3 for the protocol described here). The least significant 16 bits are the minor version number (0 for the protocol described here)."}, {"format": "String", "description": "The parameter name. Currently recognized names are: user The database user name to connect as. Required; there is no default. database The database to connect to. Defaults to the user name. options Command-line arguments for the backend. (This is deprecated in favor of setting individual run-time parameters.) Spaces within this string are considered to separate arguments, unless escaped with a backslash ( \\ ); write \\\\ to represent a literal backslash. replication Used to connect in streaming replication mode, where a small set of replication commands can be issued instead of SQL statements. Value can be true , false , or database , and the default is false . See Section 53.4 for details. In addition to the above, other parameters may be listed. Parameter names beginning with _pq_. are reserved for use as protocol extensions, while others are treated as run-time parameters to be set at backend start time. Such settings will be applied during backend start (after parsing the command-line arguments if any) and will act as session defaults."}, {"format": "user", "description": "The database user name to connect as. Required; there is no default."}, {"format": "database", "description": "The database to connect to. Defaults to the user name."}, {"format": "options", "description": "Command-line arguments for the backend. (This is deprecated in favor of setting individual run-time parameters.) Spaces within this string are considered to separate arguments, unless escaped with a backslash ( \\ ); write \\\\ to represent a literal backslash."}, {"format": "replication", "description": "Used to connect in streaming replication mode, where a small set of replication commands can be issued instead of SQL statements. Value can be true , false , or database , and the default is false . See Section 53.4 for details."}, {"format": "String", "description": "The parameter value."}], "direction": "F"}, "comparison_hash": "bcfe2a9d0912c977ac383c8a67059748f2ed01142bddd6db754f1cf6eb013fa7"}, "15": {"facts": [{"label": "Direction", "value": "Frontend \u2192 backend"}, {"label": "First wire field", "value": "Int32"}, {"label": "Field entries", "value": "8"}, {"label": "Documented flow contexts", "value": "Canceling Requests in Progress; SSL Session Encryption; GSSAPI Session Encryption"}], "fields": [{"format": "Int32", "description": "Length of message contents in bytes, including self."}, {"format": "Int32(196608)", "description": "The protocol version number. The most significant 16 bits are the major version number (3 for the protocol described here). The least significant 16 bits are the minor version number (0 for the protocol described here)."}, {"format": "String", "description": "The parameter name. Currently recognized names are: user The database user name to connect as. Required; there is no default. database The database to connect to. Defaults to the user name. options Command-line arguments for the backend. (This is deprecated in favor of setting individual run-time parameters.) Spaces within this string are considered to separate arguments, unless escaped with a backslash ( \\ ); write \\\\ to represent a literal backslash. replication Used to connect in streaming replication mode, where a small set of replication commands can be issued instead of SQL statements. Value can be true , false , or database , and the default is false . See Section 55.4 for details. In addition to the above, other parameters may be listed. Parameter names beginning with _pq_. are reserved for use as protocol extensions, while others are treated as run-time parameters to be set at backend start time. Such settings will be applied during backend start (after parsing the command-line arguments if any) and will act as session defaults."}, {"format": "user", "description": "The database user name to connect as. Required; there is no default."}, {"format": "database", "description": "The database to connect to. Defaults to the user name."}, {"format": "options", "description": "Command-line arguments for the backend. (This is deprecated in favor of setting individual run-time parameters.) Spaces within this string are considered to separate arguments, unless escaped with a backslash ( \\ ); write \\\\ to represent a literal backslash."}, {"format": "replication", "description": "Used to connect in streaming replication mode, where a small set of replication commands can be issued instead of SQL statements. Value can be true , false , or database , and the default is false . See Section 55.4 for details."}, {"format": "String", "description": "The parameter value."}], "tables": [{"key": "fields", "rows": [{"c0": "1", "c1": "Int32", "c2": "Length of message contents in bytes, including self."}, {"c0": "2", "c1": "Int32(196608)", "c2": "The protocol version number. The most significant 16 bits are the major version number (3 for the protocol described here). The least significant 16 bits are the minor version number (0 for the protocol described here)."}, {"c0": "3", "c1": "String", "c2": "The parameter name. Currently recognized names are: user The database user name to connect as. Required; there is no default. database The database to connect to. Defaults to the user name. options Command-line arguments for the backend. (This is deprecated in favor of setting individual run-time parameters.) Spaces within this string are considered to separate arguments, unless escaped with a backslash ( \\ ); write \\\\ to represent a literal backslash. replication Used to connect in streaming replication mode, where a small set of replication commands can be issued instead of SQL statements. Value can be true , false , or database , and the default is false . See Section 55.4 for details. In addition to the above, other parameters may be listed. Parameter names beginning with _pq_. are reserved for use as protocol extensions, while others are treated as run-time parameters to be set at backend start time. Such settings will be applied during backend start (after parsing the command-line arguments if any) and will act as session defaults."}, {"c0": "4", "c1": "user", "c2": "The database user name to connect as. Required; there is no default."}, {"c0": "5", "c1": "database", "c2": "The database to connect to. Defaults to the user name."}, {"c0": "6", "c1": "options", "c2": "Command-line arguments for the backend. (This is deprecated in favor of setting individual run-time parameters.) Spaces within this string are considered to separate arguments, unless escaped with a backslash ( \\ ); write \\\\ to represent a literal backslash."}, {"c0": "7", "c1": "replication", "c2": "Used to connect in streaming replication mode, where a small set of replication commands can be issued instead of SQL statements. Value can be true , false , or database , and the default is false . See Section 55.4 for details."}, {"c0": "8", "c1": "String", "c2": "The parameter value."}], "title": "Wire fields in documented order", "columns": [{"key": "c0", "label": "Position"}, {"key": "c1", "label": "Format"}, {"key": "c2", "label": "Meaning"}]}], "related": [{"url": "/docs/15/protocol-flow.html", "label": "Protocol flow and exchange examples"}, {"url": "/docs/15/protocol-overview.html", "label": "Protocol overview"}, {"url": "/docs/15/protocol-flow.html#id-1.10.6.7.10", "label": "Canceling Requests in Progress"}, {"url": "/docs/15/protocol-flow.html#id-1.10.6.7.12", "label": "SSL Session Encryption"}, {"url": "/docs/15/protocol-flow.html#id-1.10.6.7.13", "label": "GSSAPI Session Encryption"}], "release": {"ref": "https://ftp.postgresql.org/pub/source/v15.19/postgresql-15.19.tar.bz2", "label": "15.19", "major": "15", "channel": "stable", "revision": "e1a64a87a46b825b88c082e4518161a47aab53c45694964f8ba1df28f7859f89"}, "sources": [{"url": "/docs/15/protocol-message-formats.html#PROTOCOL-MESSAGE-FORMATS-STARTUPMESSAGE", "path": "protocol-message-formats.html", "label": "PostgreSQL 15 English manual", "sha256": "8c5c191eef74cd3249dabab5d6714b0f516b88c4658da4d6cce6c003bc45d919"}], "sections": [{"title": "Framing and repetition", "paragraphs": ["The complete definition below retains repetition, counts and conditional fields. A numbered table row is a documented field definition, not a fixed byte offset. Integer encodings and flow rules follow the same-version protocol chapter."]}], "direction": "F", "signature": "StartupMessage (F)", "description": ["StartupMessage is a frontend protocol message. Length of message contents in bytes, including self."], "manual_html": "<dl><dd>\n<div class=\"variablelist\">\n<dl class=\"variablelist\">\n<dt><span class=\"term\">Int32</span></dt>\n<dd>\n<p>Length of message contents in bytes, including self.</p>\n</dd>\n<dt><span class=\"term\">Int32(196608)</span></dt>\n<dd>\n<p>The protocol version number. The most significant 16 bits are the major version number (3 for the protocol described here). The least significant 16 bits are the minor version number (0 for the protocol described here).</p>\n</dd>\n</dl>\n</div>\n<p>The protocol version number is followed by one or more pairs of parameter name and value strings. A zero byte is required as a terminator after the last name/value pair. Parameters can appear in any order. <code class=\"literal\">user</code> is required, others are optional. Each parameter is specified as:</p>\n<div class=\"variablelist\">\n<dl class=\"variablelist\">\n<dt><span class=\"term\">String</span></dt>\n<dd>\n<p>The parameter name. Currently recognized names are:</p>\n<div class=\"variablelist\">\n<dl class=\"variablelist\">\n<dt><span class=\"term\"><code class=\"literal\">user</code></span></dt>\n<dd>\n<p>The database user name to connect as. Required; there is no default.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"literal\">database</code></span></dt>\n<dd>\n<p>The database to connect to. Defaults to the user name.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"literal\">options</code></span></dt>\n<dd>\n<p>Command-line arguments for the backend. (This is deprecated in favor of setting individual run-time parameters.) Spaces within this string are considered to separate arguments, unless escaped with a backslash (<code class=\"literal\">\\</code>); write <code class=\"literal\">\\\\</code> to represent a literal backslash.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"literal\">replication</code></span></dt>\n<dd>\n<p>Used to connect in streaming replication mode, where a small set of replication commands can be issued instead of SQL statements. Value can be <code class=\"literal\">true</code>, <code class=\"literal\">false</code>, or <code class=\"literal\">database</code>, and the default is <code class=\"literal\">false</code>. See <a class=\"xref\" href=\"/docs/15/protocol-replication.html\" title=\"55.4.\u00a0Streaming Replication Protocol\">Section\u00a055.4</a> for details.</p>\n</dd>\n</dl>\n</div>\n<p>In addition to the above, other parameters may be listed. Parameter names beginning with <code class=\"literal\">_pq_.</code> are reserved for use as protocol extensions, while others are treated as run-time parameters to be set at backend start time. Such settings will be applied during backend start (after parsing the command-line arguments if any) and will act as session defaults.</p>\n</dd>\n<dt><span class=\"term\">String</span></dt>\n<dd>\n<p>The parameter value.</p>\n</dd>\n</dl>\n</div>\n</dd></dl>", "manual_path": "/docs/15/protocol-message-formats.html", "comparison_data": {"fields": [{"format": "Int32", "description": "Length of message contents in bytes, including self."}, {"format": "Int32(196608)", "description": "The protocol version number. The most significant 16 bits are the major version number (3 for the protocol described here). The least significant 16 bits are the minor version number (0 for the protocol described here)."}, {"format": "String", "description": "The parameter name. Currently recognized names are: user The database user name to connect as. Required; there is no default. database The database to connect to. Defaults to the user name. options Command-line arguments for the backend. (This is deprecated in favor of setting individual run-time parameters.) Spaces within this string are considered to separate arguments, unless escaped with a backslash ( \\ ); write \\\\ to represent a literal backslash. replication Used to connect in streaming replication mode, where a small set of replication commands can be issued instead of SQL statements. Value can be true , false , or database , and the default is false . See Section 55.4 for details. In addition to the above, other parameters may be listed. Parameter names beginning with _pq_. are reserved for use as protocol extensions, while others are treated as run-time parameters to be set at backend start time. Such settings will be applied during backend start (after parsing the command-line arguments if any) and will act as session defaults."}, {"format": "user", "description": "The database user name to connect as. Required; there is no default."}, {"format": "database", "description": "The database to connect to. Defaults to the user name."}, {"format": "options", "description": "Command-line arguments for the backend. (This is deprecated in favor of setting individual run-time parameters.) Spaces within this string are considered to separate arguments, unless escaped with a backslash ( \\ ); write \\\\ to represent a literal backslash."}, {"format": "replication", "description": "Used to connect in streaming replication mode, where a small set of replication commands can be issued instead of SQL statements. Value can be true , false , or database , and the default is false . See Section 55.4 for details."}, {"format": "String", "description": "The parameter value."}], "direction": "F"}, "comparison_hash": "e258e6a51b0066862593a9539b3c56d341220985be192f3cfb2a06ad96940c1a"}, "16": {"facts": [{"label": "Direction", "value": "Frontend \u2192 backend"}, {"label": "First wire field", "value": "Int32"}, {"label": "Field entries", "value": "8"}, {"label": "Documented flow contexts", "value": "Canceling Requests in Progress; SSL Session Encryption; GSSAPI Session Encryption"}], "fields": [{"format": "Int32", "description": "Length of message contents in bytes, including self."}, {"format": "Int32(196608)", "description": "The protocol version number. The most significant 16 bits are the major version number (3 for the protocol described here). The least significant 16 bits are the minor version number (0 for the protocol described here)."}, {"format": "String", "description": "The parameter name. Currently recognized names are: user The database user name to connect as. Required; there is no default. database The database to connect to. Defaults to the user name. options Command-line arguments for the backend. (This is deprecated in favor of setting individual run-time parameters.) Spaces within this string are considered to separate arguments, unless escaped with a backslash ( \\ ); write \\\\ to represent a literal backslash. replication Used to connect in streaming replication mode, where a small set of replication commands can be issued instead of SQL statements. Value can be true , false , or database , and the default is false . See Section 55.4 for details. In addition to the above, other parameters may be listed. Parameter names beginning with _pq_. are reserved for use as protocol extensions, while others are treated as run-time parameters to be set at backend start time. Such settings will be applied during backend start (after parsing the command-line arguments if any) and will act as session defaults."}, {"format": "user", "description": "The database user name to connect as. Required; there is no default."}, {"format": "database", "description": "The database to connect to. Defaults to the user name."}, {"format": "options", "description": "Command-line arguments for the backend. (This is deprecated in favor of setting individual run-time parameters.) Spaces within this string are considered to separate arguments, unless escaped with a backslash ( \\ ); write \\\\ to represent a literal backslash."}, {"format": "replication", "description": "Used to connect in streaming replication mode, where a small set of replication commands can be issued instead of SQL statements. Value can be true , false , or database , and the default is false . See Section 55.4 for details."}, {"format": "String", "description": "The parameter value."}], "tables": [{"key": "fields", "rows": [{"c0": "1", "c1": "Int32", "c2": "Length of message contents in bytes, including self."}, {"c0": "2", "c1": "Int32(196608)", "c2": "The protocol version number. The most significant 16 bits are the major version number (3 for the protocol described here). The least significant 16 bits are the minor version number (0 for the protocol described here)."}, {"c0": "3", "c1": "String", "c2": "The parameter name. Currently recognized names are: user The database user name to connect as. Required; there is no default. database The database to connect to. Defaults to the user name. options Command-line arguments for the backend. (This is deprecated in favor of setting individual run-time parameters.) Spaces within this string are considered to separate arguments, unless escaped with a backslash ( \\ ); write \\\\ to represent a literal backslash. replication Used to connect in streaming replication mode, where a small set of replication commands can be issued instead of SQL statements. Value can be true , false , or database , and the default is false . See Section 55.4 for details. In addition to the above, other parameters may be listed. Parameter names beginning with _pq_. are reserved for use as protocol extensions, while others are treated as run-time parameters to be set at backend start time. Such settings will be applied during backend start (after parsing the command-line arguments if any) and will act as session defaults."}, {"c0": "4", "c1": "user", "c2": "The database user name to connect as. Required; there is no default."}, {"c0": "5", "c1": "database", "c2": "The database to connect to. Defaults to the user name."}, {"c0": "6", "c1": "options", "c2": "Command-line arguments for the backend. (This is deprecated in favor of setting individual run-time parameters.) Spaces within this string are considered to separate arguments, unless escaped with a backslash ( \\ ); write \\\\ to represent a literal backslash."}, {"c0": "7", "c1": "replication", "c2": "Used to connect in streaming replication mode, where a small set of replication commands can be issued instead of SQL statements. Value can be true , false , or database , and the default is false . See Section 55.4 for details."}, {"c0": "8", "c1": "String", "c2": "The parameter value."}], "title": "Wire fields in documented order", "columns": [{"key": "c0", "label": "Position"}, {"key": "c1", "label": "Format"}, {"key": "c2", "label": "Meaning"}]}], "related": [{"url": "/docs/16/protocol-flow.html", "label": "Protocol flow and exchange examples"}, {"url": "/docs/16/protocol-overview.html", "label": "Protocol overview"}, {"url": "/docs/16/protocol-flow.html#PROTOCOL-FLOW-CANCELING-REQUESTS", "label": "Canceling Requests in Progress"}, {"url": "/docs/16/protocol-flow.html#PROTOCOL-FLOW-SSL", "label": "SSL Session Encryption"}, {"url": "/docs/16/protocol-flow.html#PROTOCOL-FLOW-GSSAPI", "label": "GSSAPI Session Encryption"}], "release": {"ref": "https://ftp.postgresql.org/pub/source/v16.15/postgresql-16.15.tar.bz2", "label": "16.15", "major": "16", "channel": "stable", "revision": "c1575341fa7bd40f5274ea465b34390f4dc64cdd0770af327005caaeb9f6b7ed"}, "sources": [{"url": "/docs/16/protocol-message-formats.html#PROTOCOL-MESSAGE-FORMATS-STARTUPMESSAGE", "path": "protocol-message-formats.html", "label": "PostgreSQL 16 English manual", "sha256": "c15646b30727f469cdac3bd411e50dc9b14ee85982a9c9c8a2b3e16449b39a46"}], "sections": [{"title": "Framing and repetition", "paragraphs": ["The complete definition below retains repetition, counts and conditional fields. A numbered table row is a documented field definition, not a fixed byte offset. Integer encodings and flow rules follow the same-version protocol chapter."]}], "direction": "F", "signature": "StartupMessage (F)", "description": ["StartupMessage is a frontend protocol message. Length of message contents in bytes, including self."], "manual_html": "<dl><dd>\n<div class=\"variablelist\">\n<dl class=\"variablelist\">\n<dt><span class=\"term\">Int32</span></dt>\n<dd>\n<p>Length of message contents in bytes, including self.</p>\n</dd>\n<dt><span class=\"term\">Int32(196608)</span></dt>\n<dd>\n<p>The protocol version number. The most significant 16 bits are the major version number (3 for the protocol described here). The least significant 16 bits are the minor version number (0 for the protocol described here).</p>\n</dd>\n</dl>\n</div>\n<p>The protocol version number is followed by one or more pairs of parameter name and value strings. A zero byte is required as a terminator after the last name/value pair. Parameters can appear in any order. <code class=\"literal\">user</code> is required, others are optional. Each parameter is specified as:</p>\n<div class=\"variablelist\">\n<dl class=\"variablelist\">\n<dt><span class=\"term\">String</span></dt>\n<dd>\n<p>The parameter name. Currently recognized names are:</p>\n<div class=\"variablelist\">\n<dl class=\"variablelist\">\n<dt><span class=\"term\"><code class=\"literal\">user</code></span></dt>\n<dd>\n<p>The database user name to connect as. Required; there is no default.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"literal\">database</code></span></dt>\n<dd>\n<p>The database to connect to. Defaults to the user name.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"literal\">options</code></span></dt>\n<dd>\n<p>Command-line arguments for the backend. (This is deprecated in favor of setting individual run-time parameters.) Spaces within this string are considered to separate arguments, unless escaped with a backslash (<code class=\"literal\">\\</code>); write <code class=\"literal\">\\\\</code> to represent a literal backslash.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"literal\">replication</code></span></dt>\n<dd>\n<p>Used to connect in streaming replication mode, where a small set of replication commands can be issued instead of SQL statements. Value can be <code class=\"literal\">true</code>, <code class=\"literal\">false</code>, or <code class=\"literal\">database</code>, and the default is <code class=\"literal\">false</code>. See <a class=\"xref\" href=\"/docs/16/protocol-replication.html\" title=\"55.4.\u00a0Streaming Replication Protocol\">Section\u00a055.4</a> for details.</p>\n</dd>\n</dl>\n</div>\n<p>In addition to the above, other parameters may be listed. Parameter names beginning with <code class=\"literal\">_pq_.</code> are reserved for use as protocol extensions, while others are treated as run-time parameters to be set at backend start time. Such settings will be applied during backend start (after parsing the command-line arguments if any) and will act as session defaults.</p>\n</dd>\n<dt><span class=\"term\">String</span></dt>\n<dd>\n<p>The parameter value.</p>\n</dd>\n</dl>\n</div>\n</dd></dl>", "manual_path": "/docs/16/protocol-message-formats.html", "comparison_data": {"fields": [{"format": "Int32", "description": "Length of message contents in bytes, including self."}, {"format": "Int32(196608)", "description": "The protocol version number. The most significant 16 bits are the major version number (3 for the protocol described here). The least significant 16 bits are the minor version number (0 for the protocol described here)."}, {"format": "String", "description": "The parameter name. Currently recognized names are: user The database user name to connect as. Required; there is no default. database The database to connect to. Defaults to the user name. options Command-line arguments for the backend. (This is deprecated in favor of setting individual run-time parameters.) Spaces within this string are considered to separate arguments, unless escaped with a backslash ( \\ ); write \\\\ to represent a literal backslash. replication Used to connect in streaming replication mode, where a small set of replication commands can be issued instead of SQL statements. Value can be true , false , or database , and the default is false . See Section 55.4 for details. In addition to the above, other parameters may be listed. Parameter names beginning with _pq_. are reserved for use as protocol extensions, while others are treated as run-time parameters to be set at backend start time. Such settings will be applied during backend start (after parsing the command-line arguments if any) and will act as session defaults."}, {"format": "user", "description": "The database user name to connect as. Required; there is no default."}, {"format": "database", "description": "The database to connect to. Defaults to the user name."}, {"format": "options", "description": "Command-line arguments for the backend. (This is deprecated in favor of setting individual run-time parameters.) Spaces within this string are considered to separate arguments, unless escaped with a backslash ( \\ ); write \\\\ to represent a literal backslash."}, {"format": "replication", "description": "Used to connect in streaming replication mode, where a small set of replication commands can be issued instead of SQL statements. Value can be true , false , or database , and the default is false . See Section 55.4 for details."}, {"format": "String", "description": "The parameter value."}], "direction": "F"}, "comparison_hash": "e258e6a51b0066862593a9539b3c56d341220985be192f3cfb2a06ad96940c1a"}, "17": {"facts": [{"label": "Direction", "value": "Frontend \u2192 backend"}, {"label": "First wire field", "value": "Int32"}, {"label": "Field entries", "value": "8"}, {"label": "Documented flow contexts", "value": "Canceling Requests in Progress; SSL Session Encryption; GSSAPI Session Encryption"}], "fields": [{"format": "Int32", "description": "Length of message contents in bytes, including self."}, {"format": "Int32(196608)", "description": "The protocol version number. The most significant 16 bits are the major version number (3 for the protocol described here). The least significant 16 bits are the minor version number (0 for the protocol described here)."}, {"format": "String", "description": "The parameter name. Currently recognized names are: user The database user name to connect as. Required; there is no default. database The database to connect to. Defaults to the user name. options Command-line arguments for the backend. (This is deprecated in favor of setting individual run-time parameters.) Spaces within this string are considered to separate arguments, unless escaped with a backslash ( \\ ); write \\\\ to represent a literal backslash. replication Used to connect in streaming replication mode, where a small set of replication commands can be issued instead of SQL statements. Value can be true , false , or database , and the default is false . See Section 53.4 for details. In addition to the above, other parameters may be listed. Parameter names beginning with _pq_. are reserved for use as protocol extensions, while others are treated as run-time parameters to be set at backend start time. Such settings will be applied during backend start (after parsing the command-line arguments if any) and will act as session defaults."}, {"format": "user", "description": "The database user name to connect as. Required; there is no default."}, {"format": "database", "description": "The database to connect to. Defaults to the user name."}, {"format": "options", "description": "Command-line arguments for the backend. (This is deprecated in favor of setting individual run-time parameters.) Spaces within this string are considered to separate arguments, unless escaped with a backslash ( \\ ); write \\\\ to represent a literal backslash."}, {"format": "replication", "description": "Used to connect in streaming replication mode, where a small set of replication commands can be issued instead of SQL statements. Value can be true , false , or database , and the default is false . See Section 53.4 for details."}, {"format": "String", "description": "The parameter value."}], "tables": [{"key": "fields", "rows": [{"c0": "1", "c1": "Int32", "c2": "Length of message contents in bytes, including self."}, {"c0": "2", "c1": "Int32(196608)", "c2": "The protocol version number. The most significant 16 bits are the major version number (3 for the protocol described here). The least significant 16 bits are the minor version number (0 for the protocol described here)."}, {"c0": "3", "c1": "String", "c2": "The parameter name. Currently recognized names are: user The database user name to connect as. Required; there is no default. database The database to connect to. Defaults to the user name. options Command-line arguments for the backend. (This is deprecated in favor of setting individual run-time parameters.) Spaces within this string are considered to separate arguments, unless escaped with a backslash ( \\ ); write \\\\ to represent a literal backslash. replication Used to connect in streaming replication mode, where a small set of replication commands can be issued instead of SQL statements. Value can be true , false , or database , and the default is false . See Section 53.4 for details. In addition to the above, other parameters may be listed. Parameter names beginning with _pq_. are reserved for use as protocol extensions, while others are treated as run-time parameters to be set at backend start time. Such settings will be applied during backend start (after parsing the command-line arguments if any) and will act as session defaults."}, {"c0": "4", "c1": "user", "c2": "The database user name to connect as. Required; there is no default."}, {"c0": "5", "c1": "database", "c2": "The database to connect to. Defaults to the user name."}, {"c0": "6", "c1": "options", "c2": "Command-line arguments for the backend. (This is deprecated in favor of setting individual run-time parameters.) Spaces within this string are considered to separate arguments, unless escaped with a backslash ( \\ ); write \\\\ to represent a literal backslash."}, {"c0": "7", "c1": "replication", "c2": "Used to connect in streaming replication mode, where a small set of replication commands can be issued instead of SQL statements. Value can be true , false , or database , and the default is false . See Section 53.4 for details."}, {"c0": "8", "c1": "String", "c2": "The parameter value."}], "title": "Wire fields in documented order", "columns": [{"key": "c0", "label": "Position"}, {"key": "c1", "label": "Format"}, {"key": "c2", "label": "Meaning"}]}], "related": [{"url": "/docs/17/protocol-flow.html", "label": "Protocol flow and exchange examples"}, {"url": "/docs/17/protocol-overview.html", "label": "Protocol overview"}, {"url": "/docs/17/protocol-flow.html#PROTOCOL-FLOW-CANCELING-REQUESTS", "label": "Canceling Requests in Progress"}, {"url": "/docs/17/protocol-flow.html#PROTOCOL-FLOW-SSL", "label": "SSL Session Encryption"}, {"url": "/docs/17/protocol-flow.html#PROTOCOL-FLOW-GSSAPI", "label": "GSSAPI Session Encryption"}], "release": {"ref": "https://ftp.postgresql.org/pub/source/v17.11/postgresql-17.11.tar.bz2", "label": "17.11", "major": "17", "channel": "stable", "revision": "dd27f2b3c59e73ed14aa3324901242bf69a032a6347805f274e6260322d42979"}, "sources": [{"url": "/docs/17/protocol-message-formats.html#PROTOCOL-MESSAGE-FORMATS-STARTUPMESSAGE", "path": "protocol-message-formats.html", "label": "PostgreSQL 17 English manual", "sha256": "3c0e7b8a1a8f7ec5026226eab83d6704b7c5199ec9ba1aaaf91ea517609eed4e"}], "sections": [{"title": "Framing and repetition", "paragraphs": ["The complete definition below retains repetition, counts and conditional fields. A numbered table row is a documented field definition, not a fixed byte offset. Integer encodings and flow rules follow the same-version protocol chapter."]}], "direction": "F", "signature": "StartupMessage (F)", "description": ["StartupMessage is a frontend protocol message. Length of message contents in bytes, including self."], "manual_html": "<dl><dd>\n<div class=\"variablelist\">\n<dl class=\"variablelist\">\n<dt><span class=\"term\">Int32</span></dt>\n<dd>\n<p>Length of message contents in bytes, including self.</p>\n</dd>\n<dt><span class=\"term\">Int32(196608)</span></dt>\n<dd>\n<p>The protocol version number. The most significant 16 bits are the major version number (3 for the protocol described here). The least significant 16 bits are the minor version number (0 for the protocol described here).</p>\n</dd>\n</dl>\n</div>\n<p>The protocol version number is followed by one or more pairs of parameter name and value strings. A zero byte is required as a terminator after the last name/value pair. Parameters can appear in any order. <code class=\"literal\">user</code> is required, others are optional. Each parameter is specified as:</p>\n<div class=\"variablelist\">\n<dl class=\"variablelist\">\n<dt><span class=\"term\">String</span></dt>\n<dd>\n<p>The parameter name. Currently recognized names are:</p>\n<div class=\"variablelist\">\n<dl class=\"variablelist\">\n<dt><span class=\"term\"><code class=\"literal\">user</code></span></dt>\n<dd>\n<p>The database user name to connect as. Required; there is no default.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"literal\">database</code></span></dt>\n<dd>\n<p>The database to connect to. Defaults to the user name.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"literal\">options</code></span></dt>\n<dd>\n<p>Command-line arguments for the backend. (This is deprecated in favor of setting individual run-time parameters.) Spaces within this string are considered to separate arguments, unless escaped with a backslash (<code class=\"literal\">\\</code>); write <code class=\"literal\">\\\\</code> to represent a literal backslash.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"literal\">replication</code></span></dt>\n<dd>\n<p>Used to connect in streaming replication mode, where a small set of replication commands can be issued instead of SQL statements. Value can be <code class=\"literal\">true</code>, <code class=\"literal\">false</code>, or <code class=\"literal\">database</code>, and the default is <code class=\"literal\">false</code>. See <a class=\"xref\" href=\"/docs/17/protocol-replication.html\" title=\"53.4.\u00a0Streaming Replication Protocol\">Section\u00a053.4</a> for details.</p>\n</dd>\n</dl>\n</div>\n<p>In addition to the above, other parameters may be listed. Parameter names beginning with <code class=\"literal\">_pq_.</code> are reserved for use as protocol extensions, while others are treated as run-time parameters to be set at backend start time. Such settings will be applied during backend start (after parsing the command-line arguments if any) and will act as session defaults.</p>\n</dd>\n<dt><span class=\"term\">String</span></dt>\n<dd>\n<p>The parameter value.</p>\n</dd>\n</dl>\n</div>\n</dd></dl>", "manual_path": "/docs/17/protocol-message-formats.html", "comparison_data": {"fields": [{"format": "Int32", "description": "Length of message contents in bytes, including self."}, {"format": "Int32(196608)", "description": "The protocol version number. The most significant 16 bits are the major version number (3 for the protocol described here). The least significant 16 bits are the minor version number (0 for the protocol described here)."}, {"format": "String", "description": "The parameter name. Currently recognized names are: user The database user name to connect as. Required; there is no default. database The database to connect to. Defaults to the user name. options Command-line arguments for the backend. (This is deprecated in favor of setting individual run-time parameters.) Spaces within this string are considered to separate arguments, unless escaped with a backslash ( \\ ); write \\\\ to represent a literal backslash. replication Used to connect in streaming replication mode, where a small set of replication commands can be issued instead of SQL statements. Value can be true , false , or database , and the default is false . See Section 53.4 for details. In addition to the above, other parameters may be listed. Parameter names beginning with _pq_. are reserved for use as protocol extensions, while others are treated as run-time parameters to be set at backend start time. Such settings will be applied during backend start (after parsing the command-line arguments if any) and will act as session defaults."}, {"format": "user", "description": "The database user name to connect as. Required; there is no default."}, {"format": "database", "description": "The database to connect to. Defaults to the user name."}, {"format": "options", "description": "Command-line arguments for the backend. (This is deprecated in favor of setting individual run-time parameters.) Spaces within this string are considered to separate arguments, unless escaped with a backslash ( \\ ); write \\\\ to represent a literal backslash."}, {"format": "replication", "description": "Used to connect in streaming replication mode, where a small set of replication commands can be issued instead of SQL statements. Value can be true , false , or database , and the default is false . See Section 53.4 for details."}, {"format": "String", "description": "The parameter value."}], "direction": "F"}, "comparison_hash": "bcfe2a9d0912c977ac383c8a67059748f2ed01142bddd6db754f1cf6eb013fa7"}, "18": {"facts": [{"label": "Direction", "value": "Frontend \u2192 backend"}, {"label": "First wire field", "value": "Int32"}, {"label": "Field entries", "value": "8"}, {"label": "Documented flow contexts", "value": "Canceling Requests in Progress; SSL Session Encryption; GSSAPI Session Encryption"}], "fields": [{"format": "Int32", "description": "Length of message contents in bytes, including self."}, {"format": "Int32(196610)", "description": "The protocol version number. The most significant 16 bits are the major version number (3 for the protocol described here). The least significant 16 bits are the minor version number (2 for the protocol described here)."}, {"format": "String", "description": "The parameter name. Currently recognized names are: user The database user name to connect as. Required; there is no default. database The database to connect to. Defaults to the user name. options Command-line arguments for the backend. (This is deprecated in favor of setting individual run-time parameters.) Spaces within this string are considered to separate arguments, unless escaped with a backslash ( \\ ); write \\\\ to represent a literal backslash. replication Used to connect in streaming replication mode, where a small set of replication commands can be issued instead of SQL statements. Value can be true , false , or database , and the default is false . See Section 54.4 for details. In addition to the above, other parameters may be listed. Parameter names beginning with _pq_. are reserved for use as protocol extensions, while others are treated as run-time parameters to be set at backend start time. Such settings will be applied during backend start (after parsing the command-line arguments if any) and will act as session defaults."}, {"format": "user", "description": "The database user name to connect as. Required; there is no default."}, {"format": "database", "description": "The database to connect to. Defaults to the user name."}, {"format": "options", "description": "Command-line arguments for the backend. (This is deprecated in favor of setting individual run-time parameters.) Spaces within this string are considered to separate arguments, unless escaped with a backslash ( \\ ); write \\\\ to represent a literal backslash."}, {"format": "replication", "description": "Used to connect in streaming replication mode, where a small set of replication commands can be issued instead of SQL statements. Value can be true , false , or database , and the default is false . See Section 54.4 for details."}, {"format": "String", "description": "The parameter value."}], "tables": [{"key": "fields", "rows": [{"c0": "1", "c1": "Int32", "c2": "Length of message contents in bytes, including self."}, {"c0": "2", "c1": "Int32(196610)", "c2": "The protocol version number. The most significant 16 bits are the major version number (3 for the protocol described here). The least significant 16 bits are the minor version number (2 for the protocol described here)."}, {"c0": "3", "c1": "String", "c2": "The parameter name. Currently recognized names are: user The database user name to connect as. Required; there is no default. database The database to connect to. Defaults to the user name. options Command-line arguments for the backend. (This is deprecated in favor of setting individual run-time parameters.) Spaces within this string are considered to separate arguments, unless escaped with a backslash ( \\ ); write \\\\ to represent a literal backslash. replication Used to connect in streaming replication mode, where a small set of replication commands can be issued instead of SQL statements. Value can be true , false , or database , and the default is false . See Section 54.4 for details. In addition to the above, other parameters may be listed. Parameter names beginning with _pq_. are reserved for use as protocol extensions, while others are treated as run-time parameters to be set at backend start time. Such settings will be applied during backend start (after parsing the command-line arguments if any) and will act as session defaults."}, {"c0": "4", "c1": "user", "c2": "The database user name to connect as. Required; there is no default."}, {"c0": "5", "c1": "database", "c2": "The database to connect to. Defaults to the user name."}, {"c0": "6", "c1": "options", "c2": "Command-line arguments for the backend. (This is deprecated in favor of setting individual run-time parameters.) Spaces within this string are considered to separate arguments, unless escaped with a backslash ( \\ ); write \\\\ to represent a literal backslash."}, {"c0": "7", "c1": "replication", "c2": "Used to connect in streaming replication mode, where a small set of replication commands can be issued instead of SQL statements. Value can be true , false , or database , and the default is false . See Section 54.4 for details."}, {"c0": "8", "c1": "String", "c2": "The parameter value."}], "title": "Wire fields in documented order", "columns": [{"key": "c0", "label": "Position"}, {"key": "c1", "label": "Format"}, {"key": "c2", "label": "Meaning"}]}], "related": [{"url": "/docs/18/protocol-flow.html", "label": "Protocol flow and exchange examples"}, {"url": "/docs/18/protocol-overview.html", "label": "Protocol overview"}, {"url": "/docs/18/protocol-flow.html#PROTOCOL-FLOW-CANCELING-REQUESTS", "label": "Canceling Requests in Progress"}, {"url": "/docs/18/protocol-flow.html#PROTOCOL-FLOW-SSL", "label": "SSL Session Encryption"}, {"url": "/docs/18/protocol-flow.html#PROTOCOL-FLOW-GSSAPI", "label": "GSSAPI Session Encryption"}], "release": {"ref": "https://ftp.postgresql.org/pub/source/v18.6/postgresql-18.6.tar.bz2", "label": "18.6", "major": "18", "channel": "stable", "revision": "555610c24d53e4316da5b7d3fc25c279d96856d5e0e23ee308c328c5fa881d9f"}, "sources": [{"url": "/docs/18/protocol-message-formats.html#PROTOCOL-MESSAGE-FORMATS-STARTUPMESSAGE", "path": "protocol-message-formats.html", "label": "PostgreSQL 18 English manual", "sha256": "53f37652ac2c089e30ada87d8aee7bdd0f26695b03f275302e526a807d2a1f23"}], "sections": [{"title": "Framing and repetition", "paragraphs": ["The complete definition below retains repetition, counts and conditional fields. A numbered table row is a documented field definition, not a fixed byte offset. Integer encodings and flow rules follow the same-version protocol chapter."]}], "direction": "F", "signature": "StartupMessage (F)", "description": ["StartupMessage is a frontend protocol message. Length of message contents in bytes, including self."], "manual_html": "<dl><dd>\n<div class=\"variablelist\">\n<dl class=\"variablelist\">\n<dt><span class=\"term\">Int32</span></dt>\n<dd>\n<p>Length of message contents in bytes, including self.</p>\n</dd>\n<dt><span class=\"term\">Int32(196610)</span></dt>\n<dd>\n<p>The protocol version number. The most significant 16 bits are the major version number (3 for the protocol described here). The least significant 16 bits are the minor version number (2 for the protocol described here).</p>\n</dd>\n</dl>\n</div>\n<p>The protocol version number is followed by one or more pairs of parameter name and value strings. A zero byte is required as a terminator after the last name/value pair. Parameters can appear in any order. <code class=\"literal\">user</code> is required, others are optional. Each parameter is specified as:</p>\n<div class=\"variablelist\">\n<dl class=\"variablelist\">\n<dt><span class=\"term\">String</span></dt>\n<dd>\n<p>The parameter name. Currently recognized names are:</p>\n<div class=\"variablelist\">\n<dl class=\"variablelist\">\n<dt><span class=\"term\"><code class=\"literal\">user</code></span></dt>\n<dd>\n<p>The database user name to connect as. Required; there is no default.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"literal\">database</code></span></dt>\n<dd>\n<p>The database to connect to. Defaults to the user name.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"literal\">options</code></span></dt>\n<dd>\n<p>Command-line arguments for the backend. (This is deprecated in favor of setting individual run-time parameters.) Spaces within this string are considered to separate arguments, unless escaped with a backslash (<code class=\"literal\">\\</code>); write <code class=\"literal\">\\\\</code> to represent a literal backslash.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"literal\">replication</code></span></dt>\n<dd>\n<p>Used to connect in streaming replication mode, where a small set of replication commands can be issued instead of SQL statements. Value can be <code class=\"literal\">true</code>, <code class=\"literal\">false</code>, or <code class=\"literal\">database</code>, and the default is <code class=\"literal\">false</code>. See <a class=\"xref\" href=\"/docs/18/protocol-replication.html\" title=\"54.4.\u00a0Streaming Replication Protocol\">Section\u00a054.4</a> for details.</p>\n</dd>\n</dl>\n</div>\n<p>In addition to the above, other parameters may be listed. Parameter names beginning with <code class=\"literal\">_pq_.</code> are reserved for use as protocol extensions, while others are treated as run-time parameters to be set at backend start time. Such settings will be applied during backend start (after parsing the command-line arguments if any) and will act as session defaults.</p>\n</dd>\n<dt><span class=\"term\">String</span></dt>\n<dd>\n<p>The parameter value.</p>\n</dd>\n</dl>\n</div>\n</dd></dl>", "manual_path": "/docs/18/protocol-message-formats.html", "comparison_data": {"fields": [{"format": "Int32", "description": "Length of message contents in bytes, including self."}, {"format": "Int32(196610)", "description": "The protocol version number. The most significant 16 bits are the major version number (3 for the protocol described here). The least significant 16 bits are the minor version number (2 for the protocol described here)."}, {"format": "String", "description": "The parameter name. Currently recognized names are: user The database user name to connect as. Required; there is no default. database The database to connect to. Defaults to the user name. options Command-line arguments for the backend. (This is deprecated in favor of setting individual run-time parameters.) Spaces within this string are considered to separate arguments, unless escaped with a backslash ( \\ ); write \\\\ to represent a literal backslash. replication Used to connect in streaming replication mode, where a small set of replication commands can be issued instead of SQL statements. Value can be true , false , or database , and the default is false . See Section 54.4 for details. In addition to the above, other parameters may be listed. Parameter names beginning with _pq_. are reserved for use as protocol extensions, while others are treated as run-time parameters to be set at backend start time. Such settings will be applied during backend start (after parsing the command-line arguments if any) and will act as session defaults."}, {"format": "user", "description": "The database user name to connect as. Required; there is no default."}, {"format": "database", "description": "The database to connect to. Defaults to the user name."}, {"format": "options", "description": "Command-line arguments for the backend. (This is deprecated in favor of setting individual run-time parameters.) Spaces within this string are considered to separate arguments, unless escaped with a backslash ( \\ ); write \\\\ to represent a literal backslash."}, {"format": "replication", "description": "Used to connect in streaming replication mode, where a small set of replication commands can be issued instead of SQL statements. Value can be true , false , or database , and the default is false . See Section 54.4 for details."}, {"format": "String", "description": "The parameter value."}], "direction": "F"}, "comparison_hash": "b0e84a6731a2fc6c6bfa894a55c348aad046b4626f513682066294ceadc90424"}, "19": {"facts": [{"label": "Direction", "value": "Frontend \u2192 backend"}, {"label": "First wire field", "value": "Int32"}, {"label": "Field entries", "value": "8"}, {"label": "Documented flow contexts", "value": "Canceling Requests in Progress; SSL Session Encryption; GSSAPI Session Encryption"}], "fields": [{"format": "Int32", "description": "Length of message contents in bytes, including self."}, {"format": "Int32", "description": "The protocol version number. The most significant 16 bits are the major version number. The least significant 16 bits are the minor version number. As an example protocol version 3.2 is represented as 196610 in decimal or more clearly as 0x00030002 in hexadecimal."}, {"format": "String", "description": "The parameter name. Currently recognized names are: user The database user name to connect as. Required; there is no default. database The database to connect to. Defaults to the user name. options Command-line arguments for the backend. (This is deprecated in favor of setting individual run-time parameters.) Spaces within this string are considered to separate arguments, unless escaped with a backslash ( \\ ); write \\\\ to represent a literal backslash. replication Used to connect in streaming replication mode, where a small set of replication commands can be issued instead of SQL statements. Value can be true , false , or database , and the default is false . See Section 54.4 for details. In addition to the above, other parameters may be listed. Parameter names beginning with _pq_. are reserved for use as protocol extensions , while others are treated as run-time parameters to be set at backend start time. Such settings will be applied during backend start (after parsing the command-line arguments if any) and will act as session defaults."}, {"format": "user", "description": "The database user name to connect as. Required; there is no default."}, {"format": "database", "description": "The database to connect to. Defaults to the user name."}, {"format": "options", "description": "Command-line arguments for the backend. (This is deprecated in favor of setting individual run-time parameters.) Spaces within this string are considered to separate arguments, unless escaped with a backslash ( \\ ); write \\\\ to represent a literal backslash."}, {"format": "replication", "description": "Used to connect in streaming replication mode, where a small set of replication commands can be issued instead of SQL statements. Value can be true , false , or database , and the default is false . See Section 54.4 for details."}, {"format": "String", "description": "The parameter value."}], "tables": [{"key": "fields", "rows": [{"c0": "1", "c1": "Int32", "c2": "Length of message contents in bytes, including self."}, {"c0": "2", "c1": "Int32", "c2": "The protocol version number. The most significant 16 bits are the major version number. The least significant 16 bits are the minor version number. As an example protocol version 3.2 is represented as 196610 in decimal or more clearly as 0x00030002 in hexadecimal."}, {"c0": "3", "c1": "String", "c2": "The parameter name. Currently recognized names are: user The database user name to connect as. Required; there is no default. database The database to connect to. Defaults to the user name. options Command-line arguments for the backend. (This is deprecated in favor of setting individual run-time parameters.) Spaces within this string are considered to separate arguments, unless escaped with a backslash ( \\ ); write \\\\ to represent a literal backslash. replication Used to connect in streaming replication mode, where a small set of replication commands can be issued instead of SQL statements. Value can be true , false , or database , and the default is false . See Section 54.4 for details. In addition to the above, other parameters may be listed. Parameter names beginning with _pq_. are reserved for use as protocol extensions , while others are treated as run-time parameters to be set at backend start time. Such settings will be applied during backend start (after parsing the command-line arguments if any) and will act as session defaults."}, {"c0": "4", "c1": "user", "c2": "The database user name to connect as. Required; there is no default."}, {"c0": "5", "c1": "database", "c2": "The database to connect to. Defaults to the user name."}, {"c0": "6", "c1": "options", "c2": "Command-line arguments for the backend. (This is deprecated in favor of setting individual run-time parameters.) Spaces within this string are considered to separate arguments, unless escaped with a backslash ( \\ ); write \\\\ to represent a literal backslash."}, {"c0": "7", "c1": "replication", "c2": "Used to connect in streaming replication mode, where a small set of replication commands can be issued instead of SQL statements. Value can be true , false , or database , and the default is false . See Section 54.4 for details."}, {"c0": "8", "c1": "String", "c2": "The parameter value."}], "title": "Wire fields in documented order", "columns": [{"key": "c0", "label": "Position"}, {"key": "c1", "label": "Format"}, {"key": "c2", "label": "Meaning"}]}], "related": [{"url": "/docs/19/protocol-flow.html", "label": "Protocol flow and exchange examples"}, {"url": "/docs/19/protocol-overview.html", "label": "Protocol overview"}, {"url": "/docs/19/protocol-flow.html#PROTOCOL-FLOW-CANCELING-REQUESTS", "label": "Canceling Requests in Progress"}, {"url": "/docs/19/protocol-flow.html#PROTOCOL-FLOW-SSL", "label": "SSL Session Encryption"}, {"url": "/docs/19/protocol-flow.html#PROTOCOL-FLOW-GSSAPI", "label": "GSSAPI Session Encryption"}], "release": {"ref": "https://ftp.postgresql.org/pub/source/v19beta4/postgresql-19beta4.tar.bz2", "label": "19beta4", "major": "19", "channel": "preview", "revision": "83157ee9c599d03b2f7a3d73ef3a56ec24e0e79cc2b3501a64d1364f56398c86"}, "sources": [{"url": "/docs/19/protocol-message-formats.html#PROTOCOL-MESSAGE-FORMATS-STARTUPMESSAGE", "path": "protocol-message-formats.html", "label": "PostgreSQL 19 English manual", "sha256": "90ffd4417d4975d088424b23a513f1d79ac914225ad7e239a12f44d0dd2248e4"}], "sections": [{"title": "Framing and repetition", "paragraphs": ["The complete definition below retains repetition, counts and conditional fields. A numbered table row is a documented field definition, not a fixed byte offset. Integer encodings and flow rules follow the same-version protocol chapter."]}], "direction": "F", "signature": "StartupMessage (F)", "description": ["StartupMessage is a frontend protocol message. Length of message contents in bytes, including self."], "manual_html": "<dl><dd>\n<div class=\"variablelist\">\n<dl class=\"variablelist\">\n<dt><span class=\"term\">Int32</span></dt>\n<dd>\n<p>Length of message contents in bytes, including self.</p>\n</dd>\n<dt><span class=\"term\">Int32</span></dt>\n<dd>\n<p>The protocol version number. The most significant 16 bits are the major version number. The least significant 16 bits are the minor version number. As an example protocol version 3.2 is represented as <code class=\"literal\">196610</code> in decimal or more clearly as <code class=\"literal\">0x00030002</code> in hexadecimal.</p>\n</dd>\n</dl>\n</div>\n<p>The protocol version number is followed by one or more pairs of parameter name and value strings. A zero byte is required as a terminator after the last name/value pair. Parameters can appear in any order. <code class=\"literal\">user</code> is required, others are optional. Each parameter is specified as:</p>\n<div class=\"variablelist\">\n<dl class=\"variablelist\">\n<dt><span class=\"term\">String</span></dt>\n<dd>\n<p>The parameter name. Currently recognized names are:</p>\n<div class=\"variablelist\">\n<dl class=\"variablelist\">\n<dt><span class=\"term\"><code class=\"literal\">user</code></span></dt>\n<dd>\n<p>The database user name to connect as. Required; there is no default.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"literal\">database</code></span></dt>\n<dd>\n<p>The database to connect to. Defaults to the user name.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"literal\">options</code></span></dt>\n<dd>\n<p>Command-line arguments for the backend. (This is deprecated in favor of setting individual run-time parameters.) Spaces within this string are considered to separate arguments, unless escaped with a backslash (<code class=\"literal\">\\</code>); write <code class=\"literal\">\\\\</code> to represent a literal backslash.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"literal\">replication</code></span></dt>\n<dd>\n<p>Used to connect in streaming replication mode, where a small set of replication commands can be issued instead of SQL statements. Value can be <code class=\"literal\">true</code>, <code class=\"literal\">false</code>, or <code class=\"literal\">database</code>, and the default is <code class=\"literal\">false</code>. See <a class=\"xref\" href=\"/docs/19/protocol-replication.html\" title=\"54.4.\u00a0Streaming Replication Protocol\">Section\u00a054.4</a> for details.</p>\n</dd>\n</dl>\n</div>\n<p>In addition to the above, other parameters may be listed. Parameter names beginning with <code class=\"literal\">_pq_.</code> are reserved for use as <a class=\"link\" href=\"/docs/19/protocol-overview.html#PROTOCOL-EXTENSIONS\" title=\"54.1.5.\u00a0Protocol Extensions\">protocol extensions</a>, while others are treated as run-time parameters to be set at backend start time. Such settings will be applied during backend start (after parsing the command-line arguments if any) and will act as session defaults.</p>\n</dd>\n<dt><span class=\"term\">String</span></dt>\n<dd>\n<p>The parameter value.</p>\n</dd>\n</dl>\n</div>\n</dd></dl>", "manual_path": "/docs/19/protocol-message-formats.html", "comparison_data": {"fields": [{"format": "Int32", "description": "Length of message contents in bytes, including self."}, {"format": "Int32", "description": "The protocol version number. The most significant 16 bits are the major version number. The least significant 16 bits are the minor version number. As an example protocol version 3.2 is represented as 196610 in decimal or more clearly as 0x00030002 in hexadecimal."}, {"format": "String", "description": "The parameter name. Currently recognized names are: user The database user name to connect as. Required; there is no default. database The database to connect to. Defaults to the user name. options Command-line arguments for the backend. (This is deprecated in favor of setting individual run-time parameters.) Spaces within this string are considered to separate arguments, unless escaped with a backslash ( \\ ); write \\\\ to represent a literal backslash. replication Used to connect in streaming replication mode, where a small set of replication commands can be issued instead of SQL statements. Value can be true , false , or database , and the default is false . See Section 54.4 for details. In addition to the above, other parameters may be listed. Parameter names beginning with _pq_. are reserved for use as protocol extensions , while others are treated as run-time parameters to be set at backend start time. Such settings will be applied during backend start (after parsing the command-line arguments if any) and will act as session defaults."}, {"format": "user", "description": "The database user name to connect as. Required; there is no default."}, {"format": "database", "description": "The database to connect to. Defaults to the user name."}, {"format": "options", "description": "Command-line arguments for the backend. (This is deprecated in favor of setting individual run-time parameters.) Spaces within this string are considered to separate arguments, unless escaped with a backslash ( \\ ); write \\\\ to represent a literal backslash."}, {"format": "replication", "description": "Used to connect in streaming replication mode, where a small set of replication commands can be issued instead of SQL statements. Value can be true , false , or database , and the default is false . See Section 54.4 for details."}, {"format": "String", "description": "The parameter value."}], "direction": "F"}, "comparison_hash": "555bcf196c68c4eccde02ab4da224aaf20fcdd7d3ae5e89b8d65214e7687c721"}, "20": {"facts": [{"label": "Direction", "value": "Frontend \u2192 backend"}, {"label": "First wire field", "value": "Int32"}, {"label": "Field entries", "value": "8"}, {"label": "Documented flow contexts", "value": "Canceling Requests in Progress; SSL Session Encryption; GSSAPI Session Encryption"}], "fields": [{"format": "Int32", "description": "Length of message contents in bytes, including self."}, {"format": "Int32", "description": "The protocol version number. The most significant 16 bits are the major version number. The least significant 16 bits are the minor version number. As an example protocol version 3.2 is represented as 196610 in decimal or more clearly as 0x00030002 in hexadecimal."}, {"format": "String", "description": "The parameter name. Currently recognized names are: user The database user name to connect as. Required; there is no default. database The database to connect to. Defaults to the user name. options Command-line arguments for the backend. (This is deprecated in favor of setting individual run-time parameters.) Spaces within this string are considered to separate arguments, unless escaped with a backslash ( \\ ); write \\\\ to represent a literal backslash. replication Used to connect in streaming replication mode, where a small set of replication commands can be issued instead of SQL statements. Value can be true , false , or database , and the default is false . See Section 54.4 for details. In addition to the above, other parameters may be listed. Parameter names beginning with _pq_. are reserved for use as protocol extensions , while others are treated as run-time parameters to be set at backend start time. Such settings will be applied during backend start (after parsing the command-line arguments if any) and will act as session defaults."}, {"format": "user", "description": "The database user name to connect as. Required; there is no default."}, {"format": "database", "description": "The database to connect to. Defaults to the user name."}, {"format": "options", "description": "Command-line arguments for the backend. (This is deprecated in favor of setting individual run-time parameters.) Spaces within this string are considered to separate arguments, unless escaped with a backslash ( \\ ); write \\\\ to represent a literal backslash."}, {"format": "replication", "description": "Used to connect in streaming replication mode, where a small set of replication commands can be issued instead of SQL statements. Value can be true , false , or database , and the default is false . See Section 54.4 for details."}, {"format": "String", "description": "The parameter value."}], "tables": [{"key": "fields", "rows": [{"c0": "1", "c1": "Int32", "c2": "Length of message contents in bytes, including self."}, {"c0": "2", "c1": "Int32", "c2": "The protocol version number. The most significant 16 bits are the major version number. The least significant 16 bits are the minor version number. As an example protocol version 3.2 is represented as 196610 in decimal or more clearly as 0x00030002 in hexadecimal."}, {"c0": "3", "c1": "String", "c2": "The parameter name. Currently recognized names are: user The database user name to connect as. Required; there is no default. database The database to connect to. Defaults to the user name. options Command-line arguments for the backend. (This is deprecated in favor of setting individual run-time parameters.) Spaces within this string are considered to separate arguments, unless escaped with a backslash ( \\ ); write \\\\ to represent a literal backslash. replication Used to connect in streaming replication mode, where a small set of replication commands can be issued instead of SQL statements. Value can be true , false , or database , and the default is false . See Section 54.4 for details. In addition to the above, other parameters may be listed. Parameter names beginning with _pq_. are reserved for use as protocol extensions , while others are treated as run-time parameters to be set at backend start time. Such settings will be applied during backend start (after parsing the command-line arguments if any) and will act as session defaults."}, {"c0": "4", "c1": "user", "c2": "The database user name to connect as. Required; there is no default."}, {"c0": "5", "c1": "database", "c2": "The database to connect to. Defaults to the user name."}, {"c0": "6", "c1": "options", "c2": "Command-line arguments for the backend. (This is deprecated in favor of setting individual run-time parameters.) Spaces within this string are considered to separate arguments, unless escaped with a backslash ( \\ ); write \\\\ to represent a literal backslash."}, {"c0": "7", "c1": "replication", "c2": "Used to connect in streaming replication mode, where a small set of replication commands can be issued instead of SQL statements. Value can be true , false , or database , and the default is false . See Section 54.4 for details."}, {"c0": "8", "c1": "String", "c2": "The parameter value."}], "title": "Wire fields in documented order", "columns": [{"key": "c0", "label": "Position"}, {"key": "c1", "label": "Format"}, {"key": "c2", "label": "Meaning"}]}], "related": [{"url": "/docs/devel/protocol-flow.html", "label": "Protocol flow and exchange examples"}, {"url": "/docs/devel/protocol-overview.html", "label": "Protocol overview"}, {"url": "/docs/devel/protocol-flow.html#PROTOCOL-FLOW-CANCELING-REQUESTS", "label": "Canceling Requests in Progress"}, {"url": "/docs/devel/protocol-flow.html#PROTOCOL-FLOW-SSL", "label": "SSL Session Encryption"}, {"url": "/docs/devel/protocol-flow.html#PROTOCOL-FLOW-GSSAPI", "label": "GSSAPI Session Encryption"}], "release": {"ref": "https://ftp.postgresql.org/pub/snapshot/dev/postgresql-snapshot.tar.bz2", "label": "20devel", "major": "20", "channel": "devel", "revision": "4d3346909b201ac1648232cf290462a7070c119326f56196f1f0253ed80fae41"}, "sources": [{"url": "/docs/devel/protocol-message-formats.html#PROTOCOL-MESSAGE-FORMATS-STARTUPMESSAGE", "path": "protocol-message-formats.html", "label": "PostgreSQL 20 English manual", "sha256": "4e786b7a3a7f6dbe6547ece35c3281e7f1a33816b0613d2cdc3beec827362d4e"}], "sections": [{"title": "Framing and repetition", "paragraphs": ["The complete definition below retains repetition, counts and conditional fields. A numbered table row is a documented field definition, not a fixed byte offset. Integer encodings and flow rules follow the same-version protocol chapter."]}], "direction": "F", "signature": "StartupMessage (F)", "description": ["StartupMessage is a frontend protocol message. Length of message contents in bytes, including self."], "manual_html": "<dl><dd>\n<div class=\"variablelist\">\n<dl class=\"variablelist\">\n<dt><span class=\"term\">Int32</span></dt>\n<dd>\n<p>Length of message contents in bytes, including self.</p>\n</dd>\n<dt><span class=\"term\">Int32</span></dt>\n<dd>\n<p>The protocol version number. The most significant 16 bits are the major version number. The least significant 16 bits are the minor version number. As an example protocol version 3.2 is represented as <code class=\"literal\">196610</code> in decimal or more clearly as <code class=\"literal\">0x00030002</code> in hexadecimal.</p>\n</dd>\n</dl>\n</div>\n<p>The protocol version number is followed by one or more pairs of parameter name and value strings. A zero byte is required as a terminator after the last name/value pair. Parameters can appear in any order. <code class=\"literal\">user</code> is required, others are optional. Each parameter is specified as:</p>\n<div class=\"variablelist\">\n<dl class=\"variablelist\">\n<dt><span class=\"term\">String</span></dt>\n<dd>\n<p>The parameter name. Currently recognized names are:</p>\n<div class=\"variablelist\">\n<dl class=\"variablelist\">\n<dt><span class=\"term\"><code class=\"literal\">user</code></span></dt>\n<dd>\n<p>The database user name to connect as. Required; there is no default.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"literal\">database</code></span></dt>\n<dd>\n<p>The database to connect to. Defaults to the user name.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"literal\">options</code></span></dt>\n<dd>\n<p>Command-line arguments for the backend. (This is deprecated in favor of setting individual run-time parameters.) Spaces within this string are considered to separate arguments, unless escaped with a backslash (<code class=\"literal\">\\</code>); write <code class=\"literal\">\\\\</code> to represent a literal backslash.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"literal\">replication</code></span></dt>\n<dd>\n<p>Used to connect in streaming replication mode, where a small set of replication commands can be issued instead of SQL statements. Value can be <code class=\"literal\">true</code>, <code class=\"literal\">false</code>, or <code class=\"literal\">database</code>, and the default is <code class=\"literal\">false</code>. See <a class=\"xref\" href=\"/docs/devel/protocol-replication.html\" title=\"54.4.\u00a0Streaming Replication Protocol\">Section\u00a054.4</a> for details.</p>\n</dd>\n</dl>\n</div>\n<p>In addition to the above, other parameters may be listed. Parameter names beginning with <code class=\"literal\">_pq_.</code> are reserved for use as <a class=\"link\" href=\"/docs/devel/protocol-overview.html#PROTOCOL-EXTENSIONS\" title=\"54.1.5.\u00a0Protocol Extensions\">protocol extensions</a>, while others are treated as run-time parameters to be set at backend start time. Such settings will be applied during backend start (after parsing the command-line arguments if any) and will act as session defaults.</p>\n</dd>\n<dt><span class=\"term\">String</span></dt>\n<dd>\n<p>The parameter value.</p>\n</dd>\n</dl>\n</div>\n</dd></dl>", "manual_path": "/docs/devel/protocol-message-formats.html", "comparison_data": {"fields": [{"format": "Int32", "description": "Length of message contents in bytes, including self."}, {"format": "Int32", "description": "The protocol version number. The most significant 16 bits are the major version number. The least significant 16 bits are the minor version number. As an example protocol version 3.2 is represented as 196610 in decimal or more clearly as 0x00030002 in hexadecimal."}, {"format": "String", "description": "The parameter name. Currently recognized names are: user The database user name to connect as. Required; there is no default. database The database to connect to. Defaults to the user name. options Command-line arguments for the backend. (This is deprecated in favor of setting individual run-time parameters.) Spaces within this string are considered to separate arguments, unless escaped with a backslash ( \\ ); write \\\\ to represent a literal backslash. replication Used to connect in streaming replication mode, where a small set of replication commands can be issued instead of SQL statements. Value can be true , false , or database , and the default is false . See Section 54.4 for details. In addition to the above, other parameters may be listed. Parameter names beginning with _pq_. are reserved for use as protocol extensions , while others are treated as run-time parameters to be set at backend start time. Such settings will be applied during backend start (after parsing the command-line arguments if any) and will act as session defaults."}, {"format": "user", "description": "The database user name to connect as. Required; there is no default."}, {"format": "database", "description": "The database to connect to. Defaults to the user name."}, {"format": "options", "description": "Command-line arguments for the backend. (This is deprecated in favor of setting individual run-time parameters.) Spaces within this string are considered to separate arguments, unless escaped with a backslash ( \\ ); write \\\\ to represent a literal backslash."}, {"format": "replication", "description": "Used to connect in streaming replication mode, where a small set of replication commands can be issued instead of SQL statements. Value can be true , false , or database , and the default is false . See Section 54.4 for details."}, {"format": "String", "description": "The parameter value."}], "direction": "F"}, "comparison_hash": "555bcf196c68c4eccde02ab4da224aaf20fcdd7d3ae5e89b8d65214e7687c721"}}}, "snapshot": {"facts": [{"label": "Direction", "value": "Frontend \u2192 backend"}, {"label": "First wire field", "value": "Int32"}, {"label": "Field entries", "value": "8"}, {"label": "Documented flow contexts", "value": "Canceling Requests in Progress; SSL Session Encryption; GSSAPI Session Encryption"}], "fields": [{"format": "Int32", "description": "Length of message contents in bytes, including self."}, {"format": "Int32(196610)", "description": "The protocol version number. The most significant 16 bits are the major version number (3 for the protocol described here). The least significant 16 bits are the minor version number (2 for the protocol described here)."}, {"format": "String", "description": "The parameter name. Currently recognized names are: user The database user name to connect as. Required; there is no default. database The database to connect to. Defaults to the user name. options Command-line arguments for the backend. (This is deprecated in favor of setting individual run-time parameters.) Spaces within this string are considered to separate arguments, unless escaped with a backslash ( \\ ); write \\\\ to represent a literal backslash. replication Used to connect in streaming replication mode, where a small set of replication commands can be issued instead of SQL statements. Value can be true , false , or database , and the default is false . See Section 54.4 for details. In addition to the above, other parameters may be listed. Parameter names beginning with _pq_. are reserved for use as protocol extensions, while others are treated as run-time parameters to be set at backend start time. Such settings will be applied during backend start (after parsing the command-line arguments if any) and will act as session defaults."}, {"format": "user", "description": "The database user name to connect as. Required; there is no default."}, {"format": "database", "description": "The database to connect to. Defaults to the user name."}, {"format": "options", "description": "Command-line arguments for the backend. (This is deprecated in favor of setting individual run-time parameters.) Spaces within this string are considered to separate arguments, unless escaped with a backslash ( \\ ); write \\\\ to represent a literal backslash."}, {"format": "replication", "description": "Used to connect in streaming replication mode, where a small set of replication commands can be issued instead of SQL statements. Value can be true , false , or database , and the default is false . See Section 54.4 for details."}, {"format": "String", "description": "The parameter value."}], "tables": [{"key": "fields", "rows": [{"c0": "1", "c1": "Int32", "c2": "Length of message contents in bytes, including self."}, {"c0": "2", "c1": "Int32(196610)", "c2": "The protocol version number. The most significant 16 bits are the major version number (3 for the protocol described here). The least significant 16 bits are the minor version number (2 for the protocol described here)."}, {"c0": "3", "c1": "String", "c2": "The parameter name. Currently recognized names are: user The database user name to connect as. Required; there is no default. database The database to connect to. Defaults to the user name. options Command-line arguments for the backend. (This is deprecated in favor of setting individual run-time parameters.) Spaces within this string are considered to separate arguments, unless escaped with a backslash ( \\ ); write \\\\ to represent a literal backslash. replication Used to connect in streaming replication mode, where a small set of replication commands can be issued instead of SQL statements. Value can be true , false , or database , and the default is false . See Section 54.4 for details. In addition to the above, other parameters may be listed. Parameter names beginning with _pq_. are reserved for use as protocol extensions, while others are treated as run-time parameters to be set at backend start time. Such settings will be applied during backend start (after parsing the command-line arguments if any) and will act as session defaults."}, {"c0": "4", "c1": "user", "c2": "The database user name to connect as. Required; there is no default."}, {"c0": "5", "c1": "database", "c2": "The database to connect to. Defaults to the user name."}, {"c0": "6", "c1": "options", "c2": "Command-line arguments for the backend. (This is deprecated in favor of setting individual run-time parameters.) Spaces within this string are considered to separate arguments, unless escaped with a backslash ( \\ ); write \\\\ to represent a literal backslash."}, {"c0": "7", "c1": "replication", "c2": "Used to connect in streaming replication mode, where a small set of replication commands can be issued instead of SQL statements. Value can be true , false , or database , and the default is false . See Section 54.4 for details."}, {"c0": "8", "c1": "String", "c2": "The parameter value."}], "title": "Wire fields in documented order", "columns": [{"key": "c0", "label": "Position"}, {"key": "c1", "label": "Format"}, {"key": "c2", "label": "Meaning"}]}], "related": [{"url": "/docs/18/protocol-flow.html", "label": "Protocol flow and exchange examples"}, {"url": "/docs/18/protocol-overview.html", "label": "Protocol overview"}, {"url": "/docs/18/protocol-flow.html#PROTOCOL-FLOW-CANCELING-REQUESTS", "label": "Canceling Requests in Progress"}, {"url": "/docs/18/protocol-flow.html#PROTOCOL-FLOW-SSL", "label": "SSL Session Encryption"}, {"url": "/docs/18/protocol-flow.html#PROTOCOL-FLOW-GSSAPI", "label": "GSSAPI Session Encryption"}], "release": {"ref": "https://ftp.postgresql.org/pub/source/v18.6/postgresql-18.6.tar.bz2", "label": "18.6", "major": "18", "channel": "stable", "revision": "555610c24d53e4316da5b7d3fc25c279d96856d5e0e23ee308c328c5fa881d9f"}, "sources": [{"url": "/docs/18/protocol-message-formats.html#PROTOCOL-MESSAGE-FORMATS-STARTUPMESSAGE", "path": "protocol-message-formats.html", "label": "PostgreSQL 18 English manual", "sha256": "53f37652ac2c089e30ada87d8aee7bdd0f26695b03f275302e526a807d2a1f23"}], "sections": [{"title": "Framing and repetition", "paragraphs": ["The complete definition below retains repetition, counts and conditional fields. A numbered table row is a documented field definition, not a fixed byte offset. Integer encodings and flow rules follow the same-version protocol chapter."]}], "direction": "F", "signature": "StartupMessage (F)", "description": ["StartupMessage is a frontend protocol message. Length of message contents in bytes, including self."], "manual_html": "<dl><dd>\n<div class=\"variablelist\">\n<dl class=\"variablelist\">\n<dt><span class=\"term\">Int32</span></dt>\n<dd>\n<p>Length of message contents in bytes, including self.</p>\n</dd>\n<dt><span class=\"term\">Int32(196610)</span></dt>\n<dd>\n<p>The protocol version number. The most significant 16 bits are the major version number (3 for the protocol described here). The least significant 16 bits are the minor version number (2 for the protocol described here).</p>\n</dd>\n</dl>\n</div>\n<p>The protocol version number is followed by one or more pairs of parameter name and value strings. A zero byte is required as a terminator after the last name/value pair. Parameters can appear in any order. <code class=\"literal\">user</code> is required, others are optional. Each parameter is specified as:</p>\n<div class=\"variablelist\">\n<dl class=\"variablelist\">\n<dt><span class=\"term\">String</span></dt>\n<dd>\n<p>The parameter name. Currently recognized names are:</p>\n<div class=\"variablelist\">\n<dl class=\"variablelist\">\n<dt><span class=\"term\"><code class=\"literal\">user</code></span></dt>\n<dd>\n<p>The database user name to connect as. Required; there is no default.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"literal\">database</code></span></dt>\n<dd>\n<p>The database to connect to. Defaults to the user name.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"literal\">options</code></span></dt>\n<dd>\n<p>Command-line arguments for the backend. (This is deprecated in favor of setting individual run-time parameters.) Spaces within this string are considered to separate arguments, unless escaped with a backslash (<code class=\"literal\">\\</code>); write <code class=\"literal\">\\\\</code> to represent a literal backslash.</p>\n</dd>\n<dt><span class=\"term\"><code class=\"literal\">replication</code></span></dt>\n<dd>\n<p>Used to connect in streaming replication mode, where a small set of replication commands can be issued instead of SQL statements. Value can be <code class=\"literal\">true</code>, <code class=\"literal\">false</code>, or <code class=\"literal\">database</code>, and the default is <code class=\"literal\">false</code>. See <a class=\"xref\" href=\"/docs/18/protocol-replication.html\" title=\"54.4.\u00a0Streaming Replication Protocol\">Section\u00a054.4</a> for details.</p>\n</dd>\n</dl>\n</div>\n<p>In addition to the above, other parameters may be listed. Parameter names beginning with <code class=\"literal\">_pq_.</code> are reserved for use as protocol extensions, while others are treated as run-time parameters to be set at backend start time. Such settings will be applied during backend start (after parsing the command-line arguments if any) and will act as session defaults.</p>\n</dd>\n<dt><span class=\"term\">String</span></dt>\n<dd>\n<p>The parameter value.</p>\n</dd>\n</dl>\n</div>\n</dd></dl>", "manual_path": "/docs/18/protocol-message-formats.html", "comparison_data": {"fields": [{"format": "Int32", "description": "Length of message contents in bytes, including self."}, {"format": "Int32(196610)", "description": "The protocol version number. The most significant 16 bits are the major version number (3 for the protocol described here). The least significant 16 bits are the minor version number (2 for the protocol described here)."}, {"format": "String", "description": "The parameter name. Currently recognized names are: user The database user name to connect as. Required; there is no default. database The database to connect to. Defaults to the user name. options Command-line arguments for the backend. (This is deprecated in favor of setting individual run-time parameters.) Spaces within this string are considered to separate arguments, unless escaped with a backslash ( \\ ); write \\\\ to represent a literal backslash. replication Used to connect in streaming replication mode, where a small set of replication commands can be issued instead of SQL statements. Value can be true , false , or database , and the default is false . See Section 54.4 for details. In addition to the above, other parameters may be listed. Parameter names beginning with _pq_. are reserved for use as protocol extensions, while others are treated as run-time parameters to be set at backend start time. Such settings will be applied during backend start (after parsing the command-line arguments if any) and will act as session defaults."}, {"format": "user", "description": "The database user name to connect as. Required; there is no default."}, {"format": "database", "description": "The database to connect to. Defaults to the user name."}, {"format": "options", "description": "Command-line arguments for the backend. (This is deprecated in favor of setting individual run-time parameters.) Spaces within this string are considered to separate arguments, unless escaped with a backslash ( \\ ); write \\\\ to represent a literal backslash."}, {"format": "replication", "description": "Used to connect in streaming replication mode, where a small set of replication commands can be issued instead of SQL statements. Value can be true , false , or database , and the default is false . See Section 54.4 for details."}, {"format": "String", "description": "The parameter value."}], "direction": "F"}, "comparison_hash": "b0e84a6731a2fc6c6bfa894a55c348aad046b4626f513682066294ceadc90424"}, "comparison": {"left": "18", "right": "19", "status": "changed", "diff": "--- PostgreSQL 18\n+++ PostgreSQL 19\n@@ -6,11 +6,11 @@\n       \"format\": \"Int32\"\n     },\n     {\n-      \"description\": \"The protocol version number. The most significant 16 bits are the major version number (3 for the protocol described here). The least significant 16 bits are the minor version number (2 for the protocol described here).\",\n-      \"format\": \"Int32(196610)\"\n+      \"description\": \"The protocol version number. The most significant 16 bits are the major version number. The least significant 16 bits are the minor version number. As an example protocol version 3.2 is represented as 196610 in decimal or more clearly as 0x00030002 in hexadecimal.\",\n+      \"format\": \"Int32\"\n     },\n     {\n-      \"description\": \"The parameter name. Currently recognized names are: user The database user name to connect as. Required; there is no default. database The database to connect to. Defaults to the user name. options Command-line arguments for the backend. (This is deprecated in favor of setting individual run-time parameters.) Spaces within this string are considered to separate arguments, unless escaped with a backslash ( \\\\ ); write \\\\\\\\ to represent a literal backslash. replication Used to connect in streaming replication mode, where a small set of replication commands can be issued instead of SQL statements. Value can be true , false , or database , and the default is false . See Section 54.4 for details. In addition to the above, other parameters may be listed. Parameter names beginning with _pq_. are reserved for use as protocol extensions, while others are treated as run-time parameters to be set at backend start time. Such settings will be applied during backend start (after parsing the command-line arguments if any) and will act as session defaults.\",\n+      \"description\": \"The parameter name. Currently recognized names are: user The database user name to connect as. Required; there is no default. database The database to connect to. Defaults to the user name. options Command-line arguments for the backend. (This is deprecated in favor of setting individual run-time parameters.) Spaces within this string are considered to separate arguments, unless escaped with a backslash ( \\\\ ); write \\\\\\\\ to represent a literal backslash. replication Used to connect in streaming replication mode, where a small set of replication commands can be issued instead of SQL statements. Value can be true , false , or database , and the default is false . See Section 54.4 for details. In addition to the above, other parameters may be listed. Parameter names beginning with _pq_. are reserved for use as protocol extensions , while others are treated as run-time parameters to be set at backend start time. Such settings will be applied during backend start (after parsing the command-line arguments if any) and will act as session defaults.\",\n       \"format\": \"String\"\n     },\n     {"}}