Я пытаюсь настроить миграцию Postgresql, используя DMS для s3 в качестве цели. Но после запуска я заметил, что в некоторых таблицах отсутствуют некоторые столбцы. После проверки журналов я заметил это сообщение:
Column 'column_name' was removed from table definition 'schema.table': the column data type is LOB and the table has no primary key or unique index
В настройках переноса задачи пробовал увеличить лоб лимит в опции Максимальный размер LOB до 2 000 000
Но все равно получаю тот же результат. Кто-нибудь знает обходной путь для этой проблемы?





Я думаю, проблема в том, что у вас нет первичного ключа в вашей таблице. Из документации AWS:
В настоящее время таблица должна иметь первичный ключ, чтобы AWS DMS могла захватывать большие объекты. изменения. Если таблица, содержащая LOB, не имеет первичного ключа, есть несколько действий, которые вы можете предпринять, чтобы зафиксировать изменения LOB:
- Добавьте в таблицу первичный ключ. Это может быть так же просто, как добавить идентификатор столбец и заполнение его последовательностью с помощью триггера.
- Создайте материализованное представление таблицы, включающее сгенерированный системой идентификатор в качестве первичного ключа и перенести материализованный вид, а не таблица.
- Создайте логический резерв, добавьте в таблицу первичный ключ и выполните миграцию. из логического резерва. Узнать больше
Также важно иметь первичный ключ простого типа, а не LOB:
В режиме FULL LOB или LIMITED LOB AWS DMS не поддерживает репликацию первичных ключей, которые являются типами данных LOB. Узнать больше