2012/04/09

Resetear sesiones de usuarios conectados a Postgresql

Muchas veces hay usuarios que han dejado su conexión abierta y están bloqueando la base de datos impidiendo hacer algunas tareas de administración, vacuums, renames, etc.

Para localizarlos se puede usar:

select datname, usename, procpid from pg_stat_activity;

Luego simplemente para eliminar todos:

select pg_terminate_backend(procpid) from pg_stat_activity where datname='whatever';

UPDATE: Algunos datos temporales interesantes sobre las conexiones:

select datname, usename, procpid, xact_start, backend_start, query_start from pg_stat_activity;
http://www.postgresonline.com/journal/archives/134-Terminating-Annoying-Back-Ends.html
       
   

1 comentario:

Hosting Chile dijo...

Muy útil el dato.