Configuración de la extensión pglogical
Para configurar la extensión pglogical
en la instancia de base de datos de RDS para PostgreSQL , añada pglogical
a las bibliotecas compartidas en el grupo de parámetros de base de datos personalizado para su instancia de base de datos de RDS para PostgreSQL. También debe establecer el valor del parámetro rds.logical_replication
en 1
para activar la descodificación lógica. Por último, cree la extensión en la base de datos. Puede utilizar la AWS Management Console o la AWS CLI para estas tareas.
Debe tener permisos como el rol rds_superuser
para realizar estas tareas.
En los pasos siguientes se supone que la instancia de base de datos de RDS for PostgreSQL está asociada a un grupo de parámetros de DB. Para obtener información acerca de cómo crear el grupo de parámetros de base de datos, consulte Grupos de parámetros para Amazon RDS.
Para configurar la extensión pglogical
Inicie sesión en la AWS Management Console y abra la consola de Amazon RDS en https://console.aws.amazon.com/rds/
. -
En el panel de navegación, elija la instancia de base de datos de RDS for PostgreSQL.
-
Abra la pestaña Configuration (Configuración) para su Instancia de base de datos RDS para PostgreSQL. Entre los detalles de la instancia, busque el enlace del grupo de parámetros.
-
Elija el enlace para abrir los parámetros personalizados asociados al Instancia de base de datos RDS para PostgreSQL.
-
En el campo de búsqueda Parametes (Parámetros), escriba
shared_pre
para buscar el parámetroshared_preload_libraries
. -
Seleccione Edit parameters (Editar parámetros) para acceder a los valores de las propiedades.
-
Añada
pglogical
a la lista en el campo Values (Valores). Utilice una coma para separar los elementos de la lista de valores. -
Busque el parámetro
rds.logical_replication
y configúrelo en1
para activar la replicación lógica. -
Reinicie la instancia de base de datos de RDS para PostgreSQL para que surtan efecto los cambios.
-
Cuando la instancia esté disponible, puede usar
psql
(o pgAdmin) para conectarse a la instancia de base de datos de RDS para PostgreSQL.psql --host=
111122223333
.aws-region
.rds.amazonaws.com --port=5432 --username=postgres
--password --dbname=labdb
-
Para comprobar que pglogical esté inicializado, ejecute el siguiente comando.
SHOW shared_preload_libraries;
shared_preload_libraries -------------------------- rdsutils,pglogical (1 row)
-
Compruebe la configuración que permite la descodificación lógica, de la siguiente manera.
SHOW wal_level;
wal_level ----------- logical (1 row)
-
Cree la extensión de la siguiente manera.
CREATE EXTENSION pglogical;
EXTENSION CREATED
-
Elija Guardar cambios.
Abra la consola de Amazon RDS en https://console.aws.amazon.com/rds/
. -
Elija instancia de base de datos de RDS for PostgreSQL en la lista de bases de datos para seleccionarla y, a continuación, elija Reboot (Reiniciar) en el menú Actions (Acciones).
Para configurar la extensión pglogical
Para configurar pglogical mediante la AWS CLI, llame a la operación modify-db-parameter-group para modificar determinados parámetros de su grupo de parámetros personalizado, tal como se muestra en el siguiente procedimiento.
-
Utilice el siguiente comando AWS CLI para añadir
pglogical
al parámetroshared_preload_libraries
.aws rds modify-db-parameter-group \ --db-parameter-group-name
custom-param-group-name
\ --parameters "ParameterName=shared_preload_libraries,ParameterValue=pglogical,ApplyMethod=pending-reboot" \ --regionaws-region
-
Utilice el siguiente comando AWS CLI para configurar
rds.logical_replication
en1
y activar la función de descodificación lógica para la Instancia de base de datos RDS para PostgreSQL.aws rds modify-db-parameter-group \ --db-parameter-group-name
custom-param-group-name
\ --parameters "ParameterName=rds.logical_replication,ParameterValue=1,ApplyMethod=pending-reboot" \ --regionaws-region
-
Utilice el siguiente comando AWS CLI para reiniciar la instancia de base de datos de RDS para PostgreSQL para que se inicialice la biblioteca de pglogical.
aws rds reboot-db-instance \ --db-instance-identifier
your-instance
\ --regionaws-region
-
Cuando la instancia esté disponible, use
psql
para conectarse a la instancia de base de datos de RDS para PostgreSQL.psql --host=
111122223333
.aws-region
.rds.amazonaws.com --port=5432 --username=postgres
--password --dbname=labdb
-
Cree la extensión de la siguiente manera.
CREATE EXTENSION pglogical;
EXTENSION CREATED
-
Reinicie la instancia de base de datos de RDS for PostgreSQL mediante el siguiente comando AWS CLI.
aws rds reboot-db-instance \ --db-instance-identifier
your-instance
\ --regionaws-region