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!

2voto

Omar Punkte 786

Wenn Sie eine SQL-Sicherungsdatei haben, können Sie diese leicht wiederherstellen. Befolgen Sie einfach die unten stehenden Anweisungen

1. At first, create a database using pgAdmin or whatever you want (for example my_db is our created db name)
2. Now Open command line window
3. Go to Postgres bin folder. For example:  cd "C:\ProgramFiles\PostgreSQL\pg10\bin"
4. Enter the following command to restore your database: psql.exe -U postgres -d my_db -f D:\Backup\backup_file_name.sql 

Geben Sie bei Bedarf das Passwort für Ihren Postgres-Benutzer ein und lassen Sie Postgres seine Arbeit machen. Dann können Sie den Wiederherstellungsprozess überprüfen.

2voto

Versuchen Sie, ob die folgenden Befehle Ihnen helfen können:

sudo su - yourdbuser
psql
\i yourbackupfile

1voto

Ramesh Ponnusamy Punkte 991

Sicherung==>

Option1: So erstellen Sie eine Sicherungskopie zusammen mit dem Kennwort in cmd
1.PGPASSWORD="mypassword" pg_dump -U postgres -h localhost --inserts mydb>mydb.sql
Option2: So erstellen Sie ein Backup ohne Passwort in cmd
2. pg_dump -U postgres -h localhost --inserts mydb>mydb.sql
Option3: Sicherung im gzip-Format (wenn die Datenbank sehr groß ist)
3. pg_dump -U postgres -h localhost mydb --inserts | gzip > mydb.gz

Wiederherstellen:
1. psql -h localhost -d mydb -U postgres -p 5432 < mydb.sql

1voto

user1876508 Punkte 12542

Ich hatte Authentifizierungsprobleme beim Ausführen von pg_dump, also habe ich meine Dump-Datei verschoben

mv database_dump /tmp

in das temp-Verzeichnis und führte dann

su -u postgres
cd /tmp
pg_restore database_dump

Wenn Sie einen großen Datenbank-Dump haben, können Sie einfach ein anderes Verzeichnis erstellen, auf das Ihr aktueller Benutzer und der Postgres-Benutzer Zugriff haben, und die Datenbank-Dump-Datei in dieses Verzeichnis legen.

1voto

Johnny Chacon Punkte 27

Diese Lösung funktioniert nur für Windows .

Stellen Sie zunächst sicher, dass Sie den Ordner postgres bin bereits zur Umgebungsvariablen "Path" hinzugefügt haben (in meinem Fall ist dieser Ordner C:\Program Dateien \PostgreSQL\12\bin ).

Öffnen Sie dann den Windows-Befehlsinterpreter (cmd), wechseln Sie in den Ordner, in dem sich die .sql-Datei befindet, und führen Sie diesen Befehl aus:

pg_restore -U Benutzername -d Datenbank-1 backupfile.sql

Zum Beispiel:

pg_restore -U sam -d SamDataBase -1 SamDataBaseBackup.sql

(Sie können nach dem Passwort des Benutzers gefragt werden, also geben Sie es korrekt ein und klicken Sie dann auf Enter)

Pura vida!

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