PostgreSQL-Update schlägt aus China fehl

Daten können nicht wiederhergestellt werden

./launcher rebuild data
x86_64 arch erkannt.
Stelle sicher, dass der Launcher auf dem neuesten Stand ist
Launcher ist auf dem neuesten Stand
2.0.20250129-0720: Ziehe von docker-hub-china/discourse-base
Digest: sha256:d798a945ca4d31c29e5d263cdaf807bafab9b5f6737be0b1b852bea0063a3b91
Status: Image ist auf dem neuesten Stand für registry.cn-wulanchabu.aliyuncs.com/docker-hub-china/discourse-base:2.0.20250129-0720
registry.cn-wulanchabu.aliyuncs.com/docker-hub-china/discourse-base:2.0.20250129-0720
/usr/local/lib/ruby/gems/3.3.0/gems/pups-1.2.1/lib/pups.rb
/usr/local/bin/pups --stdin
I, [2025-02-06T04:49:43.809493 #1]  INFO -- : Lesen von stdin
I, [2025-02-06T04:49:43.812252 #1]  INFO -- : Übersprungen fehlender before_code hook
I, [2025-02-06T04:49:43.812294 #1]  INFO -- : Übersprungen fehlender before_db_migrate hook
I, [2025-02-06T04:49:43.812309 #1]  INFO -- : Übersprungen fehlender after_code hook
I, [2025-02-06T04:49:43.816721 #1]  INFO -- : Datei > /etc/service/postgres/run  chmod: +x  chown: 
I, [2025-02-06T04:49:43.820580 #1]  INFO -- : Datei > /etc/service/postgres/log/run  chmod: +x  chown: 
I, [2025-02-06T04:49:43.824283 #1]  INFO -- : Datei > /etc/runit/3.d/99-postgres  chmod: +x  chown: 
I, [2025-02-06T04:49:43.827979 #1]  INFO -- : Datei > /root/install_postgres  chmod: +x  chown: 
I, [2025-02-06T04:49:43.832007 #1]  INFO -- : Datei > /root/upgrade_postgres  chmod: +x  chown: 
I, [2025-02-06T04:49:43.832273 #1]  INFO -- : Ersetze data_directory = '/var/lib/postgresql/15/main' durch data_directory = '/shared/postgres_data' in /etc/postgresql/15/main/postgresql.conf
I, [2025-02-06T04:49:43.832904 #1]  INFO -- : Ersetze (?-mix:#?listen_addresses *=.*) durch listen_addresses = '*' in /etc/postgresql/15/main/postgresql.conf
I, [2025-02-06T04:49:43.833313 #1]  INFO -- : Ersetze (?-mix:#?synchronous_commit *=.*) durch synchronous_commit = $db_synchronous_commit in /etc/postgresql/15/main/postgresql.conf
I, [2025-02-06T04:49:43.843122 #1]  INFO -- : Ersetze (?-mix:#?shared_buffers *=.*) durch shared_buffers = $db_shared_buffers in /etc/postgresql/15/main/postgresql.conf
I, [2025-02-06T04:49:43.843548 #1]  INFO -- : Ersetze (?-mix:#?work_mem *=.*) durch work_mem = $db_work_mem in /etc/postgresql/15/main/postgresql.conf
I, [2025-02-06T04:49:43.843885 #1]  INFO -- : Ersetze (?-mix:#?default_text_search_config *=.*) durch default_text_search_config = '$db_default_text_search_config' in /etc/postgresql/15/main/postgresql.conf
I, [2025-02-06T04:49:43.844162 #1]  INFO -- : Ersetze (?-mix:#?checkpoint_segments *=.*) durch checkpoint_segments = $db_checkpoint_segments in /etc/postgresql/15/main/postgresql.conf
I, [2025-02-06T04:49:43.844439 #1]  INFO -- : Ersetze (?-mix:#?logging_collector *=.*) durch logging_collector = $db_logging_collector in /etc/postgresql/15/main/postgresql.conf
I, [2025-02-06T04:49:43.844732 #1]  INFO -- : Ersetze (?-mix:#?log_min_duration_statement *=.*) durch log_min_duration_statement = $db_log_min_duration_statement in /etc/postgresql/15/main/postgresql.conf
I, [2025-02-06T04:49:43.845050 #1]  INFO -- : Ersetze (?-mix:^#local +replication +postgres +peer$) durch local replication postgres  peer in /etc/postgresql/15/main/pg_hba.conf
I, [2025-02-06T04:49:43.845283 #1]  INFO -- : Ersetze (?-mix:^host.*all.*all.*127.*$) durch host all all 0.0.0.0/0 md5 in /etc/postgresql/15/main/pg_hba.conf
I, [2025-02-06T04:49:43.845505 #1]  INFO -- : Ersetze (?-mix:^host.*all.*all.*::1\/128.*$) durch host all all ::/0 md5 in /etc/postgresql/15/main/pg_hba.conf
I, [2025-02-06T04:49:43.845723 #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

2025/02/06 04:49:45 socat[33] E connect(, AF=1 "/shared/postgres_run/.s.PGSQL.5432", 36): Verbindung verweigert
initdb: Warnung: Aktivierung von „trust“ Authentifizierung für lokale Verbindungen
initdb: Hinweis: Sie können dies ändern, indem Sie pg_hba.conf bearbeiten oder die Option -A oder --auth-local und --auth-host beim nächsten Ausführen von initdb verwenden.

Ihre Protokolle scheinen unvollständig zu sein, aber der folgende Ausschnitt kann einen Hinweis geben.

socat[33] E connect(, AF=1 „/shared/postgres_run/.s.PGSQL.5432“, 36): Connection refused

Sehen Sie den folgenden Fehler auch viel weiter unten in Ihrer Protokollausgabe?

Der Quellcluster wurde nicht sauber heruntergefahren

Wenn ja, können Sie diese Anweisungen befolgen.

Keine Container laufen

Sehen Sie Fehler bei diesem ersten Schritt?

Ich habe die Methoden data.yml und web_only.yml verwendet

Sie können weiterhin die gleichen Anweisungen befolgen, aber ersetzen Sie alle Vorkommen von app oder standalone durch Daten.

Immer noch keine Verbindung hergestellt

$ ./launcher enter data
x86_64 arch detected.
root@sober-data:/# export SVWAIT=300
sv stop nginx
sv stop unicorn
sv stop postgres
exit
fail: nginx: unable to change to service directory: file does not exist
fail: unicorn: unable to change to service directory: file does not exist
ok: down: postgres: 0s, normally up
logout

Dies impliziert, dass Sie mit dem Container verbunden waren. (Stellen Sie einfach sicher, dass der web_only-Container während des Neuaufbaus des data-Containers gestoppt bleibt.)

ok: down: postgres: 0s, normally up

Dies ist die Ausgabe, die zählt. Sie bedeutet, dass postgres nun sauber heruntergefahren ist und Sie mit den nächsten Schritten fortfahren können.

 ./launcher enter  daten
x86_64-Architektur erkannt.
root@sober-data:/# sv stop postgres
ok: runter: postgres: 0s, normalerweise an
root@sober-data:/# exit
logout
root@sober:/var/discourse$ ./launcher rebuild  daten
x86_64-Architektur erkannt.
Sicherstellung, dass der Launcher auf dem neuesten Stand ist
Launcher ist auf dem neuesten Stand
Alten Container stoppen
+ /usr/bin/docker stop -t 600 data
Daten
2.0.20250129-0720: Von docker-hub-china/discourse-base ziehen
Digest: sha256:d798a945ca4d31c29e5d263cdaf807bafab9b5f6737be0b1b852bea0063a3b91
Status: Bild ist auf dem neuesten Stand für registry.cn-wulanchabu.aliyuncs.com/docker-hub-china/discourse-base:2.0.20250129-0720
registry.cn-wulanchabu.aliyuncs.com/docker-hub-china/discourse-base:2.0.20250129-0720
/usr/local/lib/ruby/gems/3.3.0/gems/pups-1.2.1/lib/pups.rb
/usr/local/bin/pups --stdin
I, [2025-02-06T06:19:20.379635 #1]  INFO -- : Lesen von stdin
I, [2025-02-06T06:19:20.380959 #1]  INFO -- : Vorhandene before_code hook übersprungen
I, [2025-02-06T06:19:20.380976 #1]  INFO -- : Vorhandene before_db_migrate hook übersprungen
I, [2025-02-06T06:19:20.380983 #1]  INFO -- : Nachfolge_code hook übersprungen
I, [2025-02-06T06:19:20.383923 #1]  INFO -- : Datei > /etc/service/postgres/run  chmod: +x  chown: 
I, [2025-02-06T06:19:20.386435 #1]  INFO -- : Datei > /etc/service/postgres/log/run  chmod: +x  chown: 
I, [2025-02-06T06:19:20.389343 #1]  INFO -- : Datei > /etc/runit/3.d/99-postgres  chmod: +x  chown: 
I, [2025-02-06T06:19:20.391719 #1]  INFO -- : Datei > /root/install_postgres  chmod: +x  chown: 
I, [2025-02-06T06:19:20.394375 #1]  INFO -- : Datei > /root/upgrade_postgres  chmod: +x  chown: 
I, [2025-02-06T06:19:20.394471 #1]  INFO -- : Ersetzen von data_directory = '/var/lib/postgresql/15/main' durch data_directory = '/shared/postgres_data' in /etc/postgresql/15/main/postgresql.conf
I, [2025-02-06T06:19:20.394742 #1]  INFO -- : Ersetzen von (?-mix:#?listen_addresses *=.*) durch listen_addresses = '*' in /etc/postgresql/15/main/postgresql.conf
I, [2025-02-06T06:19:20.394972 #1]  INFO -- : Ersetzen von (?-mix:#?synchronous_commit *=.*) durch synchronous_commit = $db_synchronous_commit in /etc/postgresql/15/main/postgresql.conf
I, [2025-02-06T06:19:20.395126 #1]  INFO -- : Ersetzen von (?-mix:#?shared_buffers *=.*) durch shared_buffers = $db_shared_buffers in /etc/postgresql/15/main/postgresql.conf
I, [2025-02-06T06:19:20.395261 #1]  INFO -- : Ersetzen von (?-mix:#?work_mem *=.*) durch work_mem = $db_work_mem in /etc/postgresql/15/main/postgresql.conf
I, [2025-02-06T06:19:20.395400 #1]  INFO -- : Ersetzen von (?-mix:#?default_text_search_config *=.*) durch default_text_search_config = '$db_default_text_search_config' in /etc/postgresql/15/main/postgresql.conf
I, [2025-02-06T06:19:20.395510 #1]  INFO -- : Ersetzen von (?-mix:#?checkpoint_segments *=.*) durch checkpoint_segments = $db_checkpoint_segments in /etc/postgresql/15/main/postgresql.conf
I, [2025-02-06T06:19:20.395622 #1]  INFO -- : Ersetzen von (?-mix:#?logging_collector *=.*) durch logging_collector = $db_logging_collector in /etc/postgresql/15/main/postgresql.conf
I, [2025-02-06T06:19:20.395723 #1]  INFO -- : Ersetzen von (?-mix:#?log_min_duration_statement *=.*) durch log_min_duration_statement = $db_log_min_duration_statement in /etc/postgresql/15/main/postgresql.conf
I, [2025-02-06T06:19:20.395845 #1]  INFO -- : Ersetzen von (?-mix:^#local +replikation +postgres +peer$) durch local replication postgres  peer in /etc/postgresql/15/main/pg_hba.conf
I, [2025-02-06T06:19:20.395930 #1]  INFO -- : Ersetzen von (?-mix:^host.*all.*all.*127.*$) durch host all all 0.0.0.0/0 md5 in /etc/postgresql/15/main/pg_hba.conf
I, [2025-02-06T06:19:20.396007 #1]  INFO -- : Ersetzen von (?-mix:^host.*all.*all.*::1\/128.*$) durch host all all ::/0 md5 in /etc/postgresql/15/main/pg_hba.conf
I, [2025-02-06T06:19:20.396096 #1]  INFO -- : > if [ -f /root/install_postgres ]; then
  /root/install_postgres f 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 e exit 1
fi

initialisiert: Warnung: Authentifizierung auf "trust" für lokale Verbindungen aktivieren
initialisiert: Hinweis: Dies kann durch Bearbeiten von pg_hba.conf oder durch Verwendung der Option -A oder --auth-local und --auth-host geändert werden, beim nächsten Ausführen von initdb.

Bleibt der Wiederaufbau an diesem Punkt stecken? Wenn ja, brechen Sie ihn ab und führen Sie stattdessen Folgendes aus und posten Sie die Ergebnisse.

./launcher start data
./launcher enter data
psql --version
apt-get update

Vielen Dank. Lassen Sie mich zum Docker‑Version und postgres.template.yml zurückkehren

./launcher rebuild data
x86_64-Architektur erkannt.
Sicherstellen, dass der Launcher aktuell ist
Launcher ist auf dem neuesten Stand
Alten Container stoppen
+ /usr/bin/docker stop -t 600 data
data
2.0.20250129-0720: Wird aus docker-hub-china/discourse-base gezogen
Digest: sha256:d798a945ca4d31c29e5d263cdaf807bafab9b5f6737be0b1b852bea0063a3b91
Status: Bild ist aktuell für registry.cn-wulanchabu.aliyuncs.com/docker-hub-china/discourse-base:2.0.20250129-0720
registry.cn-wulanchabu.aliyuncs.com/docker-hub-china/discourse-base:2.0.20250129-0720
/usr/local/lib/ruby/gems/3.3.0/gems/pups-1.2.1/lib/pups.rb
/usr/local/bin/pups --stdin
I, [2025-02-06T07:02:42.768651 #1]  INFO -- : Lese von stdin
I, [2025-02-06T07:02:42.769907 #1]  INFO -- : Vorherigen_code-Hook übersprungen, fehlt
I, [2025-02-06T07:02:42.769923 #1]  INFO -- : Datenbankmigration-Hook übersprungen, fehlt
I, [2025-02-06T07:02:42.769933 #1]  INFO -- : Nachher-code-Hook übersprungen, fehlt
I, [2025-02-06T07:02:42.772767 #1]  INFO -- : Datei > /etc/service/postgres/run  chmod: +x  chown:
I, [2025-02-06T07:02:42.775230 #1]  INFO -- : Datei > /etc/service/postgres/log/run  chmod: +x  chown:
I, [2025-02-06T07:02:42.777690 #1]  INFO -- : Datei > /etc/runit/3.d/99-postgres  chmod: +x  chown:
I, [2025-02-06T07:02:42.779645 #1]  INFO -- : Datei > /root/install_postgres  chmod: +x  chown:
I, [2025-02-06T07:02:42.781825 #1]  INFO -- : Datei > /root/upgrade_postgres  chmod: +x  chown:
I, [2025-02-06T07:02:42.781974 #1]  INFO -- : Ersetzen von data_directory = '/var/lib/postgresql/15/main' durch data_directory = '/shared/postgres_data' in /etc/postgresql/15/main/postgresql.conf
I, [2025-02-06T07:02:42.782261 #1]  INFO -- : Ersetzen von (?-mix:#?listen_addresses *=.*) durch listen_addresses = '*' in /etc/postgresql/15/main/postgresql.conf
I, [2025-02-06T07:02:42.782427 #1]  INFO -- : Ersetzen von (?-mix:#?synchronous_commit *=.*) durch synchronous_commit = $db_synchronous_commit in /etc/postgresql/15/main/postgresql.conf
I, [2025-02-06T07:02:42.782551 #1]  INFO -- : Ersetzen von (?-mix:#?shared_buffers *=.*) durch shared_buffers = $db_shared_buffers in /etc/postgresql/15/main/postgresql.conf
I, [2025-02-06T07:02:42.782661 #1]  INFO -- : Ersetzen von (?-mix:#?work_mem *=.*) durch work_mem = $db_work_mem in /etc/postgresql/15/main/postgresql.conf
I, [2025-02-06T07:02:42.782762 #1]  INFO -- : Ersetzen von (?-mix:#?default_text_search_config *=.*) durch default_text_search_config = '$db_default_text_search_config' in /etc/postgresql/15/main/postgresql.conf
I, [2025-02-06T07:02:42.782877 #1]  INFO -- : Ersetzen von (?-mix:#?checkpoint_segments *=.*) durch checkpoint_segments = $db_checkpoint_segments in /etc/postgresql/15/main/postgresql.conf
I, [2025-02-06T07:02:42.782974 #1]  INFO -- : Ersetzen von (?-mix:#?logging_collector *=.*) durch logging_collector = $db_logging_collector in /etc/postgresql/15/main/postgresql.conf
I, [2025-02-06T07:02:42.783076 #1]  INFO -- : Ersetzen von (?-mix:#?log_min_duration_statement *=.*) durch log_min_duration_statement = $db_log_min_duration_statement in /etc/postgresql/15/main/postgresql.conf
I, [2025-02-06T07:02:42.783180 #1]  INFO -- : Ersetzen von (?-mix:^#local +replikation +postgres +peer$) durch local replication postgres  peer in /etc/postgresql/15/main/pg_hba.conf
I, [2025-02-06T07:02:42.783258 #1]  INFO -- : Ersetzen von (?-mix:^host.*all.*all.*127.*$) durch host all all 0.0.0.0/0 md5 in /etc/postgresql/15/main/pg_hba.conf
I, [2025-02-06T07:02:42.783334 #1]  INFO -- : Ersetzen von (?-mix:^host.*all.*all.*::1\/128.*$) durch host all all ::/0 md5 in /etc/postgresql/15/main/pg_hba.conf
I, [2025-02-06T07:02:42.783416 #1]  INFO -- : > wenn [ -f /root/install_postgres ]; dann
  /root/install_postgres && rm -f /root/install_postgres
elif [ -e /shared/postgres_run/.s.PGSQL.5432 ]; dann
  socat /dev/null UNIX-CONNECT:/shared/postgres_run/.s.PGSQL.5432 || exit 0 && echo postgres schon läuft, Container stoppen ; exit 1
fi

initdb: Warnung: Authentifizierung mit "trust" für lokale Verbindungen aktivieren
initdb: Hinweis: Dies kann durch Bearbeiten von pg_hba.conf oder Verwendung der Option -A, oder --auth-local und --auth-host geändert werden, beim nächsten Ausführen von initdb.

2.0.20250129-0720: Ziehen aus docker-hub-china/discourse-base

Können Sie bestätigen, ob sich Ihr Server in China befindet?

Spiegel ist kein Problem, dies ist die Spiegel-China-Netzwerkbeschleunigungsmethode, ansonsten hat der Spiegel keine Netzwerkgeschwindigkeit

Ich habe Ihre Anfragen in ein neues Thema verschoben. Ich glaube, das hängt damit zusammen, dass das Update aus China ausgeführt wird.

Basierend auf Ihrer Protokollausgabe scheint der Neuaufbau bei apt-get update fehlschlagen. Ich würde empfehlen, ein VPN zu verwenden, um Ihren Server mit den apt-Repositorys zu verbinden.

Ich führe auch einen chinesischen Netzwerkbeschleunigungsprozess für apt-get update durch. Ich möchte wissen, welche Software hauptsächlich für apt-get update aktualisiert wird.

Ich möchte lieber die Grundursache wissen, warum /shared/postgres_run/.s.PGSQL.5432 keine Verbindung herstellen kann.

Können Sie das Repository von Ihrem Server aus erreichen?

curl -v https://apt.postgresql.org/pub/repos/apt/

Das Repository wird benötigt, um die alten PostgreSQL-Pakete zu installieren, die während des Updates verwendet werden.

Dies wird normalerweise verursacht, wenn die Datenbank nicht ordnungsgemäß heruntergefahren wurde. Wir hatten es früher behoben, als Sie den data-Container gestartet und gestoppt hatten. Der Fehler ist in Ihrer neuesten Protokollausgabe nicht zu sehen.

1 „Gefällt mir“

Sie meinen, die PostgreSQL-Version ist zu alt und verursacht Probleme. Dieses Upgrade kann in die Spiegelung von Discourse/base integriert werden. Ich verwende den Spiegel Discourse/base: 2.0.20250129-0720.

Gibt es ein Problem mit meinem Verständnis? Wie lautet die Versionsnummer der PostgreSQL, die korrekt funktioniert, und die Versionsnummer der PostgreSQL, die Probleme bereitet?

Oder liegt das Problem vielleicht darin, dass der von mir verwendete Spiegel zu neu ist und Probleme mit dem Datenaufbau verursacht. Ich muss die Daten mit dem Spiegel Discourse/base: 2.0.20250114-0014 erstellen, um das PostgreSQL-Upgrade zu ermöglichen.

Ich habe das Upgrade PostgreSQL15 erhalten

Vorlagen müssen sequenziell verwendet werden

postgres.13.template.yml
postgres.15.template.yml
postgres.template.yml

postgres.13.template.yml, postgres.15.template.yml Datei China-Netzwerkbeschleunigungskonfiguration

run:
  - exec: cat /etc/os-release && psql --version
  - exec: |
      if [ -f /etc/apt/sources.list ]; then
        sudo sed -i 's/deb.debian.org/mirrors.ustc.edu.cn/g' /etc/apt/sources.list
      else
        echo "deb http://mirrors.ustc.edu.cn/debian bookworm main contrib non-free non-free-firmware" | sudo tee /etc/apt/sources.list
        echo "deb http://mirrors.ustc.edu.cn/debian bookworm-updates main contrib non-free non-free-firmware" | sudo tee -a /etc/apt/sources.list
      fi
  - exec: |
      if [ -f /etc/apt/sources.list.d/debian.sources ]; then
        sudo sed -i 's/deb.debian.org/mirrors.ustc.edu.cn/g' /etc/apt/sources.list.d/debian.sources
      else
        sudo bash -c 'cat > /etc/apt/sources.list.d/debian.sources <<EOF
        URIs: http://mirrors.ustc.edu.cn/debian
        Suites: bookworm bookworm-updates
        Components: main contrib non-free non-free-firmware
        Signed-By: /usr/share/keyrings/debian-archive-keyring.gpg

        Types: deb
        URIs: http://mirrors.ustc.edu.cn/debian-security
        Suites: bookworm-security
        Components: main contrib non-free non-free-firmware
        Signed-By: /usr/share/keyrings/debian-archive-keyring.gpg
        EOF'
      fi
  - exec: cat /etc/apt/sources.list && cat /etc/apt/sources.list.d/debian.sources
2 „Gefällt mir“

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.