Impossibile connettersi a PostgreSQL nonostante la configurazione

Ciao a tutti. Ho un’installazione fresca di 2.4.5, non un aggiornamento. Quando provo ad eseguire qualsiasi comando Rake che interagisce con il database, ottengo questo errore:

rake aborted!
PG::ConnectionBad: could not connect to server: No such file or directory
        Is the server running locally and accepting
        connections on Unix domain socket "/var/run/postgresql/.s.PGSQL.5432"?

Cercando su Google, sembra che questo significhi più spesso che PostgreSQL stesso si è bloccato e deve essere riavviato. Tuttavia, non è questo il caso qui; PostgreSQL è in esecuzione in un contenitore separato e riesco a connettermi ad esso manualmente tramite la rete senza problemi.

Da notare che sta cercando di connettersi tramite un socket locale. Tuttavia, config/discourse.conf elenca specificamente un’istanza di PostgreSQL a cui connettersi tramite host e porta, con nome utente e password. (Le stesse credenziali che uso per connettermi manualmente.)

Questo mi fa pensare che… discourse.conf non venga affatto letto? Quindi sta tornando a una connessione localhost tramite socket unix, che ovviamente non funziona perché non esiste un database locale? È la mia migliore ipotesi, ma non so se sia corretta o come risolverlo se lo fosse.

Qualcuno può indicarmi la strada giusta?

Perché stai esaminando questo file? Si tratta di un’installazione di produzione che utilizza l’installazione standard ufficiale di Discourse?

Se hai eseguito un’installazione standard, hai incluso web.socketed.template.yml per qualche motivo?

No, questo non è un ambiente Docker. (Host diverso.) Si tratta di un clone git del tag, con alcune modifiche come l’aggiunta delle credenziali del database e l’impostazione di force_https a true.

@pfaffman Non è stato trovato alcun file web.socketed.template.yml.

La cosa confusa è che prima funzionava, o almeno questa parte. Poi l’ho spostato in una sottodirectory (e ho aggiornato la configurazione del server web per puntare ad essa) e ora non riesce a comunicare con il database. Non capisco come l’una cosa influenzi l’altra.

(Teoricamente, questo è un processo di build per un altro host che non utilizza Docker. Sto cercando di impostare un template di installazione in un clic per Discourse, e si sta… dimostrando difficile.)

Esatto. Richiederà un sacco di conoscenze specifiche su Discourse che probabilmente non hai, e un sacco di conoscenze specifiche sul tuo ambiente locale che nessuno qui possiede. Buona fortuna.

Sto taggando unsupported-install.

Sì, purtroppo c’è un limite a ciò che possiamo supportare qui, per la nostra stessa sanità mentale come organizzazione, e questa sembra davvero un’installazione complessa.