Поделиться через


Добавление источника CDC из базы данных PostgreSQL в поток событий.

В этой статье рассказывается о том, как добавить источник захвата изменений данных (CDC) базы данных PostgreSQL в поток событий.

Коннектор источника для отслеживания изменений данных (CDC) в потоках событий Microsoft Fabric позволяет захватывать моментальный снимок текущих данных в базе данных PostgreSQL. В настоящее время служба PostgreSQL Database Change Data Capture (CDC) поддерживается из следующих служб, где базы данных могут быть доступны для общедоступного доступа:

  • База данных Azure для PostgreSQL
  • Amazon RDS для PostgreSQL
  • Amazon Aurora PostgreSQL
  • Google Cloud SQL для PostgreSQL

После добавления источника CDC базы данных PostgreSQL в поток событий он записывает изменения на уровне строк в указанные таблицы. Затем эти изменения можно обрабатывать в режиме реального времени и отправлять в разные места назначения для дальнейшего анализа.

Примечание.

Этот источник не поддерживается в следующих регионах возможностей рабочей области: Запад США 3, Западная Швейцария.

Предварительные условия

Включение CDC в базе данных PostgreSQL

В этом разделе в качестве примера используется База данных Azure для PostgreSQL.

Чтобы включить CDC в Azure Database for PostgreSQL Flexible Server, выполните следующие действия.

  1. На странице Azure Database for PostgreSQL Flexible Server в портале Azure выберите параметры сервера в меню навигации.

  2. На странице параметров сервера:

    • Задайте параметр wal_level значением логический.
    • Обновите max_worker_processes до как минимум 16.

    Снимок экрана: включение CDC для гибкого развертывания сервера.

  3. Сохраните изменения и перезапустите сервер.

  4. Убедитесь, что экземпляр гибкого сервера Azure Database for PostgreSQL разрешает доступ к общедоступному сетевому трафику.

  5. Предоставьте администраторам разрешения на репликацию, выполнив следующую инструкцию SQL. Если вы хотите использовать другую учетную запись пользователя для подключения к базе данных PostgreSQL для получения данных CDC, убедитесь, что пользователь является владельцем таблицы .

    ALTER ROLE <admin_user_or_table_owner_user> WITH REPLICATION;
    

Запуск мастера выбора источника данных

Если вы еще не добавили источник в поток событий, выберите "Использовать внешнюю плитку источника ".

Снимок экрана: выбор плитки

Если вы добавляете источник в уже опубликованный поток событий, перейдите в режим редактирования, выберите "Добавить источник" на ленте и выберите "Внешние источники".

Снимок экрана: выбор источника в меню

На странице Выбор источника данных найдите и выберите Connect на плитке DB PostgreSQL (CDC).

Снимок экрана: выбор базы данных Azure для PostgreSQL (CDC) в качестве исходного типа в мастере получения событий.

