Ограничения и замечания
Следует иметь в виду следующие ограничения и замечания при использовании источника PostgreSQL:
Ограничения и замечания, связанные со всеми задачами данных
- Имя базы данных не может содержать точку с запятой (;).
- Когда база данных находится в режиме горячего резерва, захват изменений не поддерживается.
-
Для захвата изменений из вторичной базы данных следует настроить права на чтение и запись в этой базе данных. Из-за требования права на запись реплика для чтения PostgreSQL (в среде высокой доступности) не поддерживается.
Для получения информации о разрешении на чтение и запись см. Получение изменений с пользовательской базы данных PostgreSQL.
- Репликация Перемещение нескольких таблиц с одинаковым именем, но разным регистром (например, table1, TABLE1 и Table1) может вызвать непредсказуемое поведение и поэтому не поддерживается.
- Обработка изменений в операциях TRUNCATE не поддерживается.
- Отсроченные ограничения не поддерживаются.
-
Поддерживается только конфигурация идентификатора реплики по умолчанию.
Для получения дополнительной информации об идентификаторе реплики см. сайт https://www.postgresql.org/docs/10/logical-replication-publication.html
-
Уникальные индексы с выражениями CASE не поддерживаются.
Ограничения и замечания, связанные только с задачами промежуточного хранения
- Секционированные таблицы не поддерживаются.
- Принудительное восстановление после отказа — это функция Azure Database для PostgreSQL — Flexible Server Если принудительное восстановление после отказа происходит в процессе репликации (перемещение) данных из Azure Database для PostgreSQL — Flexible Server, выполнение задачи будет остановлено, а наборы данных потребуется создавать заново.
Ограничения и замечания, связанные только с задачами репликации
- Исходная таблица и соответствующая целевая таблица должны иметь одинаковый первичный ключ. Если у одной из таблиц нет первичного ключа, результат операций записи DELETE и UPDATE будет непредсказуемым.
- Функция запуска «Начать обработку изменений с метки времени» не поддерживается.
- Репликация Перемещение Before Image не поддерживается.
-
Обработка изменений в DDL таблицы [CREATE | ALTER | DROP] поддерживается, если изменения не вносятся во внутреннем блоке текста функции или процедуры или в других вложенных конструкциях.
Например, следующее изменение не будет зарегистрировано:
CREATE OR REPLACE FUNCTION attu.create_distributors1() RETURNS void
LANGUAGE plpgsql
AS $$
BEGIN
create table attu.distributors1(did serial PRIMARY KEY,name varchar(40) NOT NULL);
END;
$$;
В процессе захвата изменений в исходные таблицы операция RENAME TABLE будет захватываться, только если она следует за операцией DML.
Типы данных PostGIS не поддерживаются.
Принудительное восстановление после отказа — это функция Azure Database для PostgreSQL — Flexible Server Если принудительное восстановление после отказа происходит в процессе репликации (перемещение) данных из Azure Database для PostgreSQL — Flexible Server, задача будет остановлена, и ее потребуется перезагрузить.
Команда SQL MERGE, введенная в PostgreSQL 15.x, не прошла сертификацию.
Неподдерживаемые типы данных
Следующие типы данных не поддерживаются:
-
PostGIS;
- INT4MULTIRANGE
- INT8MULTIRANGE
- NUMMULTIRANGE;
- TSMULTIRANGE.