Hier sind weitere Informationen. Im gunicorn stderr sehe ich:
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/activerecord-7.0.7/lib/active_record/connection_adapters/postgresql_adapter.rb:87:in `rescue in new_client': connection to server on socket \"/var/run/postgresql/.s.PGSQL.5432\" failed: No such file or directory (ActiveRecord::ConnectionNotEstablished)
Is the server running locally and accepting connections on that socket?
Im PG-Log sehe ich:
2023-08-21 19:24:00.721 UTC [1681] LOG: listening on Unix socket \"/var/run/postgresql/.s.PGSQL.5432\"
2023-08-21 19:24:00.728 UTC [1681] LOG: could not open configuration file \"/etc/postgresql/13/main/pg_hba.conf\": Permission denied
2023-08-21 19:24:00.728 UTC [1681] FATAL: could not load pg_hba.conf
2023-08-21 19:24:00.741 UTC [1681] LOG: database system is shut down
weiter:
# ls -l /etc/postgresql/13/main/pg_hba.conf
-rw-r----- 1 root root 4846 Aug 21 19:05 /etc/postgresql/13/main/pg_hba.conf
Unter welchem Benutzer läuft PostgreSQL im Container? Mit den obigen Berechtigungen muss es root oder jemand in der Gruppe root sein.
Ok, ich habe chmod o+r /etc/postgresql/13/main/pg_hba.conf ausgeführt und jetzt ist der Container wieder hochgefahren.
Das ist alles etwas beunruhigend – warum funktioniert die empfohlene Installationsmethode nicht sofort? Mein Plugin-Status enthält derzeit die oben aufgeführten, außer Data Explorer, das ich deaktiviert habe, da es beim letzten Mal den Fehler verursacht hatte.
Querverweis auf
der ähnliche Symptome meldet.
Update: Ich habe den git-Befehl im cmd-Abschnitt der app.yml-Datei geändert, um sudo zu verwenden, wie im verlinkten Beitrag beschrieben.
Ich erkläre diesen Fehler für intermittent. Bei 3 Versuchen (zwischen denen ich das shared-Verzeichnis vollständig gelöscht habe) war es einmal erfolgreich und zweimal fehlgeschlagen. Wenn es fehlschlägt, führte die manuelle Korrektur der drei betroffenen Berechtigungen und der anschließende Neustart des Containers zu einem scheinbar funktionierenden System. Bessere Protokollierung und bessere Selbsttests wären schön, um fehlgeschlagene Container-Bootstraps zu erkennen.