Настройка и подключение к Базе данных PostgreSQL CDC

  1. На странице "Подключение" выберите "Создать подключение".

    Снимок экрана: страница

  2. В разделе "Параметры подключения" введите следующие сведения.

    • Сервер: адрес сервера базы данных PostgreSQL, например my-pgsql-server.postgres.database.azure.com.

    • База данных: имя базы данных, например my_database.

      Снимок экрана: раздел параметров подключения для соединителя базы данных Azure PostgreSQL.

    • Имя подключения: введите имя подключения.

    • Тип проверки подлинности, выберите "Базовый" и введите имя пользователя и пароль для базы данных.

      Примечание.

      В настоящее время потоки событий Fabric поддерживают только обычную проверку подлинности.

    • Выберите "Подключиться" , чтобы завершить параметры подключения. Снимок экрана: раздел учетных данных подключения для соединителя базы данных Azure PostgreSQL.

  3. Порт. Введите номер порта сервера. Значение по умолчанию — 5432. Если выбранное облачное подключение настроено в Управление подключениями и шлюзами, убедитесь, что номер порта соответствует тому, который указан там. Если они не совпадают, то номер порта облачного подключения в Управление подключениями и шлюзами имеет приоритет.

  4. При записи изменений из таблиц базы данных можно выбрать один из двух вариантов:

    • Все таблицы: запись изменений из каждой таблицы в базе данных.
    • Введите имена таблиц: позволяет указать подмножество таблиц с помощью списка, разделенного запятыми. Вы можете использовать либо полные идентификаторы таблицы в формате schemaName.tableName , либо допустимые регулярные выражения. Примеры.
    • dbo.test.*: выберите все таблицы из схемы test, имена которых начинаются с dbo.
    • dbo\.(test1|test2): выберите dbo.test1 и dbo.test2.

    В списке можно объединить оба формата. Общее ограничение символов для всей записи составляет 102 400 символов.

  5. Имя слота (необязательно): Введите имя слота логического декодирования PostgreSQL, который был создан для потоковой передачи изменений из определенного подключаемого модуля для конкретной базы данных или схемы. Сервер использует этот слот для потоковой передачи событий в соединитель потоковой передачи Eventstream. Он должен содержать только строчные буквы, цифры и знаки подчеркивания.

    • Если это не указано, для создания слота используется GUID, требующий соответствующих разрешений базы данных.
    • Если указанное имя слота существует, соединитель использует его напрямую.
  6. Вы можете развернуть Расширенные настройки, чтобы получить доступ к дополнительным вариантам конфигурации для источника CDC базы данных PostgreSQL.

    • Имя публикации: указывает имя публикации логической репликации PostgreSQL, используемой. Это должно соответствовать существующей публикации в базе данных или автоматически создаваться в зависимости от режима автоматического создания. Значение по умолчанию: dbz_publication.

      Примечание.

      Пользователь соединителя должен иметь разрешения суперпользователя для создания публикации. Перед первым запуском соединителя рекомендуется создать публикацию вручную, чтобы избежать проблем, связанных с разрешениями.

    • Режим автоматического создания публикации: определяет, создается ли публикация и как она создается автоматически. Возможные варианты:

      • Filtered (по умолчанию): если указанная публикация не существует, соединитель создает публикацию, которая включает только выбранные таблицы (как указано в списке включаемых таблиц).
      • AllTables: Если указанная публикация существует, соединитель использует её. Если он не существует, коннектор создаёт объект, который включает в себя все таблицы в базе данных.
      • Disabled: соединитель не создает публикацию. Если указанная публикация отсутствует, соединитель создает исключение и останавливается. В этом случае публикация должна быть создана вручную в базе данных.

      Дополнительные сведения см. в документации Debezium по режиму автоматического создания публикации

    • Режим десятичной обработки: указывает, как соединитель обрабатывает значения PostgreSQL DECIMAL и NUMERIC столбцов:

      • Precise: представляет значения, использующие точные десятичные типы (например, Java BigDecimal), чтобы обеспечить полную точность и точность представления данных.
      • Double: преобразует значения в числа с плавающей запятой двойной точности. Это повышает удобство использования и производительность, но может привести к потере точности.
      • String: кодирует значения в виде форматированных строк. Это упрощает использование в последующих системах, но приводит к потере семантической информации о исходном числовом типе.
  7. На странице "Просмотр и подключение" просмотрите сводку и нажмите кнопку "Добавить".

    Снимок экрана, показывающий заполненную страницу

Просмотр обновленного потока событий

  1. Вы можете увидеть источник базы данных PostgreSQL CDC, добавленный в поток событий, в режиме редактирования.

    Снимок экрана: источник CDC для потоковой передачи из базы данных PostgreSQL в режиме редактирования.

  2. Чтобы реализовать новый добавленный источник CDC базы данных PostgreSQL, выберите "Опубликовать". После выполнения этих действий источник CDC базы данных PostgreSQL доступен для визуализации в режиме реального времени.

    Снимок экрана источника потоковой передачи данных CDC для PostgreSQL в режиме Live View.

Другие соединители: