Re: Non-superuser subscription owners

From: Mark Dilger <mark(dot)dilger(at)enterprisedb(dot)com>
To: Andrew Dunstan <andrew(at)dunslane(dot)net>
Cc: PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org>, Robert Haas <robertmhaas(at)gmail(dot)com>
Subject: Re: Non-superuser subscription owners
Date: 2021-11-03 19:50:28
Message-ID: 6BB4451E-7B1B-474C-BD1F-DB7531E720C6@enterprisedb.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

> On Nov 1, 2021, at 10:58 AM, Mark Dilger <mark(dot)dilger(at)enterprisedb(dot)com> wrote:
>
> ALTER SUBSCRIPTION..[ENABLE | DISABLE] do not synchronously start or stop subscription workers. The ALTER command updates the catalog's subenabled field, but workers only lazily respond to that. Disabling and enabling the subscription as part of the OWNER TO would not reliably accomplish anything.

I have rethought my prior analysis. The problem in the previous patch was that the subscription apply workers did not check for a change in ownership the way they checked for other changes, instead only picking up the new ownership information when the worker restarted for some other reason. This next patch set fixes that. The application of a change record may continue under the old ownership permissions when a concurrent command changes the ownership of the subscription, but the worker will pick up the new permissions before applying the next record. I think that is consistent enough with reasonable expectations.

The first two patches are virtually unchanged. The third updates the behavior of the apply workers, and updates the documentation to match.

Attachment Content-Type Size
v2-0001-Handle-non-superuser-subscription-owners-sensibly.patch application/octet-stream 11.0 KB
v2-0002-Allow-subscription-ownership-by-non-superusers.patch application/octet-stream 4.9 KB
v2-0003-Respect-permissions-within-logical-replication.patch application/octet-stream 15.5 KB

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Daniel Gustafsson 2021-11-03 20:10:25 Re: remove internal support in pgcrypto?
Previous Message Tom Lane 2021-11-03 19:07:47 Re: pg14 psql broke \d datname.nspname.relname