Wiederherstellung der DB nach dem Systemplatten Crash

Konfiguration des PostgreSQL Datenbankservers.
Antworten
vistraw
Neuer Benutzer
Beiträge: 2
Registriert: Fr 29. Nov 2013, 08:42

Wiederherstellung der DB nach dem Systemplatten Crash

Beitrag von vistraw »

Hallo zusammen,
nach einem Stromausfall lässt sich leider die System-SSD mit Ubuntu 6 Linux nicht reparieren, wodurch die Neuinstallation notwendig wurde. Die PostgreSQL Daten lagen auf einem RAID5-Verbund, der zum Glück heil geblieben ist. Vorab die Frage - schafft man problemlos die PostgreSQL DBs wieder an den Start? Da leider nicht von allen DBs (es waren ca. 7 am Start) dumps gezogen wurden, bzw. die Sicherungen nicht mehr aktuell sind, möchte ich versuchen die DBs anhand deren Datendateien wiederherzustellen. Die REDO Logs müssen meiner Meinung nach noch existieren, hier der Inhalt des Daten Verzeichnisses:
drwx------ 5 postgres postgres 4096 Nov 28 18:40 base
drwx------ 2 postgres postgres 4096 Nov 28 20:07 global
drwx------ 11 postgres postgres 4096 Sep 24 17:09 main
drwx------ 2 postgres postgres 4096 Nov 28 18:39 pg_clog
drwx------ 4 postgres postgres 4096 Nov 28 18:39 pg_multixact
drwx------ 2 postgres postgres 4096 Nov 29 10:48 pg_stat_tmp
drwx------ 2 postgres postgres 4096 Nov 28 18:39 pg_subtrans
drwx------ 2 postgres postgres 4096 Nov 28 18:39 pg_tblspc
drwx------ 2 postgres postgres 4096 Nov 28 18:39 pg_twophase
-rw------- 1 postgres postgres 4 Nov 28 18:39 PG_VERSION
drwx------ 3 postgres postgres 4096 Nov 28 18:39 pg_xlog
-rw------- 1 postgres postgres 139 Nov 28 20:07 postmaster.opts
-rw------- 1 postgres postgres 60 Nov 28 20:07 postmaster.pid

Ich dachte zuerst, dass ich die Datendateien dem neuen System unterschieben kann. Ich installierte Debian 7.2 und versuchte zuerst mittels pg_upgrade die Daten für die Version 9.1 zu konvertieren(die alte Version war 8.4). Leider klappt es nicht ohne vollständigen Installation der Version 8.4
Jetzt habe ich die Version 8.4 installiert und die Daten der Grund-Installation mit den alten Daten überschrieben.
Wenn ich jedoch mich mit der DB verbinde sehe ich nur die Grund-DB postgres und auch nur einen postgres Benutzer. Müssen die Daten im PostgreSQL System irgendwo eingelesen/initialisiert werden?
Hat jemand einen Tipp für mich?
Ich hatte, bevor ich die Versuche mit der neuen Installation anfing, das Datenverzeichniss mittels tar gesichert und gezippt...

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

Re: Wiederherstellung der DB nach dem Systemplatten Crash

Beitrag von akretschmer »

vistraw hat geschrieben:Hallo zusammen,
nach einem Stromausfall lässt sich leider die System-SSD mit Ubuntu 6 Linux nicht reparieren, wodurch die Neuinstallation notwendig wurde. Die PostgreSQL Daten lagen auf einem RAID5-Verbund, der zum Glück heil geblieben ist. Vorab die Frage - schafft man problemlos die PostgreSQL DBs wieder an den Start?


Wenn die Daten konsistent sind, ja. Mit exakt derselben Version starten (als 8.4.x, x ist egal), und der DB sagen, daß der Ordner da und alles drunter seine DB ist. Das ist dann quasi wie ein normaler Shutdown und Restart der DB.

vistraw
Neuer Benutzer
Beiträge: 2
Registriert: Fr 29. Nov 2013, 08:42

Re: Wiederherstellung der DB nach dem Systemplatten Crash

Beitrag von vistraw »

Jetzt hat es geklappt mit dem Start. Nach der Suche in den Logdateien fand ich, dass die LOCATE en_US.UTF-8, mit der die Datenbanken erstellt wurden, nicht im System vorhanden war, weswegen die DBs nicht hoch kamen. Nach dem hinzufügen der LOCATE starteten die DBs. Gut dass die Postgresql DBs so robust im Bezug auf Stromausfälle sind und ich kein kompliziertes Recovery machen musste...

Antworten