Ich versuche, Discourse in meiner lokalen Entwicklungsumgebung mit nur einem kleinen Unterschied einzurichten: Ich betreibe Postgres in Docker.
Die Datenbank ist über psql vom Betriebssystem aus zugänglich, aber als ich versuchte, die Datenbank mit Rake oder Rails zu erstellen, funktionierte es nicht. Ich habe diese Schritte befolgt:
Verbindung zum Server auf dem Socket „/var/run/postgresql/.s.PGSQL.5432“ fehlgeschlagen: Datei oder Verzeichnis nicht gefunden
Läuft der Server lokal und akzeptiert Verbindungen über diesen Socket?
„discourse_development“-Datenbank konnte nicht erstellt werden. Bitte überprüfen Sie Ihre Konfiguration.
rails abgebrochen!
ActiveRecord::NoDatabaseError: Verbindung zum Server auf dem Socket „/var/run/postgresql/.s.PGSQL.5432“ fehlgeschlagen: Datei oder Verzeichnis nicht gefunden
Läuft der Server lokal und akzeptiert Verbindungen über diesen Socket?
Verursacht durch:
PG::ConnectionBad: Verbindung zum Server auf dem Socket „/var/run/postgresql/.s.PGSQL.5432“ fehlgeschlagen: Datei oder Verzeichnis nicht gefunden
Läuft der Server lokal und akzeptiert Verbindungen über diesen Socket?
Aufgaben: TOP => db:create
(Vollständige Spur durch Ausführen der Aufgabe mit --trace anzeigen)
Ich bin mir nicht sicher, aber ich glaube, das Problem ist wahrscheinlich, dass Discourse in einem Docker-Container läuft und daher standardmäßig nicht auf Ihren separaten Postgres-Container zugreifen kann.
Discourse läuft nicht in einem Docker-Container, sondern in meinem Betriebssystem. Postgres läuft in einem Container und ich habe seinen Port für das Betriebssystem freigegeben -p 5432:5432.
Verbindung zum Server auf Socket "/var/run/postgresql/.s.PGSQL.5432" fehlgeschlagen: Datei oder Verzeichnis nicht gefunden
Ist der Server lokal ausgeführt und akzeptiert Verbindungen über diesen Socket?
'discourse_development'-Datenbank konnte nicht erstellt werden. Bitte überprüfen Sie Ihre Konfiguration.
rails abgebrochen!
ActiveRecord::NoDatabaseError: Verbindung zum Server auf Socket "/var/run/postgresql/.s.PGSQL.5432" fehlgeschlagen: Datei oder Verzeichnis nicht gefunden
Ist der Server lokal ausgeführt und akzeptiert Verbindungen über diesen Socket?
Verursacht durch:
PG::ConnectionBad: Verbindung zum Server auf Socket "/var/run/postgresql/.s.PGSQL.5432" fehlgeschlagen: Datei oder Verzeichnis nicht gefunden
Ist der Server lokal ausgeführt und akzeptiert Verbindungen über diesen Socket?
Aufgaben: TOP => db:create
(Vollständige Spur anzeigen, indem die Aufgabe mit --trace ausgeführt wird)
Nein, das bedeutet nur, dass der Standard-socket Vorrang vor der port-Deklaration hat. Eine Möglichkeit, dies zu umgehen, ist die Verwendung des url-Schlüssels, aber Sie können den Rails-Code überprüfen, um andere Wege zu sehen.