FAQ по миграциям Managed Postgres
Ответы на многие вопросы о том, как работает репликация Postgres, включая столбцы TOAST, слоты репликации, публикации, изменения схемы и сопоставление типов данных, приведены в FAQ по ClickPipes для Postgres. Эта информация также применима и к миграциям Managed Postgres.
Во время репликации появляется ошибка "invalid input value for enum"
Эта ошибка возникает, когда в исходном Postgres есть значение enum, которого нет в целевом Managed Postgres. Логическая репликация не передаёт автоматически команды ALTER TYPE ... ADD VALUE, поэтому новые значения enum, добавленные в источнике после первоначальной настройки схемы, будут вызывать сбои вставки на целевом сервере.
Чтобы исправить это, добавьте отсутствующее значение в тип enum в целевом Postgres:
Замените your_enum_type на имя вашего enum-типа, а 'new_value' — на отсутствующее значение из сообщения об ошибке.
Во время репликации возникает ошибка нарушения ограничения уникальности
Нарушения ограничения уникальности могут возникать при логической репликации, когда порядок репликации приводит к конфликту с существующим ограничением уникальности на целевой стороне. Это может происходить в рабочих нагрузках CDC, связанных с повторным воспроизведением операций, которые временно нарушают уникальность до того, как последующее обновление устранит конфликт.
Чтобы разблокировать репликацию, удалите ограничение уникальности в целевом Postgres:
Имя ограничения можно определить, выполнив:
Во время переключения повторно добавьте ограничение после завершения репликации, когда исходная база данных больше не будет активна: