524 Stimmen

Wiederherstellung einer Postgres-Sicherungsdatei über die Befehlszeile?

Ich bin neu in Postgresql, und lokal verwende ich pgadmin3. Auf dem Remote-Server habe ich diesen Luxus jedoch nicht.

Ich habe bereits eine Sicherungskopie der Datenbank erstellt und diese kopiert, aber gibt es eine Möglichkeit, eine Sicherungskopie über die Befehlszeile wiederherzustellen? Ich sehe nur Dinge, die sich auf die GUI oder auf pg_dumps beziehen. Wenn mir also jemand sagen kann, wie man das macht, wäre das großartig!

6voto

Versuchen:

pg_restore -h localhost -p 5432 -U <username> -d <dbname> -1 <filename>

5voto

Prashant Kumar Punkte 660

Die Wiederherstellung einer Postgres-Sicherungsdatei hängt davon ab, wie Sie die Sicherung überhaupt erstellt haben.

Wenn Sie pg_dump mit -F c oder -F d verwendet haben, müssen Sie pg_restore verwenden, ansonsten können Sie einfach

psql -h localhost -p 5432 -U postgres < Sicherungsdatei

9 Möglichkeiten zur Sicherung und Wiederherstellung von Postgres-Datenbanken

4voto

Masih Jahangiri Punkte 6348

Der kürzeste Weg ohne Passwortabfrage

psql "postgresql://<db_user>:<db_pass>@<ip>:<port>/<db_name>" < "backup.sql"

Wenn Sie das Betriebssystem Windows verwenden

psql.exe "postgresql://<db_user>:<db_pass>@<ip>:<port>/<db_name>" < "backup.sql"

4voto

Maryam Saeidi Punkte 1293

Wie unten Link gesagt, können Sie psql Befehl für die Wiederherstellung der Dump-Datei verwenden:

https://www.postgresql.org/docs/8.1/static/backup.html#BACKUP-DUMP-RESTORE

psql dbname < infile

Wenn Sie den Benutzernamen festlegen müssen, fügen Sie ihn einfach nach dem Befehl ein, z. B:

psql dbname < infile username

3voto

Tim Punkte 326

Entschuldigung für den Necropost, aber diese Lösungen haben bei mir nicht funktioniert. Ich benutze Postgres 10. Unter Linux:

  1. Ich musste in das Verzeichnis meiner pg_hba.conf wechseln.
  2. Ich musste die Datei bearbeiten, um die Methode von peer auf md5 zu ändern, wie angegeben aquí
  3. Starten Sie den Dienst neu: service postgresql-10 restart
  4. Wechseln Sie in das Verzeichnis, in dem sich meine backup.sql befand, und führen Sie sie aus:
    psql postgres -d database_name -1 -f backup.sql

    -database_name ist der Name meiner Datenbank

    -backup.sql ist der Name meiner .sql-Sicherungsdatei.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X