Re: Non-superuser subscription owners

Поиск
Список
Период
Сортировка
От Mark Dilger
Тема Re: Non-superuser subscription owners
Дата
Msg-id 6BB4451E-7B1B-474C-BD1F-DB7531E720C6@enterprisedb.com
обсуждение исходный текст
Ответ на Re: Non-superuser subscription owners  (Mark Dilger <mark.dilger@enterprisedb.com>)
Ответы Re: Non-superuser subscription owners  (Andrew Dunstan <andrew@dunslane.net>)
Re: Non-superuser subscription owners  (Jeff Davis <pgsql@j-davis.com>)
Re: Non-superuser subscription owners  (Amit Kapila <amit.kapila16@gmail.com>)
Список pgsql-hackers

> On Nov 1, 2021, at 10:58 AM, Mark Dilger <mark.dilger@enterprisedb.com> wrote:
>
> ALTER SUBSCRIPTION..[ENABLE | DISABLE] do not synchronously start or stop subscription workers.  The ALTER command
updatesthe catalog's subenabled field, but workers only lazily respond to that.  Disabling and enabling the
subscriptionas 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
checkfor a change in ownership the way they checked for other changes, instead only picking up the new ownership
informationwhen the worker restarted for some other reason.  This next patch set fixes that.  The application of a
changerecord 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
consistentenough with reasonable expectations. 

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


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




Вложения

В списке pgsql-hackers по дате отправления:

Предыдущее
От: Tom Lane
Дата:
Сообщение: Re: pg14 psql broke \d datname.nspname.relname
Следующее
От: Daniel Gustafsson
Дата:
Сообщение: Re: remove internal support in pgcrypto?