Red Hat Training

A Red Hat training course is available for RHEL 8

8.3.5.2. Actualización de volcado y restauración

Cuando se utiliza la actualización de volcado y restauración, es necesario volcar el contenido de todas las bases de datos en un archivo de volcado de archivos SQL.

Tenga en cuenta que la actualización de volcado y restauración es más lenta que el método de actualización rápida y puede requerir alguna corrección manual en el archivo SQL generado.

Puede utilizar este método para migrar datos de:

  • La versión del sistema Red Hat Enterprise Linux 7 de PostgreSQL 9.2
  • Cualquier versión anterior de Red Hat Enterprise Linux 8 de PostgreSQL
  • Una versión anterior o igual de PostgreSQL de Red Hat Software Collections:

    • PostgreSQL 9.2 (ya no es compatible)
    • PostgreSQL 9.4 (ya no es compatible)
    • PostgreSQL 9.6
    • PostgreSQL 10
    • PostgreSQL 12

En los sistemas Red Hat Enterprise Linux 7 y Red Hat Enterprise Linux 8, los datos de PostgreSQL se almacenan por defecto en el directorio /var/lib/pgsql/data/. En el caso de las versiones de Red Hat Software Collections de PostgreSQL, el directorio de datos por defecto es /var/opt/rh/collection_name/lib/pgsql/data/ (con la excepción de postgresql92, que utiliza el directorio /opt/rh/postgresql92/root/var/lib/pgsql/data/ ).

Si desea actualizar desde un flujo anterior de postgresql dentro de RHEL 8, siga el procedimiento descrito en Cambio a un flujo posterior y luego migre sus datos de PostgreSQL.

Para realizar la actualización de volcado y restauración, cambie el usuario a root.

El siguiente procedimiento describe la migración de la versión del sistema RHEL 7 de Postgreql 9.2 a una versión RHEL 8 de PostgreSQL.

  1. En su sistema RHEL 7, inicie el servidor PostgreSQL 9.2:

    # systemctl start postgresql.service
  2. En el sistema RHEL 7, vuelque el contenido de todas las bases de datos en el archivo pgdump_file.sql:

    su - postgres -c \ "pg_dumpall > ~/pgdump_file.sql"
  3. Asegúrese de que las bases de datos se han volcado correctamente:

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

    Como resultado, se muestra la ruta del archivo sql volcado: /var/lib/pgsql/pgdump_file.sql.

  4. En el sistema RHEL 8, active el flujo (versión) al que desea migrar:

    # yum module enable postgresql:stream

    Sustituya stream por la versión seleccionada del servidor PostgreSQL.

    Puede omitir este paso si desea utilizar el flujo por defecto, que proporciona PostgreSQL 10.

  5. En el sistema RHEL 8, instale el paquete postgresql-server:

    # yum install postgresql-server

    Opcionalmente, si ha utilizado algún módulo de servidor PostgreSQL en RHEL 7, instálelo también en el sistema RHEL 8. Si necesita compilar un módulo de servidor PostgreSQL de un tercero, constrúyalo con el paquete postgresql-devel.

  6. En el sistema RHEL 8, inicialice el directorio de datos para el nuevo servidor PostgreSQL:

    # postgresql-setup --initdb
  7. En el sistema RHEL 8, copie el pgdump_file.sql en el directorio principal PostgreSQL y compruebe que el archivo se ha copiado correctamente:

    su - postgres -c 'test -e \ "$HOME/pgdump_file.sql" && echo exists'
  8. Copie los archivos de configuración del sistema RHEL 7:

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

    Los archivos de configuración que deben copiarse son:

    • /var/lib/pgsql/data/pg_hba.conf
    • /var/lib/pgsql/data/pg_ident.conf
    • /var/lib/pgsql/data/postgresql.conf
  9. En el sistema RHEL 8, inicie el nuevo servidor PostgreSQL:

    # systemctl start postgresql.service
  10. En el sistema RHEL 8, importe los datos del archivo sql volcado:

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

Cuando se actualice desde una versión de Red Hat Software Collections de PostgreSQL, ajuste los comandos para incluir scl enable collection_name.. Por ejemplo, para volcar los datos de la Colección de Software rh-postgresql96, utilice el siguiente comando:

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