PostgreSQL
 sql >> Base de Dados >  >> RDS >> PostgreSQL

Como atualizar o PostgreSQL da versão 9.6 para a versão 10.1 sem perder dados?


Supondo que você tenha usado o home-brew para instalar e atualizar o Postgres, você pode executar as seguintes etapas.

  1. Pare o servidor Postgres atual:

    launchctl unload ~/Library/LaunchAgents/homebrew.mxcl.postgresql.plist

  2. Inicialize um novo banco de dados 10.1:

    initdb /usr/local/var/postgres10.1 -E utf8

  3. execute pg_upgrade (nota:altere a versão do bin se você estiver atualizando de algo diferente do abaixo) :
    pg_upgrade -v \
        -d /usr/local/var/postgres \
        -D /usr/local/var/postgres10.1 \
        -b /usr/local/Cellar/postgresql/9.6.5/bin/ \
        -B /usr/local/Cellar/postgresql/10.1/bin/
    

    -v para habilitar o log interno detalhado

    -d o antigo diretório de configuração do cluster de banco de dados

    -D o novo diretório de configuração do cluster de banco de dados

    -b o antigo diretório executável do PostgreSQL

    -B o novo diretório executável do PostgreSQL

  4. Mova os novos dados para o lugar:
    cd /usr/local/var
    mv postgres postgres9.6
    mv postgres10.1 postgres
    

  5. Reinicie o Postgres:

    launchctl load ~/Library/LaunchAgents/homebrew.mxcl.postgresql.plist

  6. Verifique /usr/local/var/postgres/server.log para obter detalhes e certificar-se de que o novo servidor foi iniciado corretamente.

  7. Finalmente, reinstale os trilhos pg gema
    gem uninstall pg
    gem install pg
    

Sugiro que você reserve um tempo para ler a documentação do PostgreSQL para entender exatamente o que está fazendo nas etapas acima para minimizar as frustrações.