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?
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.
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?