PostgreSQL
 sql >> Database >  >> RDS >> PostgreSQL

Creazione di una copia di un database in PostgreSQL

Postgres consente l'utilizzo di qualsiasi database esistente sul server come modello durante la creazione di un nuovo database. Non sono sicuro che pgAdmin ti dia l'opzione nella finestra di dialogo di creazione del database, ma in caso contrario dovresti essere in grado di eseguire quanto segue in una finestra di query:

CREATE DATABASE newdb WITH TEMPLATE originaldb OWNER dbuser;

Tuttavia, potresti ottenere:

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

Per disconnettere tutti gli altri utenti dal database, puoi utilizzare questa query:

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