2023-01-04 20:48:05.355 UTC [41] LOG: starting PostgreSQL 13.9 (Debian 13.9-1.pgdg110+1) on x86_64-pc-linux-gnu, compiled by gcc (Debian 10.2.1-6) 10.2.1 20210110, 64-bit
2023-01-04 20:48:05.377 UTC [41] LOG: listening on IPv4 address "0.0.0.0", port 5432
2023-01-04 20:48:05.377 UTC [41] LOG: listening on IPv6 address "::", port 5432
2023-01-04 20:48:05.566 UTC [41] LOG: listening on Unix socket "/var/run/postgresql/.s.PGSQL.5432"
2023-01-04 20:48:05.734 UTC [44] LOG: database system was shut down at 2023-01-04 20:46:17 UTC
2023-01-04 20:48:05.878 UTC [41] LOG: database system is ready to accept connections
I, [2023-01-04T20:48:09.779985 #1] INFO -- :
I, [2023-01-04T20:48:09.780390 #1] INFO -- : > su postgres -c 'createdb discourse' || true
2023-01-04 20:48:10.014 UTC [54] postgres@postgres ERROR: database "discourse" already exists
2023-01-04 20:48:10.014 UTC [54] postgres@postgres STATEMENT: CREATE DATABASE discourse;
createdb: error: database creation failed: ERROR: database "discourse" already exists
I, [2023-01-04T20:48:10.017003 #1] INFO -- :
I, [2023-01-04T20:48:10.017425 #1] INFO -- : > su postgres -c 'psql discourse -c "create user discourse;"' || true
2023-01-04 20:48:10.188 UTC [58] postgres@discourse ERROR: role "discourse" already exists
2023-01-04 20:48:10.188 UTC [58] postgres@discourse STATEMENT: create user discourse;
ERROR: role "discourse" already exists
129:M 04 Jan 2023 20:48:21.224 # Failed listening on port 6379 (TCP), aborting.
Innerhalb des Containers versuche ich, den Dienst postgresql zu starten und erhalte eine Fehlermeldung.
root@server /var/discourse # ./launcher enter app
x86_64 arch detected.
root@discourse:/var/www/discourse# service postgresql start
[FAIL] Starting PostgreSQL 13 database server: main[....] Error: Config owner (postgres:105) and data owner (systemd-timesync:101) do not match, and config owner is not root ... failed!
failed!
root@discourse:/var/www/discourse#
Wenn Sie die Besitzer der Dateien im freigegebenen Ordner geändert haben, wird die Installation unterbrochen. Eine Option ist die Neuinstallation und Wiederherstellung eines Backups, während die andere darin besteht, diese Besitzer manuell zu korrigieren.
Innerhalb des Containers habe ich discourse backup versucht. Es wird berichtet, dass Redis nicht läuft. Im „aktuellen“ Redis-Log habe ich am Ende die folgenden Zeilen gefunden…
10316:M 05 Jan 2023 08:05:27.314 # Server initialisiert
10316:M 05 Jan 2023 08:05:27.314 # WARNUNG: overcommit_memory ist auf 0 gesetzt! Hintergrundspeicherung kann unter Bedingungen mit wenig Speicher fehlschlagen. Um dieses Problem zu beheben, fügen Sie 'vm.overcommit_memory = 1' zu /etc/sysctl.conf hinzu und starten Sie dann neu oder führen Sie den Befehl 'sysctl vm.overcommit_memory=1' aus, damit dies wirksam wird.
10316:M 05 Jan 2023 08:05:27.314 # Kann RDB-Formatversion 10 nicht verarbeiten
10316:M 05 Jan 2023 08:05:27.314 # Fataler Fehler beim Laden der DB: Ungültiges Argument. Beende.
10321:C 05 Jan 2023 08:05:28.345 # oO0OoO0OoO0Oo Redis startet oO0OoO0OoO0Oo
10321:C 05 Jan 2023 08:05:28.345 # Redis-Version=6.2.3, Bits=64, Commit=00000000, Geändert=0, PID=10321, gerade gestartet
10321:C 05 Jan 2023 08:05:28.345 # Konfiguration geladen
10321:M 05 Jan 2023 08:05:28.346 * Monotonische Uhr: POSIX clock_gettime
10321:M 05 Jan 2023 08:05:28.347 * Ausführungsmodus=standalone, Port=6379.
10321:M 05 Jan 2023 08:05:28.347 # WARNUNG: Die TCP-Backlog-Einstellung von 511 kann nicht erzwungen werden, da /proc/sys/net/core/somaxconn auf den niedrigeren Wert 128 gesetzt ist.
10321:M 05 Jan 2023 08:05:28.347 # Server initialisiert
10321:M 05 Jan 2023 08:05:28.347 # WARNUNG: overcommit_memory ist auf 0 gesetzt! Hintergrundspeicherung kann unter Bedingungen mit wenig Speicher fehlschlagen. Um dieses Problem zu beheben, fügen Sie 'vm.overcommit_memory = 1' zu /etc/sysctl.conf hinzu und starten Sie dann neu oder führen Sie den Befehl 'sysctl vm.overcommit_memory=1' aus, damit dies wirksam wird.
10321:M 05 Jan 2023 08:05:28.348 # Kann RDB-Formatversion 10 nicht verarbeiten
10321:M 05 Jan 2023 08:05:28.348 # Fataler Fehler beim Laden der DB: Ungültiges Argument. Beende.
Danach habe ich den Container mit ./launcher restart app neu gestartet. Jetzt kann ich auf Discourse zugreifen. Aber es ist die alte Version 2.8.3, auf die ich gestern versucht habe, auf 3.0.0.beta16 zu aktualisieren.
Ich bin mir nicht sicher, wie ich mit dem Upgrade von Discourse fortfahren soll.
Ich konnte die Version auf 2.9.0.beta2 (Commit-ID: 88a8584348ed93a28286839bfc1c32b06bd50b3f) setzen, indem ich die Commit-ID als „Version“ in app.yml festgelegt habe. Diesmal hat das Upgrade funktioniert. Danach konnte ich auf 3.0.0.beta16 upgraden.