Re: Add new protocol message to change GUCs for usage with future protocol-only GUCs
Tom Lane <tgl@sss.pgh.pa.us>
From: Tom Lane <tgl@sss.pgh.pa.us>
To: Jacob Champion <jacob.champion@enterprisedb.com>
Cc: Jelte Fennema-Nio <me@jeltef.nl>, Robert Haas <robertmhaas@gmail.com>,
Jacob Burroughs <jburroughs@instructure.com>,
Dave Cramer <davecramer@gmail.com>,
Peter Smith <smithpb2250@gmail.com>,
PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>,
"Andrey M. Borodin" <x4mmm@yandex-team.ru>,
Pavel Stehule <pavel.stehule@gmail.com>,
Jeff Davis <pgsql@j-davis.com>,
Peter Eisentraut <peter@eisentraut.org>
Date: 2024-05-23T18:40:02Z
Lists: pgsql-hackers
Commits
Same data as JSON:
GET /api/v1/messages/:b64id/commits
the thread's linked commits as JSON, with link sources.
API reference →
-
libpq: Add min/max_protocol_version connection options
- 285613c60a7a 18.0 landed
-
libpq: Handle NegotiateProtocolVersion message differently
- 5070349102af 18.0 landed
-
Add PQfullProtocolVersion() to surface the precise protocol version.
- cdb6b0fdb0b2 18.0 landed
-
Do not hardcode PG_PROTOCOL_LATEST in NegotiateProtocolVersion
- 516b87502dc1 18.0 landed
-
libpq: Handle NegotiateProtocolVersion message
- bbf9c282ce92 16.0 cited
-
Provide for forward compatibility with future minor protocol versions.
- ae65f6066dc3 11.0 cited
Jacob Champion <jacob.champion@enterprisedb.com> writes: > Would it be good to expand on that idea of criticality? IIRC one of > Jelte's complaints earlier was that middleware has to know all the > extension types anyway, to be able to figure out whether it has to do > something about them or not. HTTP has the concept of hop-by-hop vs > end-to-end headers for related reasons. Yeah, perhaps. We'd need to figure out just which classes we need to divide protocol parameters into, and then think about a way for code to understand which class a parameter falls into even when it doesn't specifically know that parameter. That seems possible though. PNG did it with spelling rules for the chunk labels. Here, since we don't yet have any existing _pq_.xxx parameter names, we could maybe say that the names shall follow a pattern like "_pq_.class.param". (That works only if the classes are non-overlapping, an assumption not yet justified by evidence; but we could do something more complicated if we have to.) regards, tom lane