Upgrade von Postgres 13 auf 15 schlägt fehl - bedeutet derzeit, dass das Forum nicht verfügbar ist

Hallo zusammen,

ich erhalte beim Versuch, einen Rebuild zur Aktualisierung auf die neueste getestete Version den folgenden Fehler. Dies würde die PostgreSQL-Version von 13 auf 15 anheben.

[2025-03-12T20:49:22.045226 #1]  INFO -- : Replacing (?-mix:^#local +replication +postgres +peer$) with local replication postgres  peer in /etc/postgresql/15/main/pg_hba.conf
I, [2025-03-12T20:49:22.045431 #1]  INFO -- : Replacing (?-mix:^host.*all.*all.*127.*$) with host all all 0.0.0.0/0 md5 in /etc/postgresql/15/main/pg_hba.conf
I, [2025-03-12T20:49:22.045624 #1]  INFO -- : Replacing (?-mix:^host.*all.*all.*::1\\/128.*$) with host all all ::/0 md5 in /etc/postgresql/15/main/pg_hba.conf
I, [2025-03-12T20:49:22.045816 #1]  INFO -- : 
> if [ -f /root/install_postgres ]; then
  /root/install_postgres 
&& rm -f /root/install_postgres
elif [ -e /shared/postgres_run/.s.PGSQL.5432 ]; then
  socat /dev/null UNIX-CONNECT:/shared/postgres_run/.s.PGSQL.5432 || exit 0 
&& echo postgres already running stop container ; exit 1
fi

initdb: warning: enabling "trust" authentication for local connections
initdb: hint: You can change this by editing pg_hba.conf or using the option -A, or --auth-local and --auth-host, the next time you run initdb.
W: https://dl.yarnpkg.com/debian/dists/stable/InRelease: Key is stored in legacy trusted.gpg keyring (/etc/apt/trusted.gpg), see the DEPRECATION section in apt-key(8) for details.
debconf: delaying package configuration, since apt-utils is not installed
cp: cannot stat '/etc/postgresql/13/main/*': No such file or directory

Das Skript bleibt bei diesem Kopierbefehl hängen.
Wenn ich versuche, das Forum neu zu starten, wird der Neustartbefehl erfolgreich abgeschlossen, aber das Forum zeigt “connection refused”.

Wie kann ich entweder auf mein Backup in PostgreSQL 13 zurückrollen oder weitermachen? Danke

Bis sich klügere Leute zur Hilfe melden, besuchen Sie dieses Thema zur PostgreSQL-Aktualisierung

4 „Gefällt mir“

Sie könnten einfach einen komplett neuen Server erstellen und das Backup importieren.

1 „Gefällt mir“

Das möchte ich wenn möglich vermeiden

2 „Gefällt mir“

Das ist die einfachste Lösung.

Starten Sie den alten Container neu. Sie werden Ihr Forum haben. Sie können den neuen Server nach Belieben zum Laufen bringen.

Der Neustart-Container konnte nicht ausgeführt werden, da er sich in einem instabilen Zustand zwischen Datenbankversionen befand. Ich habe den Ordner „postgres_data“ gelöscht und stelle nun aus einem Backup wieder her.

Was sind Ihre Server-Spezifikationen? Wenn Sie Ubuntu LTS verwenden, welche Version hat Ihr Server?

1 „Gefällt mir“

Konntest du die Seite wiederherstellen?

Wenn du tatsächlich ein älteres Betriebssystem und eine ältere Docker-Version verwendest, empfehle ich, beide zu aktualisieren, bevor du den erneuten Build versuchst.

Hast du vielleicht eine große Datenbank aktualisiert? Wenn ja, ist es möglich, dass die Aktualisierung noch lief. Während des Rebuilds kannst du regelmäßig die Größe der Verzeichnisse postgres_data und postgres_data_new vergleichen. Wenn die Größe von postgres_data_new weiter wächst, läuft die Aktualisierung noch. (Du kannst auch anhand der Prozessliste überprüfen, ob der Befehl pg_upgrade läuft.)


Du kannst diesen cp-Fehler vorerst ignorieren. Ich konnte eine Testseite auf einer Standardinstallation aktualisieren, selbst mit demselben Fehler. (Er wurde durch eine Upstream-Änderung verursacht, daher werden wir das Image korrigieren, um den Fehler zu beheben, aber er sollte die Datenbankaktualisierungen nicht unterbrechen, es sei denn, die Postgres-Konfigurationen wurden zuvor erheblich geändert.)

5 „Gefällt mir“

Hallo,

ja, ich konnte die Webseite wiederherstellen. Wir haben tatsächlich eine große Datenbank aktualisiert, aber ich habe die oben genannten Verzeichnisse im Auge behalten, um sicherzustellen, dass postgres_data_new wächst. Nach einiger Zeit wuchs es nicht mehr weiter, und das Skript blieb bei diesem Befehl hängen.

Unsere Konfiguration war ziemlich standardmäßig, abgesehen von der großen Größe der Datenbank. Ich werde die Details zusammenstellen und diese später heute posten.

1 „Gefällt mir“