View Single Post

   
  #2 (permalink)  
Old 04-09-2008, 02:06 PM
Martijn van Oosterhout
 
Posts: n/a
Default Re: How to force disconnections from a Perl script?

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.


-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.1 (GNU/Linux)

iD8DBQFF2dGFIB7bNG8LQkwRArlZAJ0Uby6+dTiRZs3nsDryGf iXEXYjgwCcCSBm
HoDRNPMKQ4d0Igxsd/5AXxI=
=2g9H
-----END PGP SIGNATURE-----

Reply With Quote