> On Nov 1, 2021, at 10:58 AM, Mark Dilger <mark.dil...@enterprisedb.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: v2-0001-Handle-non-superuser-subscription-owners-sensibly.patch
Description: Binary data

Attachment: v2-0002-Allow-subscription-ownership-by-non-superusers.patch
Description: Binary data

Attachment: v2-0003-Respect-permissions-within-logical-replication.patch
Description: Binary data

—
Mark Dilger
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company



Reply via email to