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

Jacob Champion <jacob.champion@enterprisedb.com>

From: Jacob Champion <jacob.champion@enterprisedb.com>
To: Jelte Fennema-Nio <postgres@jeltef.nl>, "David G. Johnston" <david.g.johnston@gmail.com>
Cc: Andres Freund <andres@anarazel.de>, PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>, Heikki Linnakangas <hlinnaka@iki.fi>, Robert Haas <robertmhaas@gmail.com>
Date: 2026-02-06T22:39:30Z
Lists: pgsql-hackers

Attachments

On Mon, Feb 2, 2026 at 3:35 PM Jacob Champion
<jacob.champion@enterprisedb.com> wrote:
> Being outvoted, I will hold my nose and split the tables in two.

Committed that way, along with v6-0002.

On Sat, Jan 24, 2026 at 2:10 AM Jelte Fennema-Nio <postgres@jeltef.nl> wrote:
> 4. I think mentioning the "_pq_." prefix in the paragraph above the
> extension table would be good. Otherwise once we get more extensions
> you only learn about it once you get to the reserved extensions
> section.

I've also done this.

That just leaves the last TODO, which is guiding users towards a
resolution. First attempt at that is attached as v7:
- v7-0001 is the same as v6-0003 with an updated commit message.
- v7-0002 is a squash! commit that prints a quick explanation and a
link to our documentation for all grease-related libpq errors.

At the moment, that link is
    https://www.postgresql.org/docs/devel/libpq-connect.html#LIBPQ-CONNECT-MAX-PROTOCOL-VERSION
which will contain a <note> on grease when this is committed.

I'd still prefer that this link go to a wiki page, but in case I can't
get agreement on that, or there's some technical reason why protecting
the page wouldn't work out the way I'd hoped, or it just takes a long
time, this seems better than nothing. Switching out the URL in a later
commit shouldn't be an issue.

WDYT?
--Jacob

Commits

Same data as JSON: GET /api/v1/messages/:b64id/commits the thread's linked commits as JSON, with link sources. API reference →
  1. libpq: Grease the protocol by default

  2. libpq: Prepare for protocol grease during 19beta

  3. doc: Expand upon protocol versions and extensions

  4. libpq_pipeline: Test the default protocol version