Re: Add new protocol message to change GUCs for usage with future protocol-only GUCs
Jelte Fennema-Nio <me@jeltef.nl>
From: Jelte Fennema-Nio <me@jeltef.nl>
To: Peter Smith <smithpb2250@gmail.com>
Cc: Robert Haas <robertmhaas@gmail.com>, Tom Lane <tgl@sss.pgh.pa.us>, Jacob Burroughs <jburroughs@instructure.com>, PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>,
Dave Cramer <davecramer@gmail.com>, "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-03-08T11:47:15Z
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
Attachments
- v10-0005-libpq-Include-minor-version-number-in-PQprotocol.patch (application/octet-stream) patch v10-0005
- v10-0004-Prepare-server-code-for-addition-of-protocol-ext.patch (application/octet-stream) patch v10-0004
- v10-0003-libpq-Add-PQunsupportedProtocolExtensionParamete.patch (application/octet-stream) patch v10-0003
- v10-0001-libpq-Remove-instance-of-hardcoded-protocol-vers.patch (application/octet-stream) patch v10-0001
- v10-0002-libpq-Handle-NegotiateProtocolVersion-message-mo.patch (application/octet-stream) patch v10-0002
- v10-0007-Add-protocol-message-to-change-parameters.patch (application/octet-stream) patch v10-0007
- v10-0008-psql-Add-parameterset-meta-command.patch (application/octet-stream) patch v10-0008
- v10-0006-Bump-protocol-version-to-3.1.patch (application/octet-stream) patch v10-0006
- v10-0009-psql-Warn-about-unsupported-protocol-features.patch (application/octet-stream) patch v10-0009
- v10-0010-Add-GUC-contexts-for-protocol-extensions.patch (application/octet-stream) patch v10-0010
- v10-0012-Add-tests-for-ParameterSet-and-_pq_.protocol_man.patch (application/octet-stream) patch v10-0012
- v10-0013-Add-_pq_.report_parameters-protocol-extension.patch (application/octet-stream) patch v10-0013
- v10-0011-Add-_pq_.protocol_managed_params-protocol-extens.patch (application/octet-stream) patch v10-0011
Fixed some conflicts again. To summarize the current state of this patchset, it consists of 5 different parts that could be merged separately: 1. 0001-0005 are needed for any protocol change, and hopefully shouldn't require much discussion 2. 0006-0009 introduce a new protocol message that can be used to update GUCs. I think we might want some discussion on the design of the protocol message, but I think the behaviour has all feedback incorporated. 3. 0010 Adds GUC contexts for protocol extensions, in the way that Tom Lane suggested. 4. 0011 Adds a way to mark some GUCs as only changeable using protocol messages, there's still some discussion needed on this (I can remove this from the patchset if that makes it easier). 5. 0012 Adds some additional tests for some of the previous features 6. 0013 Add a protocol parameter to control which GUCs have GUC_REPORT. Quite straightforward imho.