Eu repliquei um banco de dados, está funcionando bem, mas quando entro no banco de dados de replicação ele exibe a seguinte mensagem:
O banco de dados foi criado usando o agrupamento versão 2.31, mas o sistema operacional fornece a versão 2.35.
Recrie todos os objetos neste banco de dados que usam o agrupamento padrão e execute ALTER DATABASE template1 REFRESH COLLATION VERSION ou crie o PostgreSQL com a versão correta da biblioteca.
O PgPool também não está funcionando com esse banco de dados de replicação, só funciona quando eu removo.
Pgpool dá o seguinte erro ao tentar fazer o login:
child pid 5286: ERROR: unable to read message kind
child pid 5286: DETAIL: kind does not match between main(53) slot[1] (4e)
A mesma mensagem também aparece nos logs do postgresql.
Como reconstruir meu banco de dados?
resolvi o problema da seguinte forma
Não precisei reconstruir meu banco de dados, não sei se isso pode causar algum problema no futuro.
Antes de executar as etapas aqui, faça um backup do seu banco de dados.
Meu banco de dados mestre foi criado há cerca de 3 meses, meu banco de dados de replicação foi criado recentemente, isso significa que mesmo os dois servidores sendo ubuntu 22.04 sua versão LTS são diferentes e não é resolvido por um simples
apt upgrade
As versões de agrupamento dos meus sistemas são diferentes e para atualizar o agrupamento mestre, tenho que atualizar a versão LTS do ubuntu
Eu usei o seguinte comando para atualizar o ubuntu master
Depois disso usei o seguinte comando que peguei do próprio log de erros
Atualização por @laurenz-albe
O índice deve ser atualizado depois disso para evitar corromper o banco de dados executando REINDEX