GUC parameter ACLs and physical walsender
Jeff Davis <pgsql@j-davis.com>
From: Jeff Davis <pgsql@j-davis.com>
To: pgsql-hackers@postgresql.org
Cc: Andrey Borodin <x4mmm@yandex-team.ru>, Mark Dilger <mark.dilger@enterprisedb.com>
Date: 2026-04-22T19:18:48Z
Lists: pgsql-hackers
Attachments
- v1-0001-Nail-pg_parameter_acl-in-relcache.patch (text/x-patch) patch v1-0001
Moving discussion from: https://www.postgresql.org/message-id/4524ed61a015d3496fc008644dcb999bb31916a7.camel@j-davis.com because this is a separate issue. If you specify a SUSET GUC setting when connecting as non-superuser for physical replication: PGOPTIONS="-c wal_compression=on" \ pg_receivewal -D archive -U repl you get: FATAL: cannot read pg_class without having selected a database but only if you connect immediately after the server starts. If you do something else first, like an ordinary connection and "SELECT 1", and then start the replication connection, you get (after commit dbf217c1c7): FATAL: permission denied to set parameter "wal_compression" as expected. The problem goes back to a0ffa885e47. It seems to be because pg_parameter_acl is not nailed in cache. I attached a quick patch to do so (which turns it into the "expected permission denied" error). But I'm not sure if that's the right fix, or if it would be a complete fix. I also don't think that would be backportable, but perhaps? Regards, Jeff Davis
Commits
Same data as JSON:
GET /api/v1/messages/:b64id/commits
the thread's linked commits as JSON, with link sources.
API reference →
-
Nail pg_parameter_acl in relcache.
- 4cc02b80774e 19 (unreleased) landed
-
catcache.c: use C_COLLATION_OID for texteqfast/texthashfast.
- dbf217c1c7c2 19 (unreleased) cited