Wiki / Protocol Messages / Backend messages
NegotiateProtocolVersion
NegotiateProtocolVersion is a backend protocol message. Identifies the message as a protocol version negotiation message.
Reading PostgreSQL 18.6.
Description
NegotiateProtocolVersion is a backend protocol message. Identifies the message as a protocol version negotiation message.
- Direction
- Backend → frontend
- First wire field
- Byte1('v')
- Field entries
- 5
- Documented flow contexts
- Start-up
Usage
NegotiateProtocolVersion (B)Framing and repetition
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.
Wire fields in documented order
| Position | Format | Meaning |
|---|---|---|
| 1 | Byte1('v') | Identifies the message as a protocol version negotiation message. |
| 2 | Int32 | Length of message contents in bytes, including self. |
| 3 | Int32 | Newest minor protocol version supported by the server for the major protocol version requested by the client. |
| 4 | Int32 | Number of protocol options not recognized by the server. |
| 5 | String | The option name. |
Manual definition
-
- Byte1('v')
-
Identifies the message as a protocol version negotiation message.
- Int32
-
Length of message contents in bytes, including self.
- Int32
-
Newest minor protocol version supported by the server for the major protocol version requested by the client.
- Int32
-
Number of protocol options not recognized by the server.
Then, for protocol option not recognized by the server, there is the following:
- String
-
The option name.
Related entries
Documentation and source
Source build
- Version
- 18.6
- Build
- https://ftp.postgresql.org/pub/source/v18.6/postgresql-18.6.tar.bz2
- Source fingerprint
555610c24d53e4316da5b7d3fc25c279d96856d5e0e23ee308c328c5fa881d9f
Compare versions
PostgreSQL 17 → 18: unchanged.
Compares recorded interfaces and attributes. Source fingerprints and build metadata are excluded; an absent sample is not proof of the introduction or removal release.
Related entries
Export JSON · Back to Protocol Messages · Recorded in PostgreSQL 10 through 20; the first sample is not necessarily its introduction.