Discourse a volte non si avvia o non si ricostruisce

All’improvviso, Discourse non vuole più avviarsi e non si ricompila nemmeno usando ./launcher rebuild app. Ho commentato anche tutti i plugin.

Ecco i log quando provo ad avviarlo: https://codefile.io/f/8XUuOqyEDd

Ecco i log quando uso ./launcher rebuild app. Vedo qualcosa riguardo a “failed listening on port 6379 (TCP) aborting” ma non ho nulla in esecuzione su quella porta!

https://codefile.io/f/zxCBRzEOA9

Non credo sia correlato al tuo problema. Questo avviso appare spesso (sempre?) durante una ricostruzione.

error: connection to server on socket \"/var/run/postgresql/.s.PGSQL.5432\" failed: Connection refused

Penso che il tuo problema derivi più probabilmente da questo.

Questo potrebbe fornire indizi:

Sarebbe questa la causa per cui non funziona quando lo eseguo (senza fare nessun ./launcher rebuild app)?

Ho interrotto tutti gli altri servizi sul mio server e aggiornato all’ultima versione LTS di Ubuntu e ancora visualizzo questo:

PG::ConnectionBad: connessione al server sul socket "/var/run/postgresql/.s.PGSQL.5432" fallita: Connessione rifiutata (PG::ConnectionBad)
        Il server è in esecuzione localmente e accetta connessioni su quel socket?

questa è quella che penserei essere l’errore.

Lo scambio di template con 13 e persino 15 non ha risolto il problema, che è ciò che è stato mostrato nel post di riferimento.

Causato da:
PG::ConnectionBad: la connessione al server sul socket “/var/run/postgresql/.s.PGSQL.5432” non è riuscita: File o directory non esistente (PG::ConnectionBad)
Il server è in esecuzione localmente e accetta connessioni su quel socket?

timeout: down: postgres: 1s, normally up, want up

Sembra che il database non si stia avviando correttamente. I log mostrano che occasionalmente si avvia correttamente, ma solo per un breve periodo, quindi potrebbe essere un depistaggio.

ok: run: postgres: (pid 315501) 0s

I log di postgres potrebbero fornire un indizio del problema, specialmente quando si tenta di avviare il container dell’app.

tail -f shared/standalone/log/var-log/postgres/current
2 Mi Piace

Hai eseguito l’aggiornamento a PostgreSQL 15

Anch’io penso che si tratti di uno spegnimento non pulito. Se hai un backup, quello che farei è avviare una nuova VM e ripristinarlo. Puoi seguire Spostare un sito Discourse su un altro VPS con rsync ed escludere postgres_*.

L’alternativa, che è la tua unica opzione se non hai un backup, sarà quella di capire un sacco di cose su postgres che non vuoi imparare.

Come posso accedere ai miei backup se il mio forum è inattivo (nel senso che non riesco ad andare nelle impostazioni di amministrazione e scaricare un backup)?

Non ho nemmeno provato a migrare nulla, l’ho usato normalmente e aggiornato tramite l’interfaccia web. Perché il database potrebbe aver avuto uno shutdown non pulito?

Fornirò i log di Postgres, un secondo

2025-03-22 00:30:44.110 UTC [4922] FATAL: il file di blocco "postmaster.pid" è vuoto
2025-03-22 00:30:44.110 UTC [4922] HINT: Un altro server è in fase di avvio o il file di blocco è il residuo di un precedente arresto anomalo dell’avvio del server.
2025-03-22 00:30:45.127 UTC [4964] FATAL: il file di blocco "postmaster.pid" è vuoto
2025-03-22 00:30:45.127 UTC [4964] HINT: Un altro server è in fase di avvio o il file di blocco è il residuo di un precedente arresto anomalo dell’avvio del server.
2025-03-22 00:30:46.151 UTC [4966] FATAL: il file di blocco "postmaster.pid" è vuoto
2025-03-22 00:30:46.151 UTC [4966] HINT: Un altro server è in fase di avvio o il file di blocco è il residuo di un precedente arresto anomalo dell’avvio del server.
2025-03-22 00:30:47.168 UTC [4970] FATAL: il file di blocco "postmaster.pid" è vuoto
2025-03-22 00:30:47.168 UTC [4970] HINT: Un altro server è in fase di avvio o il file di blocco è il residuo di un precedente arresto anomalo dell’avvio del server.
2025-03-22 00:30:48.192 UTC [4977] FATAL: il file di blocco "postmaster.pid" è vuoto
2025-03-22 00:30:48.192 UTC [4977] HINT: Un altro server è in fase di avvio o il file di blocco è il residuo di un precedente arresto anomalo dell’avvio del server.

-rw------- 1 syslog kvm 0 Mar 18 19:48 /var/discourse/shared/standalone/postgres_data/postmaster.pid

Questo è dove si trova il mio lockfile

Si trovano in /var/discourse/shared/standalone/backups/default

Se segui le istruzioni rsync che ho collegato in precedenza, li otterrai.

È crashato o il server si è riavviato o qualcosa è successo.

Il database viene “migrato” da un set di tabelle (le tabelle vengono aggiunte e modificate) a un altro nella maggior parte degli aggiornamenti.

Potresti provare a fermare il container ed eliminare quel file di blocco

E guarda in PG_VERSION per vedere quale versione hai, dato che penso tu abbia provato a cambiare il template.

Sì, ho provato a cambiare dopo aver visto l’errore.

Quindi, dovrei fare rm /var/discourse/shared/standalone/postgres_data/postmaster.pid? per eliminare il lockfile e poi provare a ricostruire?

Grazie anche per l’aiuto.

1 Mi Piace

Eseguirei questo comando per eliminare il lockfile?

rm /var/discourse/shared/standalone/postgres_data/postmaster.pid era la soluzione, grazie!

4 Mi Piace

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