PostgreSQL 15 Upgrade auf PostgreSQL 16 Version

Wenn Sie Mirasys List Management Service Version 9.6.1 oder eine frühere Version verwenden, enthält diese Version PostgreSQL 15. Bevor Sie ein Upgrade auf Mirasys List Management Service 9.6.2 oder höher durchführen und dabei Ihre aktuelle Datenbank beibehalten, müssen Sie die Datenbank zunächst auf PostgreSQL 16 migrieren.

Während des PostgreSQL-Upgrade-Prozesses speichert das System keine Daten in der Datenbank.

Dieser Leitfaden gilt für

  • Mirasys VMS V9.6.2

  • Mirasys VMS V9.6.3

  • Mirasys VMS V9.7.0

  • Mirasys VMS V9.8.0

  • Mirasys VMS V9.9.0

  • Mirasys VMS V9.10.0

Anforderungen

  • Sicherung der Datenbank

  • Notepad++

  • PostgreSQL 16 Installationspaket

    • postgresql-16.1-1-windows-x64.exe

  • Mirasys List Management Service 9.6.2 oder neueres Installationspaket

  • Das System, auf dem Mirasys List Management Service 9.6.1 oder eine frühere Version installiert ist.

Wie man ein Upgrade durchführt

  1. Beenden Sie die Dienste AdvPostgreDatabase und ADVLmService in den Windows-Diensten.

  2. Ändern Sie die Startart des AdvPostgreDatabase-Dienstes auf manuell.

  3. Gehen Sie zu C:\Programme\PostgreSQL\15\data und öffnen Sie die Datei postgresql.conf mit der Anwendung Notepad++.
    a. Suchen Sie die Zeile „port = 5432“ und ändern Sie diese in „port = 5433“.

port = 5432 -> port = 5433
  1. Speichern Sie die Konfigurationsdatei postgresql.conf.

  2. Start installation of PostgreSQL 16 by double clicking PostgreSQL 16 installation package

  3. Klicken Sie auf Next (Weiter), um fortzufahren.

    image-20240207-101132.png
  4. Verwenden Sie den Standardinstallationsort und klicken Sie auf Next (Weiter).

    image-20240207-101225.png
  5. Mit allen Komponenten installieren.

    image-20240207-101303.png
  6. Verwenden Sie den Standardspeicherort des Datenverzeichnisses und klicken Sie auf Next (Weiter).

    image-20240207-101336.png
  7. Geben Sie dasselbe Passwort ein, das Sie bei der Installation von Mirasys List Management Service verwendet haben.

  • Standard ist postgres

    image-20240207-101423.png
  1. Verwenden Sie den Standardport 5432 und klicken Sie auf Next (Weiter).

    image-20240207-101602.png
  2. Verwenden Sie die standardmäßigen erweiterten Optionen und klicken Sie auf Next (Weiter).

    image-20240207-101638.png
  3. Sie können nun die Installationseinstellungen überprüfen. Wenn Änderungen erforderlich sind, gehen Sie zurück und ändern Sie den gewünschten Abschnitt. Andernfalls klicken Sie auf Next (Weiter).

    image-20240207-101729.png
  4. Klicken Sie auf Next (Weiter) und die Installation beginnt. Dies dauert einige Zeit, warten Sie also, bis die Installation abgeschlossen ist.

    image-20240207-101751.png
  5. Deaktivieren Sie die Option Launch Stack Builder und klicken Sie auf Finish (Fertigstellen).

    image-20240207-102125.png
  6. Stoppen Sie den Dienst postgresql-x64-16 über die Windows-Dienste.

  7. Ändern Sie den Starttyp von postgresql-x64-16 auf Manuell.

  8. Gehen Sie zu C:\Programme\PostgreSQL\16\data und öffnen Sie die Datei postgresql.conf in Notepad++ und überprüfen Sie, ob der Port standardmäßig 5432 ist.
    a. Falls nicht, ändern Sie den Port auf 5432 und speichern Sie die Konfigurationsdatei.

  9. Erlauben Sie den lokalen Zugriff, um alte und neue PostgreSQL pg_hba.conf Dateien zu bearbeiten.

a. Die Speicherorte sind C:\Programmdateien\PostgreSQL\15\data und C:\Programmdateien\PostgreSQL\16\data

b. Öffnen Sie die Datei pg_hba.conf an beiden Orten und ändern Sie die lokalen Verbindungen in vertrauenswürdig.

# IPv4 local connections:
host    all             all             127.0.0.1/32            scram-sha-256
# IPv6 local connections:
host    all             all             ::1/128                 scram-sha-256

To this

# IPv4 local connections:
host    all             all             127.0.0.1/32            trust
# IPv6 local connections:
host    all             all             ::1/128                 trust
  1. Speichern Sie beide Konfigurationsdateien.

  2. Öffnen Sie das PowerShell-Fenster und kopieren Sie dieses Skript dorthin.

