Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В этой статье рассказывается о том, как добавить источник захвата изменений данных (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, Западная Швейцария.
Предварительные условия
Доступ к рабочей области в режиме лицензии емкости Fabric или в режиме пробной лицензии с разрешениями уровня Участник или выше.
Зарегистрированный доступ пользователей в базе данных PostgreSQL.
База данных PostgreSQL должна быть общедоступной, а не за брандмауэром или защищенной в виртуальной сети.
CDC включен в базе данных и таблицах PostgreSQL.
Если у вас есть База данных Azure для PostgreSQL, выполните действия, описанные в следующем разделе, чтобы включить CDC. Подробные сведения см. в разделе "Логическая репликация и логическое декодирование" — База данных Azure для PostgreSQL — гибкий сервер.
Для других баз данных PostgreSQL см. Debezium connector for PostgreSQL :: документация Debezium.
Если у вас нет потока событий, создайте поток событий.
Включение CDC в базе данных PostgreSQL
В этом разделе в качестве примера используется База данных Azure для PostgreSQL.
Чтобы включить CDC в Azure Database for PostgreSQL Flexible Server, выполните следующие действия.
На странице Azure Database for PostgreSQL Flexible Server в портале Azure выберите параметры сервера в меню навигации.
На странице параметров сервера:
- Задайте параметр wal_level значением логический.
- Обновите max_worker_processes до как минимум 16.
Сохраните изменения и перезапустите сервер.
Убедитесь, что экземпляр гибкого сервера Azure Database for PostgreSQL разрешает доступ к общедоступному сетевому трафику.
Предоставьте администраторам разрешения на репликацию, выполнив следующую инструкцию SQL. Если вы хотите использовать другую учетную запись пользователя для подключения к базе данных PostgreSQL для получения данных CDC, убедитесь, что пользователь является владельцем таблицы .
ALTER ROLE <admin_user_or_table_owner_user> WITH REPLICATION;
Запуск мастера выбора источника данных
Если вы еще не добавили источник в поток событий, выберите "Использовать внешнюю плитку источника ".
Если вы добавляете источник в уже опубликованный поток событий, перейдите в режим редактирования, выберите "Добавить источник" на ленте и выберите "Внешние источники".
На странице Выбор источника данных найдите и выберите Connect на плитке DB PostgreSQL (CDC).
Настройка и подключение к Базе данных PostgreSQL CDC
На странице "Подключение" выберите "Создать подключение".
В разделе "Параметры подключения" введите следующие сведения.
Сервер: адрес сервера базы данных PostgreSQL, например my-pgsql-server.postgres.database.azure.com.
База данных: имя базы данных, например my_database.
Имя подключения: введите имя подключения.
Тип проверки подлинности, выберите "Базовый" и введите имя пользователя и пароль для базы данных.
Примечание.
В настоящее время потоки событий Fabric поддерживают только обычную проверку подлинности.
Выберите "Подключиться" , чтобы завершить параметры подключения.
Порт. Введите номер порта сервера. Значение по умолчанию — 5432. Если выбранное облачное подключение настроено в Управление подключениями и шлюзами, убедитесь, что номер порта соответствует тому, который указан там. Если они не совпадают, то номер порта облачного подключения в Управление подключениями и шлюзами имеет приоритет.
При записи изменений из таблиц базы данных можно выбрать один из двух вариантов:
- Все таблицы: запись изменений из каждой таблицы в базе данных.
-
Введите имена таблиц: позволяет указать подмножество таблиц с помощью списка, разделенного запятыми. Вы можете использовать либо полные идентификаторы таблицы в формате
schemaName.tableName
, либо допустимые регулярные выражения. Примеры. -
dbo.test.*
: выберите все таблицы из схемыtest
, имена которых начинаются сdbo
. -
dbo\.(test1|test2)
: выберитеdbo.test1
иdbo.test2
.
В списке можно объединить оба формата. Общее ограничение символов для всей записи составляет 102 400 символов.
Имя слота (необязательно): Введите имя слота логического декодирования PostgreSQL, который был создан для потоковой передачи изменений из определенного подключаемого модуля для конкретной базы данных или схемы. Сервер использует этот слот для потоковой передачи событий в соединитель потоковой передачи Eventstream. Он должен содержать только строчные буквы, цифры и знаки подчеркивания.
- Если это не указано, для создания слота используется GUID, требующий соответствующих разрешений базы данных.
- Если указанное имя слота существует, соединитель использует его напрямую.
Вы можете развернуть Расширенные настройки, чтобы получить доступ к дополнительным вариантам конфигурации для источника CDC базы данных PostgreSQL.
Имя публикации: указывает имя публикации логической репликации PostgreSQL, используемой. Это должно соответствовать существующей публикации в базе данных или автоматически создаваться в зависимости от режима автоматического создания. Значение по умолчанию:
dbz_publication
.Примечание.
Пользователь соединителя должен иметь разрешения суперпользователя для создания публикации. Перед первым запуском соединителя рекомендуется создать публикацию вручную, чтобы избежать проблем, связанных с разрешениями.
Режим автоматического создания публикации: определяет, создается ли публикация и как она создается автоматически. Возможные варианты:
-
Filtered
(по умолчанию): если указанная публикация не существует, соединитель создает публикацию, которая включает только выбранные таблицы (как указано в списке включаемых таблиц). -
AllTables
: Если указанная публикация существует, соединитель использует её. Если он не существует, коннектор создаёт объект, который включает в себя все таблицы в базе данных. -
Disabled
: соединитель не создает публикацию. Если указанная публикация отсутствует, соединитель создает исключение и останавливается. В этом случае публикация должна быть создана вручную в базе данных.
Дополнительные сведения см. в документации Debezium по режиму автоматического создания публикации
-
Режим десятичной обработки: указывает, как соединитель обрабатывает значения PostgreSQL
DECIMAL
иNUMERIC
столбцов:-
Precise
: представляет значения, использующие точные десятичные типы (например, JavaBigDecimal
), чтобы обеспечить полную точность и точность представления данных. -
Double
: преобразует значения в числа с плавающей запятой двойной точности. Это повышает удобство использования и производительность, но может привести к потере точности. -
String
: кодирует значения в виде форматированных строк. Это упрощает использование в последующих системах, но приводит к потере семантической информации о исходном числовом типе.
-
На странице "Просмотр и подключение" просмотрите сводку и нажмите кнопку "Добавить".
Просмотр обновленного потока событий
Вы можете увидеть источник базы данных PostgreSQL CDC, добавленный в поток событий, в режиме редактирования.
Чтобы реализовать новый добавленный источник CDC базы данных PostgreSQL, выберите "Опубликовать". После выполнения этих действий источник CDC базы данных PostgreSQL доступен для визуализации в режиме реального времени.
Снимок экрана источника потоковой передачи данных CDC для PostgreSQL в режиме Live View.
Связанный контент
Другие соединители:
- Потоки данных Amazon Kinesis
- Azure Cosmos DB
- Центры событий Azure
- Служебная шина Azure
- Центр Интернета вещей Azure
- Отслеживание изменений данных в базе данных SQL Azure (CDC)
- Confluent Kafka
- Пользовательская конечная точка
- Google Cloud Pub/Sub
- База данных MySQL CDC
- PostgreSQL База данных CDC
- Пример данных
- события хранилища объектов BLOB Azure
- Событие рабочей области Fabric