PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

Erstellen einer Kopie einer Datenbank in PostgreSQL

Postgres ermöglicht die Verwendung einer beliebigen vorhandenen Datenbank auf dem Server als Vorlage beim Erstellen einer neuen Datenbank. Ich bin mir nicht sicher, ob pgAdmin Ihnen die Option im Dialogfeld "Datenbank erstellen" gibt, aber Sie sollten in der Lage sein, Folgendes in einem Abfragefenster auszuführen, wenn dies nicht der Fall ist:

CREATE DATABASE newdb WITH TEMPLATE originaldb OWNER dbuser;

Trotzdem erhalten Sie möglicherweise:

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

Um alle anderen Benutzer von der Datenbank zu trennen, können Sie diese Abfrage verwenden:

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