a. Überprüfen Sie, ob die Dateipfade korrekt sind, und ändern Sie gegebenenfalls die Pfade in die korrekten Pfade.

C:\Program Files\PostgreSQL\16\bin\pg_upgrade.exe --old-datadir 'C:\Program Files\PostgreSQL\15\data' --new-datadir 'C:\Program Files\PostgreSQL\16\data' --old-bindir 'C:\Program Files\PostgreSQL\15\bin' --new-bindir 'C:\Program Files\PostgreSQL\16\bin' -U postgres
  1. Drücken Sie dann die Eingabetaste und warten Sie, bis die Aktualisierung abgeschlossen ist.

a. Netzwerkregeln für die Firewall zulassen, wenn diese angefordert werden.

image-20240207-103613.png
  1. Vergewissern Sie sich, dass Sie ein ähnliches Ergebnis sehen, sobald die Aktualisierung abgeschlossen ist.

Performing Consistency Checks
-----------------------------
Checking cluster versions                                     ok
Checking database user is the install user                    ok
Checking database connection settings                         ok
Checking for prepared transactions                            ok
Checking for system-defined composite types in user tables    ok
Checking for reg* data types in user tables                   ok
Checking for contrib/isn with bigint-passing mismatch         ok
Checking for incompatible "aclitem" data type in user tables  ok
Creating dump of global objects                               ok
Creating dump of database schemas
                                                              ok
Checking for presence of required libraries                   ok
Checking database user is the install user                    ok
Checking for prepared transactions                            ok
Checking for new cluster tablespace directories               ok

If pg_upgrade fails after this point, you must re-initdb the
new cluster before continuing.

Performing Upgrade
------------------
Setting locale and encoding for new cluster                   ok
Analyzing all rows in the new cluster                         ok
Freezing all rows in the new cluster                          ok
Deleting files from new pg_xact                               ok
Copying old pg_xact to new server                             ok
Setting oldest XID for new cluster                            ok
Setting next transaction ID and epoch for new cluster         ok
Deleting files from new pg_multixact/offsets                  ok
Copying old pg_multixact/offsets to new server                ok
Deleting files from new pg_multixact/members                  ok
Copying old pg_multixact/members to new server                ok
Setting next multixact ID and offset for new cluster          ok
Resetting WAL archives                                        ok
Setting frozenxid and minmxid counters in new cluster         ok
Restoring global objects in the new cluster                   ok
Restoring database schemas in the new cluster
                                                              ok
Copying user relation files
                                                              ok
Setting next OID for new cluster                              ok
Sync data directory to disk                                   ok
Creating script to delete old cluster                         ok
Checking for extension updates                                ok

Upgrade Complete
----------------
Optimizer statistics are not transferred by pg_upgrade.
Once you start the new server, consider running:
    C:/Program Files/PostgreSQL/16/bin/vacuumdb -U postgres --all --analyze-in-stages
Running this script will delete the old cluster's data files:
    delete_old_cluster.bat
  1. Suchen Sie nach Fehlern, da diese auf ein Problem hinweisen, das die Aktualisierung verhindert. Ermitteln Sie die mögliche Ursache und versuchen Sie das Upgrade erneut.

  2. Schließen Sie das PowerShell-Fenster.

  3. Ändern Sie pg_hba.conf wieder auf normal.

a. Die Speicherorte sind C:\Programmdateien\PostgreSQL\15\data und C:\Programmdateien\PostgreSQL\16\data

# IPv4 local connections:
host    all             all             127.0.0.1/32            trust
# IPv6 local connections:
host    all             all             ::1/128                 trust

To this

# IPv4 local connections:
host    all             all             127.0.0.1/32            scram-sha-256
# IPv6 local connections:
host    all             all             ::1/128                 scram-sha-256
  1. Deinstallieren Sie die folgenden Anwendungen über Windows-Programme und -Funktionen

a. ADV List Management Service

b. PostgreSQL 15 und wählen Sie Gesamte Anwendung

Sie brauchen sich nicht um die Warnmeldungen im Zusammenhang mit der Entfernung des Datenordners zu kümmern und klicken auf OK.

c. PostgreSQL 16 und wählen Sie Gesamte Anwendung

Sie brauchen sich nicht um die Warnmeldungen im Zusammenhang mit der Entfernung des Datenordners zu kümmern und klicken auf OK.

  1. Jetzt können Sie den neueren Mirasys List Management Service installieren und unserer Anleitung zur Installation folgen.

  2. Überprüfen Sie, ob das Upgrade erfolgreich war. Die ältere PostgreSQL-Version sollte nun auf die neuere Version aktualisiert werden, und Sie sollten in der Lage sein, sowohl die alten als auch die neuen Daten über den System Manager und Spotter zu sehen.

  3. Falls gewünscht, können Sie die alte PostgreSQL-Version bereinigen, indem Sie zu C:\Programme\PostgreSQL navigieren und den Ordner „15“ löschen.