Skip to content

Support protocol version 3.2 and the NegotiateProtocolVersion message #578

@JelteF

Description

@JelteF

With PG18 the protocol version 3.2 was introduced (the first minor protocol version bump ever in PG history). We intend to make minor protocol version bumps are frequent thing. Servers speaking the Postgres protocol should send a NegotiateProtocolVersion message with a version downgrade request to the client when they don't support the minor protocol version requested in the StartupMessage.

Currently libpq still defaults to requesting 3.0, because while postgres has supported NegotationProtocolVersion for many years, most proxies or other server implementations (like cockroach) do not yet support it. So hereby a nudge to implement it in pgdog, so that hopefully in some time we can change libpq its defaults and have the protocol evolve quicker.

Also actually supporting protocol version 3.2 is nice for security, since you can send a longer cancellation key.

Metadata

Metadata

Assignees

No one assigned

    Labels

    good first issueGood for newcomersplumbingInfra stuff that's important to have but it's not that exciting to work on.

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions