Configuración de transporte de una base de datos de PostgreSQL - Amazon Relational Database Service

Configuración de transporte de una base de datos de PostgreSQL

Antes de comenzar, asegúrese de que las instancias de base de datos de RDS for PostgreSQL cumplan los siguientes requisitos:

  • Las instancias de base de datos de RDS for PostgreSQL de origen y destino deben ejecutar la misma versión de PostgreSQL.

  • La base de datos de destino no puede tener una base de datos del mismo nombre que la base de datos de origen que desea transportar.

  • La cuenta que utiliza para gestionar el transporte necesita privilegios rds_superuser tanto en la base de datos de origen como en la base de datos de destino.

  • El grupo de seguridad de la instancia de base de datos de origen debe permitir el acceso entrante desde la instancia de base de datos de destino. Es posible que esto ya ocurra si las instancias de base de datos de origen y destino se encuentran en la VPC. Para obtener más información acerca de los grupos de seguridad, consulte Control de acceso con grupos de seguridad.

El transporte de bases de datos desde una instancia de base de datos de origen a una instancia de base de datos de destino requiere varios cambios en el grupo de parámetros de base de datos asociado a cada instancia. Esto significa que debe crear un grupo de parámetros de base de datos personalizado para la instancia de base de datos de origen y otro para la instancia de base de datos de destino.

nota

Si las instancias de base de datos ya están configuradas mediante grupos de parámetros de base de datos personalizados, puede comenzar con el paso 2 del siguiente procedimiento.

Para configurar los parámetros de grupo de bases de datos personalizados para transportar bases de datos

Para los siguientes pasos, utilice una cuenta que tenga privilegios rds_superuser.

  1. Si las instancias de base de datos de origen y destino utilizan un grupo de parámetros de base de datos predeterminado, debe crear un grupo de parámetros de base de datos personalizado con la versión adecuada para sus instancias. Haga esto para poder cambiar los valores de varios parámetros. Para obtener más información, consulte Grupos de parámetros para Amazon RDS.

  2. En el grupo de parámetros de base de datos personalizado, cambie los valores de los siguientes parámetros:

    • shared_preload_libraries – Agregue pg_transport a la lista de bibliotecas.

    • pg_transport.num_workers – El valor predeterminado es 3. Aumente o reduzca este valor según sea necesario para su base de datos. Para una base de datos de 200 GB, recomendamos que no sea superior a 8. Tenga en cuenta que si aumenta el valor predeterminado de este parámetro, también debe aumentar el valor de max_worker_processes.

    • pg_transport.work_mem – El valor predeterminado es 128 MB o 256 MB, según la versión de PostgreSQL. Por lo general, la configuración predeterminada se puede dejar sin cambios.

    • max_worker_processes: el valor de este parámetro debe establecerse utilizando el siguiente cálculo:

      (3 * pg_transport.num_workers) + 9

      Este valor es necesario en el destino para gestionar varios procesos de trabajo en segundo plano involucrados en el transporte. Para obtener más información sobre max_worker_processes, y otros parámetros, consulte Consumo de recursos en la documentación de PostgreSQL.

    Para obtener más información acerca de los parámetros pg_transport, consulte Referencia de parámetros de bases de datos transportables .

  3. Reinicie la instancia de base de datos de origen de RSD for PostgreSQL y la instancia de destino para que la configuración de los parámetros surta efecto.

  4. Conéctese a una instancia de base de datos de origen de RDS for PostgreSQL.

    psql --host=source-instance.111122223333.aws-region.rds.amazonaws.com --port=5432 --username=postgres --password
  5. Elimine extensiones extrañas del esquema público de la instancia de base de datos. Solo se permite la extensión pg_transport durante la operación de transporte real.

  6. Instale la extensión pg_transport de la siguiente manera:

    postgres=> CREATE EXTENSION pg_transport; CREATE EXTENSION
  7. Conéctese a una instancia de base de datos de destino de RDS for PostgreSQL. Elimine las extensiones extrañas y, a continuación, instale la extensión pg_transport.

    postgres=> CREATE EXTENSION pg_transport; CREATE EXTENSION