Atualização de postgres 13 para 15 falhando - atualmente impede a disponibilidade do fórum

Olá a todos,

Estou recebendo o erro abaixo ao tentar executar um rebuild para atualizar para a versão mais recente com testes aprovados. Isso incluiria aumentar a versão do postgres de 13 para 15.

[2025-03-12T20:49:22.045226 #1]  INFO -- : Substituindo (?-mix:^#local +replication +postgres +peer$) por local replication postgres  peer em /etc/postgresql/15/main/pg_hba.conf
I, [2025-03-12T20:49:22.045431 #1]  INFO -- : Substituindo (?-mix:^host.*all.*all.*127.*$) por host all all 0.0.0.0/0 md5 em /etc/postgresql/15/main/pg_hba.conf
I, [2025-03-12T20:49:22.045624 #1]  INFO -- : Substituindo (?-mix:^host.*all.*all.*::1\\/128.*$) por host all all ::/0 md5 em /etc/postgresql/15/main/pg_hba.conf
I, [2025-03-12T20:49:22.045816 #1]  INFO -- : > if [ -f /root/install_postgres ]; then
  /root/install_postgres && rm -f /root/install_postgres
elif [ -e /shared/postgres_run/.s.PGSQL.5432 ]; then
  socat /dev/null UNIX-CONNECT:/shared/postgres_run/.s.PGSQL.5432 || exit 0 && echo postgres already running stop container ; exit 1
fi

initdb: warning: enabling "trust" authentication for local connections
initdb: hint: You can change this by editing pg_hba.conf or using the option -A, or --auth-local and --auth-host, the next time you run initdb.
W: https://dl.yarnpkg.com/debian/dists/stable/InRelease: Key is stored in legacy trusted.gpg keyring (/etc/apt/trusted.gpg), see the DEPRECATION section in apt-key(8) for details.
debconf: delaying package configuration, since apt-utils is not installed
cp: cannot stat '/etc/postgresql/13/main/*': No such file or directory

O script fica preso neste comando de cópia.
Quando tento reiniciar o fórum, o comando de reinício é concluído com sucesso, mas o fórum está mostrando “connection refused”.

Como faço para reverter para usar meu backup no postgres 13 ou seguir em frente? Obrigado.

Até que pessoas mais inteligentes apareçam para ajudar, vá para este tópico sobre a atualização do postgres

4 curtidas

Você poderia simplesmente criar um servidor totalmente novo e importar o backup.

1 curtida

Eu quero evitar isso, se possível

2 curtidas

É a solução mais fácil.

Reinicie o contêiner antigo. Você terá seu fórum. Você pode fazer o novo servidor funcionar no seu tempo livre.

O contêiner de reinicialização não pôde ser executado porque estava em um estado intermitente entre as versões do banco de dados. Excluí a pasta postgres_data e agora estou restaurando a partir do backup.

Quais são as especificações do seu servidor? Se estiver usando Ubuntu LTS, qual versão é o seu servidor?

1 curtida

Você conseguiu restaurar o site?

Se você realmente estiver executando um sistema operacional e uma versão do Docker mais antigos, recomendo atualizar ambos antes de tentar a reconstrução novamente.

Você estava talvez atualizando um banco de dados grande? Se sim, é possível que a atualização ainda estivesse em andamento. Durante a reconstrução, você pode comparar periodicamente o tamanho dos diretórios postgres_data e postgres_data_new. Se o tamanho de postgres_data_new continuar crescendo, a atualização ainda está em andamento. (Você também pode confirmar se o comando pg_upgrade está em execução a partir da lista de processos.)


Você pode ignorar esse erro de cp por enquanto. Consegui atualizar um site de teste em uma instalação padrão, mesmo com o mesmo erro. (Foi causado por uma alteração upstream, então corrigiremos a imagem para remover o erro, mas isso não deve quebrar as atualizações do banco de dados, a menos que as configurações do postgres tenham sido significativamente modificadas antes.)

5 curtidas

Olá,

Sim, consegui restaurar o site. Estávamos de fato atualizando um grande banco de dados, mas eu estava de olho nos diretórios acima para garantir que o postgres_data_new estivesse crescendo. Depois de um tempo, ele não cresceu mais e o script ficou preso neste comando.

Nossa configuração era bastante padrão, além do grande tamanho do banco de dados. Reunirei os detalhes e os postarei ainda hoje.

1 curtida