UNPA_ Consulta error al querer eliminar una base

Buenos días equipo como están?
Les comento que estamos haciendo pruebas en la Versión 2.0.10 y solo tenemos el modulo sq_nucleo.
Cuando intentamos eliminar la base, para restaurar una que no contiene datos, nos sale el mensaje de error:
dropdb: falló la eliminación de la base de datos: ERROR: la base de datos «sq_nucleo» está siendo utilizada por otros usuarios
DETALLE: Hay otras 3 sesiones usando la base de datos.
Si bien, nadie está accediendo al sistema, hemos reiniciado el motor de postgresql, también se detuvo el supervisord, el error persiste.
Con el supervisord detenido, buscamos los procesos que están corriendo bajo postgres, para luego matar los procesos que en la descripción figure sq_nucleo.
Luego de realizar esto, hemos podido realizar la eliminación y restauración de la base.
La consulta es si lo que hicimos esta bien o hay algo que nos esta faltando para no tener que hacer el paso de matar los procesos?
Como seria la forma adecuada para poder eliminar y restaurar una base?
Quedamos a la espera de su respuesta. Desde ya muchas gracias.
Saludos

Mirta Chicahuala

Buenas tardes Mirta,

Por lo general con detener el worker, el cual puede estar corriendo desde un supervisor alcanzaría para poder eliminar la base de datos. Tienen que asegurarse que no este ningún cliente de base de datos conectado en ese momento a la base.

Una forma de desconectar todos los clientes de postgres conectados a la base sq_nucleo puede ser ejecutando el siguiente comando via psql en el servidor de bases de datos.

SELECT pg_terminate_backend(pid) FROM pg_stat_activity WHERE datname = 'sq_nucleo';

Con el siguiente comando se puede obtener cuales son las sesiones activas conectadas a la base de datos con nombre sq_nucleo:

SELECT * FROM pg_stat_activity WHERE datname = 'sq_nucleo';

Saludos,
Fernando.

2