Re: libpq: Bump protocol version to version 3.2 at least until the first/second beta

From: "Jelte Fennema-Nio" <postgres(at)jeltef(dot)nl>
To: "Jacob Champion" <jacob(dot)champion(at)enterprisedb(dot)com>
Cc: "Andres Freund" <andres(at)anarazel(dot)de>, "PostgreSQL Hackers" <pgsql-hackers(at)lists(dot)postgresql(dot)org>, "Heikki Linnakangas" <hlinnaka(at)iki(dot)fi>, "Robert Haas" <robertmhaas(at)gmail(dot)com>
Subject: Re: libpq: Bump protocol version to version 3.2 at least until the first/second beta
Date: 2026-01-23 23:39:56
Message-ID: DFWD62XXC6TD.A9V3T95DHNNH@jeltef.nl
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Thu Jan 15, 2026 at 1:31 AM CET, Jacob Champion wrote:
> Per offline confusion/discussion: I plan to work on a grease feature
> for beta _regardless_ of whether a "production-grade"
> max_protocol_version=grease option turns out to be viable before
> feature freeze;

I saw that you committed a few patches. Given that you said you wanted
to wordsmith the last one, this seemed like a good time to send in some
of my own improvements in that regard. (I did not change the GREASE
mentions, since you clearly had something in mind for those).

0001 is mine an your squash commit, squashed together and rebased on top of main.

0002 is the improvements to the docs. The one important thing is a
change from 3.2 to 3.0. Other than that it introduces a table for
tracking protocol extensions. That way other patches (like GoAway)
that introduce a protocol extension already have some location in
the docs where it can be listed.

0003-0005 are an attempt at making a bit more of a robust GREASE. 0003
makes it "harder to still implement negotation incorrectly". Then 0004
makes it not a hard failure if you connect with
max_protocol_version=grease to a new server. Then 0005 adds some
preliminary docs. These almost certainly need some more discussion. And
I don't expect them to necessarily get in for PG19, but if you like some
of it feel free to pick and take what you want from them. e.g. the
randomized protocol extensions are kinda nice IMO. But I'm not exactly
sure if the randomized version number is that much more useful though
than a fixed one.

Attachment Content-Type Size
v5-0001-libpq-Request-protocol-version-3.9999-to-GREASE-t.patch text/x-patch 13.7 KB
v5-0002-fixup-libpq-Request-protocol-version-3.9999-to-GR.patch text/x-patch 4.8 KB
v5-0003-Implement-more-complicated-grease.patch text/x-patch 12.9 KB
v5-0004-libpq-Reconnect-if-requested-grease-but-version-i.patch text/x-patch 4.3 KB
v5-0005-Update-libpq-docs-for-better-grease.patch text/x-patch 7.3 KB

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Jacob Champion 2026-01-23 23:41:52 Re: libpq: Bump protocol version to version 3.2 at least until the first/second beta
Previous Message Jacob Champion 2026-01-23 23:38:48 Re: libpq: Bump protocol version to version 3.2 at least until the first/second beta