Re: Please make it easy to drop a database that is in use

From: Evan Martin <postgresql(at)realityexists(dot)net>
To: pgsql-general(at)postgresql(dot)org
Subject: Re: Please make it easy to drop a database that is in use
Date: 2012-06-21 13:51:18
Message-ID: 4FE326D6.5040601@realityexists.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

On 21/06/2012 10:20 PM, Sergey Konoplev wrote:
> On Thu, Jun 21, 2012 at 2:03 PM, Evan Martin
> <postgresql(at)realityexists(dot)net> wrote:
>> 1) The workaround requires extra work for each developer (or at least each
>> client application) using PostgreSQL, while a fix in PostgreSQL would solve
>> this once and for all.
> It is not clean what database you need to reconnect automatically
> after the dropping. Moreover you may not have permissions to connect
> other databases.
That's a fair point, so perhaps DROP DATABASE should still fail if the
/current/ connection is to that database (preferably with a helpful
error like "you cannot drop the database you are connected to"). There
should be an easy way to close all /other/ connections to it, though.

>> 2) The workaround requires superuser privileges, which I don't think should
>> be required to drop your own database.
> It does not require it. You might also be an owner to drop the database.
It does when I try it:

SELECT pg_terminate_backend(procpid)
FROM pg_stat_activity
WHERE datname = 'dropme';

ERROR: must be superuser to signal other server processes

In this case the user was the owner of "dropme", but another user was
also connected to it. I believe that should not stop the owner from
dropping their database.

Regards,

Evan

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Raghavendra 2012-06-21 14:01:35 Re: Please make it easy to drop a database that is in use
Previous Message Daniele Varrazzo 2012-06-21 12:35:30 Re: Reading storage parameters