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

Postgres:Beste Möglichkeit, Daten aus dem öffentlichen Schema einer DB in das neue Schema einer anderen DB zu verschieben

Der einfachste Weg, dies zu tun, besteht darin, Schemas umzubenennen. Sie müssen jedoch sicher sein, dass Sie ein einziger Benutzer der db1-Datenbank sind.

Verstecken Sie zuerst Ihr öffentliches Schema in db1:

alter schema public rename to original_public;
create schema public;

Führen Sie als Nächstes die Sicherung und Wiederherstellung durch:

$ pg_dump --format custom --file "my_backup" --schema "public" "db2"
$ pg_restore --dbname "db1" "my_backup"

Erstellen Sie schließlich die entsprechenden Schemanamen neu:

alter schema public rename to my_schema;
alter schema original_public rename to public;

Eine weitere Option ist die Verwendung von dblink. Es ermöglicht den Zugriff auf Daten verschiedener Datenbanken.