Discourse às vezes não inicia ou não reconstrói

De repente, o Discourse não quer mais rodar e nem está reconstruindo usando ./launcher rebuild app. Eu comentei todos os plugins também.

Aqui estão os logs quando tento iniciá-lo: https://codefile.io/f/8XUuOqyEDd

Aqui estão os logs quando uso ./launcher rebuild app. Vejo algo sobre “falha ao escutar na porta 6379 (TCP) abortando”, mas não tenho nada rodando nessa porta!

https://codefile.io/f/zxCBRzEOA9

Eu não acho que esteja relacionado ao seu problema. Este aviso frequentemente (sempre?) aparece durante uma reconstrução.

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

Eu acho que seu problema provavelmente vem disso.

Isso pode dar pistas:

Seria isso o que está causando o problema quando eu executo (sem fazer nenhum ./launcher rebuild app)?

Eu parei todos os outros serviços no meu servidor e atualizei para a última versão LTS do Ubuntu e ainda assim mostra isto:

PG::ConnectionBad: falha na conexão com o servidor no socket "/var/run/postgresql/.s.PGSQL.5432" falhou: Conexão recusada (PG::ConnectionBad)
        O servidor está rodando localmente e aceitando conexões nesse socket?

que é o que eu pensaria que seja o erro.

A troca de templates por 13 e até 15 não resolveu o problema, que foi o que foi mostrado na postagem referenciada.

Causado por:
PG::ConnectionBad: a conexão com o servidor no socket “/var/run/postgresql/.s.PGSQL.5432” falhou: Nenhum arquivo ou diretório encontrado (PG::ConnectionBad)
O servidor está em execução localmente e aceitando conexões nesse socket?

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

Parece que o banco de dados não está iniciando corretamente. Os logs mostram que ele ocasionalmente inicia corretamente, mas apenas por um curto período, então isso pode ser uma pista falsa.

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

Os logs do postgres podem ter alguma pista do problema, especialmente ao tentar iniciar o contêiner do aplicativo.

tail -f shared/standalone/log/var-log/postgres/current
2 curtidas

Você fez a atualização do PostgreSQL 15

Eu também acho que é sobre um desligamento incorreto. Se você tiver um backup, o que eu faria seria iniciar uma nova VM e restaurá-lo. Você pode seguir Mover um site Discourse para outro VPS com rsync e excluir postgres_*.

A alternativa, que é sua única opção se você não tiver um backup, será descobrir um monte de coisas sobre o postgres que você não quer aprender.

Como posso acessar meus backups se o meu fórum estiver fora do ar (ou seja, não posso acessar as configurações de administração e fazer o download de um backup)?

Também não tentei migrar nada, tenho usado normalmente e atualizado via interface web. Por que o banco de dados teria sido encerrado de forma não limpa?

Eu fornecerei os logs do Postgres, um segundo

2025-03-22 00:30:44.110 UTC [4922] FATAL: o arquivo de bloqueio "postmaster.pid" está vazio
2025-03-22 00:30:44.110 UTC [4922] HINT: Ou outro servidor está iniciando, ou o arquivo de bloqueio é um remanescente de uma falha anterior na inicialização do servidor.
2025-03-22 00:30:45.127 UTC [4964] FATAL: o arquivo de bloqueio "postmaster.pid" está vazio
2025-03-22 00:30:45.127 UTC [4964] HINT: Ou outro servidor está iniciando, ou o arquivo de bloqueio é um remanescente de uma falha anterior na inicialização do servidor.
2025-03-22 00:30:46.151 UTC [4966] FATAL: o arquivo de bloqueio "postmaster.pid" está vazio
2025-03-22 00:30:46.151 UTC [4966] HINT: Ou outro servidor está iniciando, ou o arquivo de bloqueio é um remanescente de uma falha anterior na inicialização do servidor.
2025-03-22 00:30:47.168 UTC [4970] FATAL: o arquivo de bloqueio "postmaster.pid" está vazio
2025-03-22 00:30:47.168 UTC [4970] HINT: Ou outro servidor está iniciando, ou o arquivo de bloqueio é um remanescente de uma falha anterior na inicialização do servidor.
2025-03-22 00:30:48.192 UTC [4977] FATAL: o arquivo de bloqueio "postmaster.pid" está vazio
2025-03-22 00:30:48.192 UTC [4977] HINT: Ou outro servidor está iniciando, ou o arquivo de bloqueio é um remanescente de uma falha anterior na inicialização do servidor.

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

É aqui que está meu lockfile

Eles estão em /var/discourse/shared/standalone/backups/default

Se você seguir as instruções do rsync que linkei anteriormente, você os obterá.

Ele travou ou o servidor reiniciou ou algo aconteceu.

O banco de dados é “migrado” de um conjunto de tabelas (tabelas são adicionadas e alteradas) para outro na maioria das atualizações.

Você pode tentar parar o contêiner e excluir esse arquivo de bloqueio

E olhe em PG_VERSION para ver qual versão você tem, já que acho que você tentou alterar o template.

Sim, eu tentei mudar depois que vi o erro.

Então, eu faria rm /var/discourse/shared/standalone/postgres_data/postmaster.pid? para excluir o lockfile e depois tentar reconstruir.

Obrigado também por me ajudar com isso.

1 curtida

Eu faria este comando para excluir o lockfile?

rm /var/discourse/shared/standalone/postgres_data/postmaster.pid foi a solução, obrigado!

4 curtidas

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