Re: [HACKERS] Better error message for trying to drop a DB with open subscriptions?
От | Craig Ringer |
---|---|
Тема | Re: [HACKERS] Better error message for trying to drop a DB with open subscriptions? |
Дата | |
Msg-id | CAMsr+YH-M3KK+65pqwNN+Asrt2CKZwBwquKOnVAtGVFNP_HF_g@mail.gmail.com обсуждение исходный текст |
Ответ на | [HACKERS] Better error message for trying to drop a DB with open subscriptions? (Josh Berkus <josh@berkus.org>) |
Список | pgsql-hackers |
On 21 July 2017 at 07:09, Josh Berkus <josh@berkus.org> wrote:
All:
The problem:
postgres=# drop database bookdata;
ERROR: database "bookdata" is being accessed by other users
DETAIL: There is 1 other session using the database.
postgres=# \c bookdata
You are now connected to database "bookdata" as user "postgres".
bookdata=# drop subscription wholedb;
NOTICE: dropped replication slot "wholedb" on publisher
DROP SUBSCRIPTION
bookdata=# \c postgres
You are now connected to database "postgres" as user "postgres".
postgres=# drop database bookdata;
DROP DATABASE
Is there any easy way for us to detect that the "user" accessing the
target database is actually a logical replication subscription, and give
the DBA a better error message (e.g. "database 'bookdata' still has open
subscrptions")?
Good idea. Also, this affects any active logical (db-specific) replication slot, not just built-in logical replication.
--
В списке pgsql-hackers по дате отправления: