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

Wie stellt man die PostgreSQL-Dump-Datei in Postgres-Datenbanken wieder her?

Sie haben nicht erwähnt, wie Ihr Backup erstellt wurde, daher lautet die allgemeine Antwort:Normalerweise mit psql Werkzeug.

Je nachdem was pg_dump zum Sichern angewiesen wurde, kann die SQL-Datei verschiedene Sätze von SQL-Befehlen enthalten. Wenn Sie beispielsweise pg_dump anweisen um eine Datenbank mit --clean zu sichern und --schema-only , können Sie nicht erwarten, die Datenbank aus diesem Dump wiederherstellen zu können, da es keine SQL-Befehle zum COPYing (oder INSERTing, wenn --inserts verwendet wird) die tatsächlichen Daten in den Tabellen. Ein solcher Dump enthält nur DDL-SQL-Befehle und kann das Schema, aber nicht die eigentlichen Daten neu erstellen.

Ein typischer SQL-Dump wird mit psql wiederhergestellt :

psql (connection options here) database  < yourbackup.sql

oder alternativ aus einem psql Sitzung,

psql (connection options here) database
database=# \i /path/to/yourbackup.sql

Im Fall von Sicherungen, die mit pg_dump -Fc erstellt wurden ("benutzerdefiniertes Format"), das keine einfache SQL-Datei, sondern eine komprimierte Datei ist, müssen Sie pg_restore verwenden Werkzeug.

Wenn Sie an einem Unix-ähnlichen System arbeiten, versuchen Sie Folgendes:

man psql
man pg_dump
man pg_restore

Andernfalls werfen Sie einen Blick auf die HTML-Dokumentation. Viel Glück!