Postgres Datenbank-Upgrade (Debian)
Ausgangssituation
Eine Postgres-Datenbank mit Release 9.1 soll aktualsiert werden auf 9.3.5, und die bestehenden Daten sollen erhalten bleiben.
Also: Zuerst alles sichern (z.B. per Container/VM Backup bzw. Snapshot).
Aus http://www.postgresql.org/download/linux/debian/ (debian) bzw. http://www.postgresql.org/download/linux/ubuntu/ (ubuntu) die Anleitung zum Einbinden des Paketrepositories nutzen.
Dann mittels apt-get installieren:
# apt-get install postgresql-9.3
Danach laufen beide Versionen parallel:
# service postgresql status
9.1/main (port 5432): online
9.3/main (port 5433): online
Nun Nuclos stoppen und die Daten in die neue DB migrieren (Quelle: http://www.postgresql.org/docs/9.3/static/upgrading.html):
# su postgres
$ pg_dumpall -p 5432 | psql -d postgres -p 5433
Dann in /etc/postgresql/9.3/main/postgresql.conf und /etc/postgresql/9.1/main/postgresql.conf die Ports tauschen (5432 <-> 5433). Abschließend Datenbanken herunter- und wieder hochfahren (9.1 kann bei Bedarf wieder reaktiviert werden). Auf Debian:
# pg_ctlcluster 9.1 main stop
# pg_ctlcluster 9.3 main stop
# pg_ctlcluster 9.3 main stop
Nun sollte die neue Postgres-Version auf Port 5432 laufen, so dass Nuclos unverändert wieder starten kann und nichts vom DB-Upgrade mitbekommt.