PostgreSQL-Datenbank aktualisieren

Prev Next

Upgrade auf PostgreSQL 14 zur Nutzung neuer icom Router Management-Versionen

Für die Verwendung neuer Versionen von INSYS icom Router Management ist ein Upgrade der PostgreSQL-Datenbank von Version 12 auf Version 14 erforderlich.


Diese Anleitung beschreibt, wie PostgreSQL 12 und PostgreSQL 14 parallel installiert werden können, um anschließend eine Datenmigration durchzuführen.


Datenbank sichern

sudo -u postgres pg_dumpall > /tmp/backup.sql

Upgrade auf PostgreSQL 14 unter Ubuntu 20.04

Da PostgreSQL 14 nicht nativ in Ubuntu 20.04 enthalten ist, muss das PostgreSQL-Repository manuell eingebunden werden.

Repository-Konfiguration erstellen

sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'

Repository-Signaturschlüssel importieren

wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -

Paketquellen aktualisieren

sudo apt-get update

PostgreSQL 14 installieren

Hinweis

Soll eine bestimmte Version installiert werden, verwenden Sie postgresql-XX anstelle von postgresql.

sudo apt-get -y install postgresql-14

Upgrade der Datenbank von PostgreSQL 12 auf 14

Alten Datenbankdienst stoppen

sudo systemctl stop postgresql.service

Arbeitsverzeichnis wechseln

cd /tmp

Konfigurationsdateien und Daten migrieren

sudo -u postgres /usr/lib/postgresql/14/bin/pg_upgrade \
--old-datadir=/var/lib/postgresql/12/main \
--new-datadir=/var/lib/postgresql/14/main \
--old-bindir=/usr/lib/postgresql/12/bin \
--new-bindir=/usr/lib/postgresql/14/bin \
--old-options '-c config_file=/etc/postgresql/12/main/postgresql.conf' \
--new-options '-c config_file=/etc/postgresql/14/main/postgresql.conf'

Server-Ports anpassen

Setzen Sie in den jeweiligen Konfigurationsdateien die Ports wie folgt:

sudo vim /etc/postgresql/14/main/postgresql.conf  # Port auf 5432 setzen
sudo vim /etc/postgresql/12/main/postgresql.conf  # Port auf 5433 setzen

Neuen PostgreSQL-Dienst aktivieren und Version prüfen

sudo systemctl start postgresql.service
sudo -u postgres psql -c "SELECT version();"

Passwort für benutzerdefinierten Datenbanknutzer zurücksetzen

sudo -u postgres psql

Im PostgreSQL-Prompt:

\password u4insysicomroutermgmt

(Optional) Alte PostgreSQL 12-Installation entfernen

Alte Pakete deinstallieren

sudo apt remove postgresql-12 postgresql-contrib-12

Alte Daten- und Konfigurationsverzeichnisse löschen

sudo rm -rf /etc/postgresql/12
sudo -u postgres /tmp/delete_old_cluster.sh