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
.
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.
En el grupo de parámetros de base de datos personalizado, cambie los valores de los siguientes parámetros:
shared_preload_libraries
– Agreguepg_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 demax_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 recursosen 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 .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.
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 --passwordElimine 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.Instale la extensión
pg_transport
de la siguiente manera:postgres=>
CREATE EXTENSION pg_transport;
CREATE EXTENSION
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