Sto cercando di configurare Discourse nel mio ambiente di sviluppo locale con una piccola differenza: sto eseguendo Postgres in Docker.
Il database è accessibile tramite psql dal sistema operativo, ma quando ho provato a creare il database usando rake o rails, non ha funzionato. Ho seguito questi passaggi:
connection to server on socket "/var/run/postgresql/.s.PGSQL.5432" failed: No such file or directory
Is the server running locally and accepting connections on that socket?
Couldn't create 'discourse_development' database. Please check your configuration.
rails aborted!
ActiveRecord::NoDatabaseError: connection to server on socket "/var/run/postgresql/.s.PGSQL.5432" failed: No such file or directory
Is the server running locally and accepting connections on that socket?
Caused by:
PG::ConnectionBad: connection to server on socket "/var/run/postgresql/.s.PGSQL.5432" failed: No such file or directory
Is the server running locally and accepting connections on that socket?
Tasks: TOP => db:create
(See full trace by running task with --trace)
Non sono sicuro, ma penso che il problema sia probabilmente che discourse è in esecuzione all’interno di un container docker e quindi non può accedere per impostazione predefinita al tuo container postgres separato.
Discourse non è in esecuzione all’interno di un container Docker, è in esecuzione nel mio sistema operativo. Postgres è in esecuzione all’interno di un container e ho esposto la sua porta al sistema operativo -p 5432:5432.
Ciao @Falco
grazie per la tua risposta.
La stessa cosa
connessione al server su socket "/var/run/postgresql/.s.PGSQL.5432" fallita: File o directory non esistente
Il server è in esecuzione localmente e accetta connessioni su quel socket?
Impossibile creare il database 'discourse_development'. Controlla la tua configurazione.
rails aborted!
ActiveRecord::NoDatabaseError: connessione al server su socket "/var/run/postgresql/.s.PGSQL.5432" fallita: File o directory non esistente
Il server è in esecuzione localmente e accetta connessioni su quel socket?
Causato da:
PG::ConnectionBad: connessione al server su socket "/var/run/postgresql/.s.PGSQL.5432" fallita: File o directory non esistente
Il server è in esecuzione localmente e accetta connessioni su quel socket?
Tasks: TOP => db:create
(Vedi la traccia completa eseguendo il task con --trace)
No, significa solo che il socket predefinito ha la priorità sulla dichiarazione della port. Un modo per aggirare questo problema è usare la chiave url, ma puoi controllare il codice di Rails per vedere altri modi.