Re: How to force disconnections from a Perl script?

From: Martijn van Oosterhout <kleptog(at)svana(dot)org>
To: Kynn Jones <kynnjo(at)gmail(dot)com>
Cc: pgsql-general(at)postgresql(dot)org
Subject: Re: How to force disconnections from a Perl script?
Date: 2007-02-19 16:34:13
Message-ID: 20070219163413.GG30737@svana.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: 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(at)svana(dot)org> http://svana.org/kleptog/
> From each according to his ability. To each according to his ability to litigate.

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Alvaro Herrera 2007-02-19 16:35:55 Re: QNX, RTOS y Postgres
Previous Message Kynn Jones 2007-02-19 16:10:55 How to force disconnections from a Perl script?