Configuración de la extensión pglogical - Amazon Relational Database Service

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
  1. Inicie sesión en la AWS Management Console y abra la consola de Amazon RDS en https://console.aws.amazon.com/rds/.

  2. En el panel de navegación, elija la instancia de base de datos de RDS for PostgreSQL.

  3. 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.

  4. Elija el enlace para abrir los parámetros personalizados asociados al Instancia de base de datos RDS para PostgreSQL.

  5. En el campo de búsqueda Parametes (Parámetros), escriba shared_pre para buscar el parámetro shared_preload_libraries.

  6. Seleccione Edit parameters (Editar parámetros) para acceder a los valores de las propiedades.

  7. Añada pglogical a la lista en el campo Values (Valores). Utilice una coma para separar los elementos de la lista de valores.

    Imagen del parámetro shared_preload_libraries con pglogical añadido.
  8. Busque el parámetro rds.logical_replication y configúrelo en 1 para activar la replicación lógica.

  9. Reinicie la instancia de base de datos de RDS para PostgreSQL para que surtan efecto los cambios.

  10. 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
  11. Para comprobar que pglogical esté inicializado, ejecute el siguiente comando.

    SHOW shared_preload_libraries; shared_preload_libraries -------------------------- rdsutils,pglogical (1 row)
  12. Compruebe la configuración que permite la descodificación lógica, de la siguiente manera.

    SHOW wal_level; wal_level ----------- logical (1 row)
  13. Cree la extensión de la siguiente manera.

    CREATE EXTENSION pglogical; EXTENSION CREATED
  14. Elija Guardar cambios.

  15. Abra la consola de Amazon RDS en https://console.aws.amazon.com/rds/.

  16. 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.

  1. Utilice el siguiente comando AWS CLI para añadir pglogical al parámetro shared_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" \ --region aws-region
  2. Utilice el siguiente comando AWS CLI para configurar rds.logical_replication en 1 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" \ --region aws-region
  3. 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 \ --region aws-region
  4. 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
  5. Cree la extensión de la siguiente manera.

    CREATE EXTENSION pglogical; EXTENSION CREATED
  6. 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 \ --region aws-region