Compartir a través de


Adición de un origen de CDC de base de datos de PostgreSQL a una secuencia de eventos

En este artículo se muestra cómo agregar un origen de captura de datos modificados (CDC) de base de datos de PostgreSQL a una secuencia de eventos.

El conector de origen de captura de datos modificados de base de datos de PostgreSQL (CDC) para secuencias de eventos de Microsoft Fabric permite capturar una instantánea de los datos actuales en una base de datos PostgreSQL. Actualmente, la captura de datos modificados de base de datos de PostgreSQL (CDC) se admite desde los siguientes servicios a los que se puede acceder públicamente a las bases de datos:

  • Azure Database para PostgreSQL
  • Amazon RDS for PostgreSQL
  • Amazon Aurora PostgreSQL
  • Google Cloud SQL for PostgreSQL

Una vez que el origen CDC de la base de datos PostgreSQL se agrega al flujo de eventos, captura los cambios de nivel de fila en las tablas especificadas. Estos cambios se pueden procesar en tiempo real y enviarlos a diferentes destinos para su posterior análisis.

Nota:

Este origen no se admite en las siguientes regiones de la capacidad del área de trabajo: Oeste de EE. UU. 3, Oeste de Suiza.

Requisitos previos

Habilitación de CDC en la base de datos postgreSQL

En esta sección se usa Azure Database for PostgreSQL como ejemplo.

Siga estos pasos para habilitar CDC en el servidor flexible de Azure Database for PostgreSQL.

  1. En la página de Azure Database for PostgreSQL con servidor flexible de Azure Portal, seleccione Parámetros del servidor en el menú de navegación.

  2. En la página Parámetros del servidor:

    • Establezca wal_level en logical.
    • Actualice max_worker_processes al menos a 16.

    Captura de pantalla de la habilitación de CDC para una implementación de servidor flexible.

  3. Guarde los cambios y reinicie el servidor.

  4. Confirme que la instancia de servidor flexible de Azure Database for PostgreSQL permite el tráfico de red público.

  5. Conceda permisos de replicación de usuarios administradores mediante la ejecución de la siguiente instrucción SQL. Si desea usar otra cuenta de usuario para conectar la base de datos de PostgreSQL para capturar CDC, asegúrese de que el usuario es el propietario de la tabla.

    ALTER ROLE <admin_user_or_table_owner_user> WITH REPLICATION;
    

Inicio del Asistente para seleccionar un origen de datos

Si aún no ha agregado ningún origen a la secuencia de eventos, seleccione el mosaico Usar origen externo.

Recorte de pantalla en el que se muestra la selección del icono Usar origen externo.

Si va a agregar el origen a un elemento Eventstream ya publicado, cambie al modo Editar, seleccione Agregar origen en la cinta de opciones y, a continuación, seleccione Orígenes externos.

Captura de pantalla que muestra la selección del menú Agregar origen a orígenes externos.

En la página Seleccionar un origen de datos, busque y seleccione Conectar en el icono de PostgreSQL DB (CDC).

Captura de pantalla que muestra la selección de Azure DB for PostgreSQL (CDC) como tipo de origen en el asistente para obtener eventos.

