Borrar una base de datos en postgreSQL si esta activa



En postgreSQL si quieres borrar una base de datos y ésta esta activa no te va a dejar borrarla y te dará el error: ERROR: database "ecommerce" is being accessed by other users - DETAIL: There are 2 other sessions using the database, pero con una sencilla sentencia podemos desconectar la base de datos y borrarla ...

Esto no será útil sobre todo cuando estamos en desarrollo manejando gran cantidad de bases de datos para pruebas y queremos borrarlas y obtenemos el error:

bbdd activa

Ejecutamos la siguiente select:

SELECT pg_terminate_backend(pg_stat_activity.pid)
FROM pg_stat_activity
WHERE pg_stat_activity.datname = 'ecommerce'
AND pid <> pg_backend_pid();


Sustituir el nombre de ecommerce por el nombre de vuestra base de datos. Y teneis que ejecutar esta sentencia tantas veces hasta que os salga 0 rows de resultado.

bbdd activa

Y ya podréis borrar la base de datos con un drop database.

Y esto es todo, feliz programming!!
Saludos
Alex.
/