sql >> Base de Datos >  >> RDS >> PostgreSQL

Crear una copia de una base de datos en PostgreSQL

Postgres permite el uso de cualquier base de datos existente en el servidor como plantilla al crear una nueva base de datos. No estoy seguro de si pgAdmin le da la opción en el cuadro de diálogo de creación de base de datos, pero debería poder ejecutar lo siguiente en una ventana de consulta si no es así:

CREATE DATABASE newdb WITH TEMPLATE originaldb OWNER dbuser;

Aún así, puede obtener:

ERROR:  source database "originaldb" is being accessed by other users

Para desconectar a todos los demás usuarios de la base de datos, puede usar esta consulta:

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