Backup schwierig?

PetraSteiner

Fleissiger Benutzer
Beiträge
60
Ich möchte eine Postgresql auf einen anderen Rechner umziehen. Es sind zwei unterschiedliche Betriebssystemversionen. Also auch unterschiedliche Postgresql-Versionen.
Meine Erwartungshaltung war, dass wenn ich mit pg_dumpall einen Dump mache, ich diesen in dem neuen Rechner einspielen kann.
Das funktioniert aber irgendwie nicht wirklich. Ein psql hängt ohne Meldung.
Gibt es da ein einfaches Rezept?
 
Werbung:
'funktioniert irgendwie nicht' hilft nicht als Fehlerbeschreibung.

Ich vermute mal, das neue System ist das mit der höheren Version, nutze das pg_dump(all) dieses Systems übers Netz um von der älteren Version den Dump zu ziehen. Das ist der übliche Weg.
 
Guten Abend die Herren,
also den Dump mache ich auf dem Quellrechner so : pg_dumpal > file.dump

Ich habe vieles beim Einspielen probiert.
Unter anderem
pg_restore -U postgres -d file.dump
psql template1 -c ./file.dump

Ich kann momentan leider die Fehlermeldungen nicht reproduzieren. Beim pg_restore passierte im Prinzip gar nichts. Der lief eine halbe Stunden und dann habe ich abgebrochen. Es gab keinen Output. Die Datenbank war auch leer.
 
wenn ich was einwerfen darf:

Am alten Server (in einer SSH-Verbindung als SQL-superuser):
Code:
pg_dump datenbankname > datenbankname.sql

Die SQL-Datei auf den neuen Server packen (auf einen Ordner, auf welchen der neue SQL-Superuser zugreifen kann)

Am neuen Server (In einer SSH-Verbindung als SQL-superuser):
Code:
createdb neuedatenbankname
psql neuedatenbankname < datenbankname.sql

Das wäre es, glaube ich :/
 
Beim pg_restore passierte im Prinzip gar nichts. Der lief eine halbe Stunden und dann habe ich abgebrochen. Es gab keinen Output. Die Datenbank war auch leer.
Wenn Du pg_dump nicht mit -Fc verwendet hast, dann nützt pg_restore auch nichts. Aber Deine Kommandozeile wäre eh falsch. -d gibt die Datenbank an, sprich pg_restore -U postgres -d file.dump versucht sich zu einer Datenbank mit dem Namen "file.dump" zu verbinden. Dann fehlt aber die Angabe der Eingabedatei also wartet pg_restore of Daten von "standard in" - und da kommt nichts.

Warum psql neuedatenbankname < datenbankname.sql nicht funktioniert ist schwer zu sagen. Hast Du es mal mit
Code:
psql -d neuedatenbankname -f datenbankname.sql
versucht?
 
Werbung:
Hallo, wer lesen kann ist im Vorteil. Wer dazu noch Englisch kann, hat einen Supervorteil.
Ich glaube, ich habe den Fehler gemacht und als normaler User den Dump gemacht.
Jedenfalls habe ich mich heute mal mit freien Kopf hingesetzt und nochmal von vorne angefangen.
Als User postgres: pg_dumpall -f /opt/db_backup/psq10.dump
Dann auf dem neuen Rechner als User postgres: psql < psq10.dump
Hat wunderbar geklappt.
Danke für die Tipps.
 
Zurück
Oben