Eu fiz login. Não atualizo há 11 meses. Comecei tentando atualizar o Docker Manager. Ele nunca pareceu concluir. No dia seguinte, a página de administração ficou praticamente quebrada. Tentei executar ./launcher rebuild app. Recebo o seguinte:
2025-10-30 20:04:52.144 UTC [1892] discourse@c_discourse ERROR: must be owner of extension vector
2025-10-30 20:04:52.144 UTC [1892] discourse@c_discourse STATEMENT: ALTER EXTENSION vector UPDATE TO ‘0.7.0’;
Mas o banco de dados está parado, então as correções que vi não funcionam.
2025-10-31 00:27:40.021 UTC [662] FATAL: database files are incompatible with server
2025-10-31 00:27:40.021 UTC [662] DETAIL: The data directory was initialized by PostgreSQL version 15, which is not compatible with this version 13.16 (Debian 13.16-1.pgdg120+1).
Obrigado. É muita coisa para realmente entender tudo, mas nada parece ser o meu problema. O banco de dados parece rodar durante o processo de reconstrução, que é a parte estranha. Pelo menos pelo que consigo ver nas coisas que rolam.
Isso geralmente nunca vai funcionar depois de 11 meses.
Você definitivamente precisa fazer a atualização do postgres 15, e isso faz parte do problema. É possível que isso possa mudar para o postgres 13 e fazer as coisas funcionarem novamente antes de fazer a atualização.
Não, se o multisite ainda for considerado não suportado.
O problema parece ser que, quando instalei, não havia usuário/senha conectados aos bancos de dados individuais. Isso parece ter mudado. É aí que reside o problema. Tentei mexer um pouco nisso adicionando um usuário e depois um usuário com senha em branco, mas isso não ajudou.
Minha configuração versus a nova configuração de exemplo:
A extensão Pgvector está desatualizada ou não está configurada em um de seus bancos de dados. Encontrei isso em algumas instalações há alguns meses. É muito simples de resolver, você só precisa atualizá-la.
entre no contêiner do banco de dados, psql como discourse (ou qualquer que seja o proprietário do seu banco de dados) e, em seguida, escolha cada banco de dados e execute
Parece que o proprietário da extensão para o banco de dados c_discourse não é o usuário discourse - você precisará verificar quem é o proprietário, por exemplo:
Alguma ajuda sobre como iniciar o banco de dados para fazer isso? Esse é realmente o ponto crucial.
EDIT: Os únicos arquivos postgres que encontro são da versão /13. Então, estou meio que em um limbo. Parece que o programa do banco de dados foi atualizado, mas os arquivos do banco de dados não. Fiz algumas pesquisas, mas nada com que me sinta confortável, a não ser tentar copiar os arquivos e mexer neles.
2025-10-31 00:27:40.021 UTC [662] FATAL: arquivos do banco de dados são incompatíveis com o servidor 2025-10-31 00:27:40.021 UTC [662] DETAIL: O diretório de dados foi inicializado pela versão 15 do PostgreSQL, que não é compatível com esta versão 13.16 (Debian 13.16-1.pgdg120+1).
Você deve conseguir editar o app.yml e usar o template do postgres 13 e reconstruir, como descrito no tópico Atualização do PostgreSQL 15.
Em seguida, você pode reconstruir. Em seguida, você pode iniciar o contêiner. Em seguida, você pode entrar no contêiner. Em seguida, você pode fazer as coisas do pgvectkr.
Bem, isso removeu 15 e instalou 13, mas estranhamente, o mesmo erro. Ele abortou muito mais perto do início do processo.
2025-11-01 15:30:26.522 UTC [2547] FATAL: arquivos de banco de dados são incompatíveis com o servidor 2025-11-01 15:30:26.522 UTC [2547] DETAIL: O diretório de dados foi inicializado pela versão 15 do PostgreSQL, que não é compatível com esta versio n 13.22 (Debian 13.22-1.pgdg12+1).
Este é o ponto de falha: 2025-11-01 15:30:26.522 UTC [2547] FATAL: arquivos de banco de dados são incompatíveis com o servidor 2025-11-01 15:30:26.522 UTC [2547] DETAIL: O diretório de dados foi inicializado pela versão 15 do PostgreSQL, que não é compatível com esta versio n 13.22 (Debian 13.22-1.pgdg12+1).
Eu tentei o template 13. O problema é que o banco de dados já foi alterado pelo 15, mas a migração dos 2 sites adicionados com múltiplos sites foi de alguma forma adicionada com um usuário que parece não ser reconhecido pelo instalador. Como eu disse acima, não houve requisito para uma combinação de usuário/senha quando adicionei estes inicialmente, então não sei exatamente como eles foram adicionados ao banco de dados.
Existe algum valor que eu possa adicionar às opções de usuário/senha que as satisfaça? Lembre-se, eu não os adicionei, então o que o script inicial colocou neles se não for o postgres, que parece ser o usuário padrão indicado pela saída que vejo.
Seria possível apenas comentar os dois sites adicionados para colocar o banco de dados em funcionamento e ENTÃO talvez usar algum método de importação que está sendo usado agora?
O banco de dados sempre foi meu ponto fraco. Parece que isso está estruturado de forma diferente do que eu pensava, que era que todas essas coisas estavam em /var/lib/posgresql sob um daqueles diretórios estranhos e opacos numerados.
Agradeço toda a ajuda. Existem alguns fóruns onde sou eu quem balança a cabeça para alguns dos usuários.
Se você estiver criando uma versão do Discourse que inclua plugins agrupados, a compilação falhará com a extensão pgvector ausente, independentemente da versão do postgres em que você esteja. Se você estiver em uma versão mais antiga do postgres, terá ainda mais problemas do que os que você já tinha.
Espero que você tenha feito um backup antes desta jornada de atualização.
Eu sugiro configurar uma nova instância do Discourse em outro lugar e restaurar seu backup. Essa é a única maneira confiável de sair dessa situação.
Você também pode fazer isso manualmente, mas será muito mais trabalho e não garantirá resultados.
Uma nova versão foi lançada ontem à noite? Acho que vi alguns git pulls. De qualquer forma, usar o template 13 e mover os dados funcionou. Mais ou menos.
O banco de dados parece ter migrado bem. Não consigo encontrar o ‘grant error’ nas páginas e páginas de saída. Isso não significa que não esteja lá. Talvez eu precise executar o discourse_doctor para ter uma saída salva que eu possa pesquisar por erros. O banco de dados está funcionando. Agora tenho um erro de página em vez de um bad gateway no meu navegador. Colocarei o restante da saída aqui para completar, mas, se eu não encontrar o mesmo grant error listado anteriormente, iniciarei um novo tópico.
Obrigado a todos que ajudaram até agora. No mínimo, agora consigo acessar o banco de dados. Um grande obrigado a todos que me ajudaram a chegar até aqui.
I, [2025-11-02T15:17:02.281908 #1] INFO -- : Terminating async processes I, [2025-11-02T15:17:02.282204 #1] INFO -- : Sending INT to HOME=/var/lib/postgresql USER=postgres exec chpst -u postgres:postgres:ssl-cert -U p ostgres:postgres:ssl-cert /usr/lib/postgresql/13/bin/postmaster -D /etc/postgresql/13/main pid: 2547 I, [2025-11-02T15:17:02.282450 #1] INFO -- : Sending TERM to exec chpst -u redis -U redis /usr/bin/redis-server /etc/redis/redis.conf pid: 2644 2025-11-02 15:17:02.289 UTC [2547] LOG: received fast shutdown request 2644:signal-handler (1762096622) Received SIGTERM scheduling shutdown... 2644:M 02 Nov 2025 15:17:02.299 # User requested shutdown... 2644:M 02 Nov 2025 15:17:02.299 * Saving the final RDB snapshot before exiting. 2025-11-02 15:17:02.384 UTC [2547] LOG: aborting any active transactions 2025-11-02 15:17:02.391 UTC [2547] LOG: background worker \"logical replication launcher\" (PID 2562) exited with exit code 1 2025-11-02 15:17:02.452 UTC [2557] LOG: shutting down 2644:M 02 Nov 2025 15:17:02.549 * DB saved on disk 2644:M 02 Nov 2025 15:17:02.549 # Redis is now ready to exit, bye bye... 2025-11-02 15:17:06.304 UTC [2547] LOG: database system is shut down
FAILED -------------------- Pups::ExecError: cd /var/www/discourse && sudo -E -u discourse bundle exec rake multisite:migrate failed with return #<Process::Status: pid 4308 exit 1> Location of failure: /usr/local/lib/ruby/gems/3.3.0/gems/pups-1.3.0/lib/pups/exec_command.rb:131:in `spawn' exec failed with the params \"cd /var/www/discourse && sudo -E -u discourse bundle exec rake multisite:migrate\" bootstrap failed with exit code 1 ** FAILED TO BOOTSTRAP ** please scroll up and look for earlier error messages, there may be more than one. ./discourse-doctor may help diagnose the problem.
EDIT: Encontrei isso nos logs. Não vou fazer nada até executar o doctor e procurar por erros. 2025-11-02 16:10:09.680 UTC [6244] postgres@c_discourse LOG: provided user name (postgres) and authenticated user name (discourse) do not match 2025-11-02 16:10:09.680 UTC [6244] postgres@c_discourse FATAL: Peer authentication failed for user "postgres" 2025-11-02 16:10:09.680 UTC [6244] postgres@c_discourse DETAIL: Connection matched pg_hba.conf line 89: "local all postgres peer"
Para encerrar este tópico, executei o doctor e encontrei o erro alter. Como o banco de dados estava em execução, executei o comando alter nos bancos de dados envolvidos no multisite, executei o build novamente e eles agora foram migrados. O acesso do usuário ao banco de dados persiste, mas iniciarei outro tópico para isso.
Novamente, obrigado a todos por me trazerem até este ponto.