No tutorial de hoje vamos ensinar como atualizar seu Postgres para a versão mais atual.
Precisando de ajuda para gerenciar seu Banco de Dados PostgreSQL ou se servidor? Entre em contato conosco, temos o prazer em ajudar. Acesse soloweb.com.br
Passo 1
Realize a instalação do Postgres mais atual, para isso será necessário antes atualizar os pacotes:
obs.: Antes de qualquer modificação sempre é bom realizar os backups das bases de dados:
su postgres -c "pg_dump -F tar -d basededados > basededados.backup"
Continuemos com o procedimento de atualização:
$ apt-get update
$ apt-get upgrade
Agora realize a instalação:
$ apt-get install -y postgresql-15
Passo 2
Agora após instalado vamos certificar os clusters que são a instalação em sua máquina.
$ pg_lsclusters
#a saída ficará mais ou menos assim
Ver Cluster Port Status Owner Data directory Log file
14 main 5432 online postgres /var/lib/postgresql/14/main /var/log/postgresql/postgresql-14-main.log
15 main 5433 online postgres /var/lib/postgresql/15/main /var/log/postgresql/postgresql-15-main.log
Passo 3
Agora vamos parar o serviço de banco na sua máquina/servidor:
$ service postgresql stop
Veja também:
Passo 4
Renomeie a nova versão padrão instalada do cluster:
$ pg_renamecluster 15 main main_pristine
Passo 5
Atualize a versão do cluster antigo para a versão mais recente:
$ pg_upgradecluster 14 main
obs.: lembre-se de substituir o 14 por sua antiga versão.
Passo 6
Agora após atualizado, vamos iniciar novamente o Postgres:
$ service postgresql start
Verifique se está atualizado:
$ pg_lsclusters
Ver Cluster Port Status Owner Data directory Log file
14 main 5434 down postgres /var/lib/postgresql/14/main /var/log/postgresql/postgresql-14-main.log
15 main 5432 online postgres /var/lib/postgresql/15/main /var/log/postgresql/postgresql-15-main.log
15 main_pristine 5433 online postgres /var/lib/postgresql/15/main_pristine /var/log/postgresql/postgresql-15-main_pristine.log
Você vai ver que antiga versão não está sendo mais usada, e um novo cluster foi criado para nova versão.
Passo 7
Após tudo atualizado vamos remover os cluster inativos:
$ pg_dropcluster 14 main --stop
$ pg_dropcluster 15 main_pristine --stop
Pronto, seu Postgres foi atualizado e agora poderá trabalhar tranquilamente.