| From: | Jeff Davis <pgsql(at)j-davis(dot)com> |
|---|---|
| To: | pgsql-hackers(at)postgresql(dot)org |
| Cc: | Andrey Borodin <x4mmm(at)yandex-team(dot)ru>, Mark Dilger <mark(dot)dilger(at)enterprisedb(dot)com> |
| Subject: | GUC parameter ACLs and physical walsender |
| Date: | 2026-04-22 19:18:48 |
| Message-ID: | d8f8e11f06d692fff89e6be0f22732d30cf695a0.camel@j-davis.com |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-hackers |
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
| Attachment | Content-Type | Size |
|---|---|---|
| v1-0001-Nail-pg_parameter_acl-in-relcache.patch | text/x-patch | 4.4 KB |
| From | Date | Subject | |
|---|---|---|---|
| Previous Message | Andres Freund | 2026-04-22 19:05:33 | Re: Startup process deadlock: WaitForProcSignalBarriers vs aux process |