Configura una base de datos de PostgreSQL de origen

Puedes transmitir cambios continuos de una base de datos de PostgreSQL de origen a un destino compatible, como BigQuery o Cloud Storage, con Datastream. Para capturar la actividad de la base de datos, Datastream usa la decodificación lógica para leer los cambios de los archivos de registro de escritura anticipada (WAL) a través de una ranura de publicación y replicación. Para obtener más información, consulta Trabaja con archivos WAL de la base de datos de PostgreSQL.

Ranuras de publicación y replicación

Cuando configuras tu fuente de PostgreSQL, debes crear una publicación y una ranura de replicación.

Una publicación es un conjunto de cambios generados a partir de una tabla o un grupo de tablas que deseas replicar con la replicación lógica.

Una ranura de replicación es una función de PostgreSQL que garantiza que un flujo de cambios almacenados en un archivo de registro WAL se replique en el destino en el orden correcto.

Cada ranura de replicación transmite una secuencia de cambios desde una sola base de datos, y cada publicación existe en una sola base de datos. Esto significa que debes crear una o más transmisiones por base de datos, con una ranura de replicación por transmisión. También es una buena práctica mantener el nombre de la publicación alineado con las tablas seleccionadas en la transmisión para mayor claridad.

Para obtener más información, consulta Publicación y Ranuras de replicación en la documentación de PostgreSQL.

Bases de datos compatibles

Datastream funciona con los siguientes tipos de bases de datos de PostgreSQL:

  • AlloyDB para PostgreSQL
  • AlloyDB Omni
  • Amazon Aurora PostgreSQL
  • Amazon RDS para PostgreSQL
  • Cloud SQL para PostgreSQL
  • PostgreSQL autoadministrado (local o alojado en la nube)

Datastream también admite la replicación desde instancias de réplica de lectura de PostgreSQL para la versión 16 y posteriores de PostgreSQL. Para obtener más información, consulta Replicación desde réplicas de lectura.

¿Qué sigue?