Feito em Linux Debian Buster "Debian 10"
Importante ressaltar que deve se atentar nas migrações, não sendo possível migrar dessa forma da versão 12 pro 14 diretamente,
primeiro deve migrar para versão 13 e consecutivamente para a versão 14.
Verificar todos os pacotes instalados na versão anterior do PostgreSQL
Utilize o comando:
dpkg -l | grep postgresql
para listar os pacotes.
Com os pacotes listados como na imagem acima podemos então instalar todos os pacotes necessários. "O print foi da versão onde ensinava migrar do 11 pro 12"
Nesse caso:
apt install postgresql-14 postgresql-client-14 postgresql-plpython3-14
"O print foi da versão onde ensinava migrar do 11 pro 12"
Após a instalação vamos configurar o PostgreSQL.
PG_HBA.CONF
Vamos modificar o pg_hba.conf na instalação padrão sem mudar a pasta fica em /etc/postgresql/13/main/pg_hba.conf da versão antiga e /etc/postgresql/14/main/pg_hba.conf na nova versão.
Desabilite todas as opções que permitem acesso externo no PostgreSQL para evitar qualquer conexão externa no meio da migração dos dados. Utilize # antes da linha pra comentar, deixe somente linhas com localhost ou 127.0.0.1 .
Após a conclusão da migração deve descomentar as linhas do pg_hba.conf relembrarei no final desse tutorial.
POSTGRESQL.CONF
Utilizo o comando diff para verificar a diferença entre os arquivos e levantar as configurações que interessam em exportar para a nova versão.
diff -iEwbBay /etc/postgresql/13/main/postgresql.conf /etc/postgresql/14/main/postgresql.conf
No meu caso vou alterar somente esses dados:
"O print foi da versão onde ensinava migrar do 11 pro 12"
O novo postgres eu já deixo na porta certa e o antigo eu coloco em outra porta para poder exportar os dados.
Reinicie o serviço do PostgreSQL.
sudo systemctl restart postgresql
No terminal do Linux digite os seguintes comandos:
su postgres
pg_dumpall -p 5433 | psql -d postgres -p 5432
su postgres faz login ao usuário postgres que é o super usuário do SGDB PostgreSQL.
pg_dumpall - faz o dump "backup" de todo o servidor rodando na porta 5433.
psql -d postgres -p 5432 recebe os dados que estão recebendo o dump e vai fazendo o restore simultaneamente.
Como já deixamos o novo na porta correta utilizamos o comando acima dessa forma.
Após finalizar faça algumas verificações simples, escolha algumas tabelas aleatórias, verifique a quantidade de linhas.
Verifique também os usuários do PostgreSQL se tudo foi criado corretamente você já migrou de versão.
Caso não queira manter a versão anterior do PostgreSQL rode o seguinte comando.
apt purge postgresql-13 postgresql-client-13 postgresql-plpython3-13
Caso precise verifique os pacotes instalados com o comando citado no começo desse tutorial.
Fontes utilizadas:
https://www.postgresql.org/docs/11/upgrading.html#UPGRADING-VIA-PG-UPGRADE
Desde já agradeço a todos!
Por favor deixem suas opniões, sugestões dos próximos tutoriais.
Até mais!
Seja o primeiro a comentar o nosso artigo!