TOAST, слоты репликации, публикации, изменения схемы и сопоставление типов данных — освещены в FAQ по ClickPipes для Postgres. Эта информация также применима к миграциям ClickHouse Managed Postgres.
Во время репликации появляется ошибка “invalid input value for enum”
ALTER TYPE ... ADD VALUE автоматически, поэтому новые значения enum, добавленные в источнике после первоначальной настройки схемы, приведут к сбою вставки в целевой базе.
Чтобы исправить это, добавьте отсутствующее значение в тип enum в целевом Postgres:
your_enum_type на имя вашего enum-типа, а 'new_value' — на отсутствующее значение из сообщения об ошибке.
Во время репликации возникает ошибка нарушения ограничения уникальности или проверки
- Ограничения уникальности: Мы применяем изменения пакетами в виде операций
MERGE/UPSERT, записывая последнее значение для каждого первичного ключа, поэтому порядок операций для конкретного ключа может не соответствовать порядку, ожидаемому уникальным индексом. Это может временно нарушать ограничениеUNIQUEв рамках транзакции, хотя после завершенияMERGEограничение соблюдается. Postgres не может отложить проверку уникального индекса так же, как проверку внешних ключей, поэтому перенести эту проверку на конец транзакции невозможно. Это не влияет на согласованность данных: идентичность строки определяется первичным ключом, и логикаMERGEиспользует тот же первичный ключ. - Ограничения проверки: Ограничение проверки на целевой стороне может быть строже, чем на стороне источника, либо промежуточное состояние при пакетном
MERGEможет не удовлетворять ограничению, хотя конечное состояние ему соответствует. Как и в случае с ограничениями уникальности, это не влияет на согласованность данных, посколькуMERGEиспользует первичный ключ, определяющий идентичность строки.