Configuración y conexión a CDC de PostgreSQL Database

  1. En la página Conectar, seleccione Nueva conexión.

    Captura de pantalla que muestra la página Conectar de una base de datos de Azure PostgreSQL con el vínculo Nueva conexión resaltado.

  2. Escriba la información siguiente en la sección Configuración de la conexión.

    • Servidor: la dirección del servidor de la base de datos de PostgreSQL, por ejemplo, my-pgsql-server.postgres.database.azure.com.

    • Base de datos: el nombre de la base de datos, por ejemplo, my_database.

      Captura de pantalla que muestra la sección Configuración de la conexión para el conector de base de datos de Azure PostgreSQL.

    • Nombre de la conexión: escriba un nombre para esta conexión.

    • Tipo de autenticación, seleccione Básico y escriba el nombre de usuario y la contraseña de la base de datos.

      Nota:

      Actualmente, los flujos de eventos de Fabric solo admiten la autenticación básica .

    • Seleccione Conectar para completar la configuración de conexión. Captura de pantalla que muestra la sección Credenciales de conexión para el conector de base de datos de Azure PostgreSQL.

  3. Puerto: escriba el número de puerto del servidor. El valor predeterminado es 5432. Si la conexión en la nube seleccionada está configurada en Administrar conexiones y puertas de enlace, asegúrese de que el número de puerto coincide con el establecido allí. Si no coinciden, el número de puerto de la conexión en la nube en Administrar conexiones y puertas de enlace tiene prioridad.

  4. Puede elegir entre dos opciones al capturar cambios de tablas de base de datos:

    • Todas las tablas: capture los cambios de todas las tablas de la base de datos.
    • Escribir nombres de tabla: permite especificar un subconjunto de tablas mediante una lista separada por comas. Puede usar: identificadores de tabla completos en el formato schemaName.tableName o expresiones regulares válidas. Ejemplos:
    • dbo.test.*: seleccione todas las tablas cuyos nombres empiecen por test en el dbo esquema.
    • dbo\.(test1|test2): seleccione dbo.test1 y dbo.test2.

    Puede combinar ambos formatos en la lista. El límite total de caracteres para toda la entrada es de 102 400 caracteres.

  5. Nombre de ranura (opcional): escriba el nombre de la ranura de descodificación lógica de PostgreSQL que se creó para la transmisión de cambios de un complemento específico para una base de datos o esquema determinado. El servidor usa esta ranura para transmitir eventos al conector de streaming de eventstream. Solo debe contener letras minúsculas, números y caracteres de subrayado.

    • Si no se especifica, se usa un GUID para crear la ranura, lo que requiere los permisos de base de datos adecuados.
    • Si existe un nombre de ranura especificado, el conector lo usa directamente.
  6. Puede expandir Configuración avanzada para acceder a opciones de configuración adicionales para el origen CDC de base de datos postgreSQL:

    • Nombre de la publicación: especifica el nombre de la publicación de replicación lógica de PostgreSQL que se va a usar. Debe coincidir con una publicación existente en la base de datos o se creará automáticamente en función del modo de creación automática. Valor predeterminado: dbz_publication.

      Nota:

      El usuario del conector debe tener permisos de superusuario para crear la publicación. Se recomienda crear la publicación manualmente antes de iniciar el conector por primera vez para evitar problemas relacionados con los permisos.

    • Modo de creación automática de publicación: controla si la publicación se crea automáticamente y cómo se crea la publicación. Entre las opciones se incluyen:

      • Filtered (valor predeterminado): si la publicación especificada no existe, el conector crea uno que incluye solo las tablas seleccionadas (como se especifica en la lista de inclusión de la tabla).
      • AllTables: si existe la publicación especificada, el conector la usa. Si no existe, el conector crea una que incluye todas las tablas de la base de datos.
      • Disabled: El conector no crea una publicación. Si falta la publicación especificada, el conector produce una excepción y se detiene. En este caso, la publicación debe crearse manualmente en la base de datos.

      Para obtener más información, consulte la documentación de Debezium sobre el modo de creación automática de publicaciones.

    • Modo de control decimal: especifica cómo controla el conector los valores de postgreSQL DECIMAL y NUMERIC columna:

      • Precise: representa valores que usan tipos decimales exactos (por ejemplo, Java BigDecimal) para garantizar una precisión y precisión completas en la representación de datos.
      • Double: convierte valores en números de punto flotante de precisión doble. Esto mejora la facilidad de uso y el rendimiento, pero puede provocar una pérdida de precisión.
      • String: codifica los valores como cadenas con formato. Esto facilita que se consuman en sistemas posteriores, pero se pierde información semántica sobre el tipo numérico original.
  7. En la página Revisar y conectar, revise el resumen y, a continuación, seleccione Agregar.

    Captura de pantalla que muestra la página Revisar y crear rellenada para el conector de base de datos de Azure PostgreSQL.

Visualización de la secuencia de eventos actualizado

  1. Puede ver el origen de CDC de PostgreSQL Database agregado a la secuencia de eventos en el modo Edición.

    Recorte de pantalla del origen de CDC de PostgreSQL Database en streaming en la vista Editar.

  2. Para implementar este origen de CDC de base de datos de PostgreSQL recién agregado, seleccione Publicar. Después de completar estos pasos, la fuente de PostgreSQL DB para CDC está disponible para su visualización en la vista en directo.

    Recorte de pantalla del origen de CDC de la base de datos de PostgreSQL en streaming en la vista en vivo.

Otros conectores: