Red Hat Training

A Red Hat training course is available for RHEL 8

8.3.5.2. Despejar e restaurar atualização

Ao usar o dump e restaurar a atualização, você precisa despejar todo o conteúdo do banco de dados em um arquivo SQL dump.

Observe que a atualização de despejo e restauração é mais lenta do que o método de atualização rápida e pode requerer alguma correção manual no arquivo SQL gerado.

Você pode usar este método para migrar dados de:

  • A versão do sistema Red Hat Enterprise Linux 7 do PostgreSQL 9.2
  • Qualquer versão anterior do Red Hat Enterprise Linux 8 de PostgreSQL
  • Uma versão anterior ou igual de PostgreSQL da Red Hat Software Collections:

    • PostgreSQL 9.2 (não mais suportado)
    • PostgreSQL 9.4 (não mais suportado)
    • PostgreSQL 9.6
    • PostgreSQL 10
    • PostgreSQL 12

Nos sistemas Red Hat Enterprise Linux 7 e Red Hat Enterprise Linux 8, PostgreSQL os dados são armazenados no diretório /var/lib/pgsql/data/ por default. No caso das versões do Red Hat Software Collections de PostgreSQL, o diretório de dados default é /var/opt/rh/collection_name/lib/pgsql/data/ (com exceção de postgresql92, que usa o diretório /opt/rh/postgresql92/root/var/lib/pgsql/data/ ).

Se você quiser atualizar de um fluxo postgresql anterior dentro do RHEL 8, siga o procedimento descrito em Mudança para um fluxo posterior e depois migre seus dados PostgreSQL.

Para executar o despejo e restaurar a atualização, mude o usuário para root.

O seguinte procedimento descreve a migração da versão do sistema RHEL 7 de Postgreql 9.2 para uma versão RHEL 8 de PostgreSQL.

  1. Em seu sistema RHEL 7, inicie o servidor PostgreSQL 9.2:

    # systemctl start postgresql.service
  2. No sistema RHEL 7, despeje todo o conteúdo do banco de dados no arquivo pgdump_file.sql:

    su - postgres -c "pg_dumpall > ~/pgdump_file.sql"
  3. Certifique-se de que os bancos de dados foram despejados corretamente:

    su - postgres -c 'menos "$HOME/pgdump_file.sql

    Como resultado, o caminho para o arquivo sql despejado é exibido: /var/lib/pgsql/pgdump_file.sql.

  4. No sistema RHEL 8, habilite o fluxo (versão) para o qual você deseja migrar:

    # módulo yum permite postgresql:stream

    Substitua stream pela versão selecionada do servidor PostgreSQL.

    Você pode omitir esta etapa se quiser usar o fluxo padrão, que fornece PostgreSQL 10.

  5. No sistema RHEL 8, instale o pacote postgresql-server:

    # yum instalar postgresql-server

    Opcionalmente, se você usou algum módulo do servidor PostgreSQL no RHEL 7, instale-o também no sistema RHEL 8. Se você precisar compilar um módulo de servidor PostgreSQL de terceiros, construa-o contra o pacote postgresql-devel.

  6. No sistema RHEL 8, inicialize o diretório de dados para o novo servidor PostgreSQL:

    # pós-configuração --initdb
  7. No sistema RHEL 8, copie o pgdump_file.sql para o diretório home PostgreSQL, e verifique se o arquivo foi copiado corretamente:

    su - postgres -c 'teste -e "$HOME/pgdump_file.sql" && echo existe'
  8. Copiar os arquivos de configuração do sistema RHEL 7:

    su - postgres -c 'ls -1 $PGDATA/*.conf

    Os arquivos de configuração a serem copiados são:

    • /var/lib/pgsql/data/pg_hba.conf
    • /var/lib/pgsql/data/pg_ident.conf
    • /var/lib/pgsql/data/postgresql.conf
  9. No sistema RHEL 8, inicie o novo servidor PostgreSQL:

    # systemctl start postgresql.service
  10. No sistema RHEL 8, importar dados do arquivo sql despejado:

    su - postgres -c 'psql -f ~/pgdump_file.sql postgres
Nota

Ao atualizar a partir de uma versão da Red Hat Software Collections de PostgreSQL, ajuste os comandos para incluir scl enable collection_name. Por exemplo, para descarregar dados da Coleção de Software rh-postgresql96, use o seguinte comando:

su - postgres -c 'scl enable rh-postgresql96 "pg_dumpall > ~/pgdump_file.sql\i}"