Re: Better error message for trying to drop a DB with open subscriptions?

From: Jeff Janes <jeff(dot)janes(at)gmail(dot)com>
To: Josh Berkus <josh(at)berkus(dot)org>
Cc: Pg Hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Better error message for trying to drop a DB with open subscriptions?
Date: 2017-07-21 05:04:17
Message-ID: CAMkU=1xqtFhJG+J-NrAfZAXW1fmqwqP0YMGXZXgCb+_Sf20epQ@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Thu, Jul 20, 2017 at 4:09 PM, Josh Berkus <josh(at)berkus(dot)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")?
>

+1

Better yet would be to just cascade the drop, but I assume that would be
harder to do.

Cheers,

Jeff

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Kyotaro HORIGUCHI 2017-07-21 05:25:51 Re: PgFDW connection invalidation by ALTER SERVER/ALTER USER MAPPING
Previous Message Mark Kirkwood 2017-07-21 04:47:39 Re: autovacuum can't keep up, bloat just continues to rise