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

Übertragen Sie Daten zwischen Datenbanken mit PostgreSQL

Ich musste genau das tun, also dachte ich, ich poste das Rezept hier. Dies setzt voraus, dass sich beide Datenbanken auf demselben Server befinden.

Kopieren Sie zuerst die Tabelle von der alten Datenbank in die neue Datenbank. Auf der Kommandozeile:

pg_dump -U postgres -t <old_table> <old_database> | psql -U postgres -d <new_database>

Erteilen Sie als Nächstes dem Benutzer der neuen Datenbank Berechtigungen für die kopierte Tabelle. Melden Sie sich bei psql an:

psql -U postgres -d <new_database>

ALTER TABLE <old_table> OWNER TO <new_user>;

\q

Zu diesem Zeitpunkt hat Ihre kopierte Tabelle in Ihrer neuen Datenbank noch den Namen <old_table> aus Ihrer alten Datenbank. Angenommen, Sie möchten die Daten woanders hin verschieben, sagen Sie zu <new_table> , können Sie einfach normale SQL-Abfragen verwenden:

INSERT INTO <new_table> (field1, field2, field3) 
SELECT field1, field2, field3 from <old_table>;

Fertig!