Datenbank wiederherstellen OHNE pg_dump

Fragen und Probleme zur Installation von PostgreSQL (hauptsächlich Binary Packete).
Antworten
eraser
Neuer Benutzer
Beiträge: 3
Registriert: Di 4. Feb 2014, 18:48

Datenbank wiederherstellen OHNE pg_dump

Beitrag von eraser » Do 9. Mai 2019, 18:11

Mein Hoster hat auf meinem Ubuntu-Server ein Update ausgeführt. Jetzt bootet er nicht mehr. Ich kann nur noch über den Recovery-Modus eine SSH Shell öffnen.

Auf dem Server ist Postgres 9.1 installiert. Allerdings kann ich im Recovery-Modus keine Installationen vornehmen und habe nur Leserechte. Ich möchte jetzt auf einen anderen Server umziehen und vor allem wieder auf meine Datenbank zugreifen können.

Leider habe ich keinen aktuellen Datenbank-Dump, den ich auf einem anderern Server einspielen könnten. Aber ich kann /var/lib/postgresql auf einen neuen Server kopieren. Da sollten die Daten ja eigentlich enthalten sein.

Wenn ich dann aber auf den neuen Rechner den Postgres Server mit meinem kopierten Verzeichnis starte, kommt so etwas wie "incorrect checksum in control file".

Gibt es irgendeinen weg, OHNE pg_dump die Datenbank wiederherzustellen? Ich habe wie gesagt keinen Dump und kann auf dem kaputten Server auch keinen erzeugen.

Dravion
Neuer Benutzer
Beiträge: 20
Registriert: So 6. Nov 2016, 09:43

Re: Datenbank wiederherstellen OHNE pg_dump

Beitrag von Dravion » Do 9. Mai 2019, 21:08

Wie wäre es deinen Unbuntu Server erstmal zu reparieren, so das Du pg_dump ganz normal nutzen kannst?
Dein Anbieter wird Dir sicher eine chroot Möglichkeit gegeben haben, von dem Du vom Rescue System in den Read/Write
versetzen kannst, zumindest ist das bei Strato, bei 1&1, Hetzner und Alfahosting so.

akretschmer
Erfahrener Benutzer
Beiträge: 7605
Registriert: So 29. Okt 2006, 13:35
Wohnort: Kaufbach, Sachsen, Germany, Germany
Kontaktdaten:

Re: Datenbank wiederherstellen OHNE pg_dump

Beitrag von akretschmer » Fr 10. Mai 2019, 22:39

Das ist alles recht suboptimal.

* PG 9.1 ist seit, Moment, ..., seit 2016 nicht mehr supportet, die letzte Version mit Community-Support erschien als 9.1.24 am 27. 10. 2016.

* Du hast keinen aktuellen Dump. Vermutlich auch kein aktuelles physisches Backup. Also, unterm Strich, gar kein Backup. Offenbar sind/waren die Daten also nicht wichtig.

* wenn Du das DataDir sichern kannst, und dieses valide ist, dann kannst Du (unter dem selben OS mit derselben Umgebung) die DB damit wieder starten. Eine Fehlermeldung, die mit "kommt so etwas wie " startet, ist aber nicht hilfreich. Vermutlich startest Du mit != 9.1

Zur letzten Frage: ein pg_dump brauchst Du *jetzt* nicht mehr, Du brauchst ein Restore von einem Backup, was vor dem Crash erstellt wurde. Oder anders formuliert: Du willst kein Backup, Du willst Restore.

Für die Zukunft:
  • Update, update, update, ...
  • nutze aktuelle Versionen
  • mache Backups
  • prüfe die Backups
  • Backups müssen vollständig unabhängig vom zu sichernden DB-Server sein
  • pg_dump als logisches Backup hat seine Grenzen, nicht nur, daß da globale Objekte fehlen, es hat auch kein PITR
  • schaue Dir daher auch Alternativen wie z.B. Barman an
  • wenn es wichtig ist, suche Dir professionellen Support, die Dich *vorher* beraten, wie man es richtig macht. Z.B. bei uns.
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services

Antworten