Re: How to force disconnections from a Perl script? - Mailing list pgsql-general

From Martijn van Oosterhout
Subject Re: How to force disconnections from a Perl script?
Date
Msg-id 20070219163413.GG30737@svana.org
Whole thread Raw
In response to How to force disconnections from a Perl script?  ("Kynn Jones" <kynnjo@gmail.com>)
Responses Re: How to force disconnections from a Perl script?  (Csaba Nagy <nagy@ecircle-ag.com>)
List pgsql-general
On Mon, Feb 19, 2007 at 11:10:55AM -0500, Kynn Jones wrote:
> The script is quite solid and has been performing flawlessly for
> several months now, with one exception: it fails irrecoverably
> whenever some user forgets to disconnect from mydb at the time that
> the script attempts to delete it (or rename it, for that matter).  The
> error is "ERROR: database "mydb" is being accessed by other users".

Why irrecoverably? If the command fails, you just wait and try it
again.

You could use the pg_stat tables to work out who is connected and use
pg_cancel_backend() to kill them. You could "kill -INT" them yourself.
You could change the pg_hba.conf to forbid logging in and then bouncing
the server.

Hope this gives you some ideas.
--
Martijn van Oosterhout   <kleptog@svana.org>   http://svana.org/kleptog/
> From each according to his ability. To each according to his ability to litigate.

Attachment

pgsql-general by date:

Previous
From: "Kynn Jones"
Date:
Subject: How to force disconnections from a Perl script?
Next
From: Csaba Nagy
Date:
Subject: Re: How to force disconnections from a Perl script?