Alten Cluster starten nach Neuinstallation

Datenbank Migration (z. B. von MySQL auf PostgreSQL)
Antworten
Lowry76
Neuer Benutzer
Beiträge: 6
Registriert: Di 6. Jan 2015, 06:36

Alten Cluster starten nach Neuinstallation

Beitrag von Lowry76 » Di 6. Jan 2015, 07:02

Hi all,

ich hab ein zweites postgresql cluster auf einer externen Festplatte angelegt. Leider musste ich mein Ubuntu neu aufsetzen und suche nun nach einer Moeglichkeit das cluster auf der externen Festplatte zu re-aktivieren. Da ich noch einigermassen neu mit PostgreSQL bin, will ich nichts falsch machen, da die Daten wichtig sind. Erschwerend kommt dazu, dass das alte Cluster v9.1 ist, die neue Installation aber v9.3.

Meine erste Idee war, das Verzeichnis des alten clusters unter /etc/postgres/9.1 einfach nach /etc/postgres/9.3 der neuen Installation zu copieren und den postmaster neu zu starten. Wuerde mich allerdings wundern, wenn das so ginge.
Dann dachte ich an initdb, was ja aber alles neu anlegen und damit die alten Daten ueberschreiben wuerde oder nicht?

Kann mir jemand helfen?
Lowry

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

Re: Alten Cluster starten nach Neuinstallation

Beitrag von akretschmer » Di 6. Jan 2015, 07:41

Lowry76 hat geschrieben:Hi all,

ich hab ein zweites postgresql cluster auf einer externen Festplatte angelegt. Leider musste ich mein Ubuntu neu aufsetzen und suche nun nach einer Moeglichkeit das cluster auf der externen Festplatte zu re-aktivieren. Da ich noch einigermassen neu mit PostgreSQL bin, will ich nichts falsch machen, da die Daten wichtig sind. Erschwerend kommt dazu, dass das alte Cluster v9.1 ist, die neue Installation aber v9.3.

Willkommen bei PostgreSQL!

Meine erste Idee war, das Verzeichnis des alten clusters unter /etc/postgres/9.1 einfach nach /etc/postgres/9.3 der neuen Installation zu copieren und den postmaster neu zu starten. Wuerde mich allerdings wundern, wenn das so ginge.
Dann dachte ich an initdb, was ja aber alles neu anlegen und damit die alten Daten ueberschreiben wuerde oder nicht?

Kann mir jemand helfen?
Lowry


Nein, so nicht. Du mußt den alten Cluster, also das DB-System, mit der Version in Betrieb nehmen, mit der er erstellt wurde. Die internen Strunkturen ändern sich von Hauptversion zu Hauptversion, hier liegen 2 solcher Sprünge vor.

Also, entweder hast Du einen Dump der Daten, dann kannst den einspielen (mit psql oder pg_restore, je nach Format des Dumps), oder aber Du nimmst das mit einem 9.1 in Betrieb, sicherst die Daten via Dump und spielst diesen dann in 9.3, oder besser gleich 9.4, ein.

Lowry76
Neuer Benutzer
Beiträge: 6
Registriert: Di 6. Jan 2015, 06:36

Re: Alten Cluster starten nach Neuinstallation

Beitrag von Lowry76 » Di 6. Jan 2015, 08:01

Hmm, hoffe, dass war nicht zu unfreundlich mich nicht vorzustellen. Also nochmal:

Hallo Community, bin ein Neuer und schicke mal nen Gruss in die Runde.

@akretschmer
Danke fuer die Antwort. Ich dachte mir schon, dass ich 9.1 wieder aufsetzen muss. Dann ist aber trotzdem die Frage: kann ich einfach die config files nach /etc/postgres/9.1 kopieren und neustarten oder muss ich das alte Cluster irgendwie registrieren? Oder anders gefragt: tut initdb noch was anderes als die Verzeichnisse und die config files anzulegen?
Off-topic Frage: ist es "das" oder "der" Datenbank-cluster auf Deutsch?

Danke nochmal,
Lowry

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

Re: Alten Cluster starten nach Neuinstallation

Beitrag von akretschmer » Di 6. Jan 2015, 08:35

Lowry76 hat geschrieben:Danke fuer die Antwort. Ich dachte mir schon, dass ich 9.1 wieder aufsetzen muss. Dann ist aber trotzdem die Frage: kann ich einfach die config files nach /etc/postgres/9.1 kopieren und neustarten oder muss ich das alte Cluster irgendwie registrieren? Oder anders gefragt: tut initdb noch was anderes als die Verzeichnisse und die config files anzulegen?

Lowry


Du darfst initdb NICHT ausführen. Du brauchst die Binarys für 9.1 und startest das z.B. via /path/to/9.1/bin/pg_ctl -D /path/to/the/old/cluster

Die Configs (also postgresql.conf, pg_hba.conf, recovery.conf, ...) liegen normalerweise dort, wo auch -D hinzeigt.

Wenn das läuft, dann machst einen Dump.

Und ja: bevor Du damit spielst, macht noch ein komplettes Backup! (ohne daß der DB-Server läuft)

Lowry76
Neuer Benutzer
Beiträge: 6
Registriert: Di 6. Jan 2015, 06:36

Re: Alten Cluster starten nach Neuinstallation

Beitrag von Lowry76 » Di 6. Jan 2015, 08:46

Nice, danke fuer die schnelle Hilfe. Hoffe, es klappt so.

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

Re: Alten Cluster starten nach Neuinstallation

Beitrag von akretschmer » Di 6. Jan 2015, 09:34

Lowry76 hat geschrieben:Nice, danke fuer die schnelle Hilfe. Hoffe, es klappt so.


Denk bitte in Zukunft VOR dem Crash an Backups.

Antworten