AndersonArruda

Artigos de tecnologia ao alcance de um clique!


Nova versão do PostgreSQL e agora?
migrar migrar postgresql dumpall debian linux nova versão

Nova versão do PostgreSQL e agora?

09/05/2022 11:13

Migrando PostgreSQL versão 13 para 14.

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:

  • listen_address
  • port
  • max_connections
  • shared_buffers
  • super_user_reserved_connections
  • tcp_keep_alive
  • tcp_keepalives_interval
  • effective_cache_size
  • min_wal_size
  • max_wal_size
  • checkpoint_complete_target
  • wal_buffers
  • default_statistics_target
  • random_page_cost
  • work_mem
  • maintenance_work_mem
  • autovacuum_work_men
  • dynamic_shared_memory_type
  • log_timezone
  • datestyle
  • lc_messages
  • lc_monetary
  • lc_numeric
  • lc_time
  • default_text_search_config

"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


Realizando a transferência do pg antigo para o pg novo

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!

Espaço para publicidade
0 Comentário(s)
Seja o primeiro a comentar o nosso artigo!
Todos os direitos reservados. © 2021-2031
SBBlog Powered By Powered By Sysborg | Powered By Anderson Arruda