Поделиться через


состояние ошибки SYNCED_TABLE_USER_ERROR

SQLSTATE: 42000

Ошибка пользователя в конвейере синхронизированной таблицы.

ИЗМЕНЕН_ПЕРВИЧНЫЙ_КЛЮЧ

Изменены столбцы первичного ключа, указанные для синхронизированной таблицы <destTableUcName> .

Указанные столбцы первичного ключа: (<primaryKeyColumns>). Текущие столбцы первичного ключа: (<existingPrimaryKeyColumns>).

Изменение столбцов первичного ключа синхронизированной таблицы после ее создания не поддерживается.

Чтобы устранить эту проблему, измените синхронизированную таблицу обратно на исходные столбцы первичного ключа или создайте новую синхронизированную таблицу и удалите существующую.

CHANGED_PRIMARY_KEY_COLUMN_TYPE

Типы данных столбцов первичного ключа были изменены <modifiedPkColumns> в синхронизированной таблице <destTableUcName>.

Изменение типов данных столбцов первичного ключа не поддерживается в синхронизированной таблице после его создания.

Чтобы устранить эту проблему, создайте новую синхронизированную таблицу и удалите существующую.

СИМВОЛ_НЕ_В_РЕПЕРТУАРЕ

Экземпляр: <instance>. Найдена недопустимая последовательность байтов в исходной таблице Delta.

Подробность: <detail>

Обычно это означает, что исходная таблица Delta содержит символы, которые не являются

совместим с кодировкой целевой базы данных. Одним из возможных обходных решений может быть преобразование

исходная таблица для использования BINARY TYPE, а затем создайте синхронизированную таблицу.

ИЗМЕНЕНИЕ_ТИПА_СТОЛБЦА_НЕ_ПОДДЕРЖИВАЕТСЯ

Экземпляр: <instance>. Изменение типа столбца в настоящее время не поддерживается.

Исходная таблица Delta: <srcTableName>. Целевая синхронизированная таблица: <destTableName>

Столбец: <columnName>. Существующий тип: <existingType>. Новый тип: <newType>.

Чтобы устранить эту проблему, рассмотрите один из следующих вариантов:

  1. Выполните полное обновление существующей синхронизированной таблицы.

  2. Создайте новую синхронизированную таблицу (которая будет воспринимать новый тип)

ОШИБКА_СОЕДИНЕНИЯ

Экземпляр: <instance>. Ошибка подключения. Подробные сведения: <detail>.

Чтобы устранить эту проблему, убедитесь, что экземпляр базы данных запущен, а не приостановлен или остановлен.

Перезапустите конвейер, чтобы повторить попытку.

БАЗА_ДАННЫХ_НЕ_СУЩЕСТВУЕТ

Целевая база данных <databaseName> не существует в экземпляре <instance>Lakebase. Проверьте, существует ли целевая база данных.

DELTA_TRUNCATED_TRANSACTION_LOG

Подробные сведения: <detail>.

Это означает, что журнал транзакций таблицы Delta был усечен в результате ручного удаления или из-за политики сохранения журналов.

Чтобы устранить эту проблему, выполните полное обновление синхронизированной таблицы.

Зависимые объекты все еще существуют

Экземпляр: <instance>. Не удается удалить столбец, так как существующий

Объект PostgreSQL по-прежнему ссылается на столбец. Подробные сведения: <detail>.

Чтобы устранить эту проблему, рассмотрите один из следующих вариантов:

  1. Добавьте отсутствующие столбцы обратно в исходную таблицу с теми же типами данных, что и раньше.

  2. Удалите зависимые объекты в PostgreSQL.

Дублирование первичных ключей колонок

Столбцы <duplicatedPkColumns> указываются несколько раз в первичном ключе для синхронизированной таблицы <destTableUcName>.

Чтобы устранить эту проблему, удалите из первичного ключа повторяющиеся столбцы, чтобы каждый столбец отображался только один раз.

нарушение ограничения внешнего ключа

Экземпляр: <instance>. Нарушение ограничения внешнего ключа при синхронизации из исходной таблицы:

<srcTableName>. Подробность: <detail>

Создание ограничений внешнего ключа, ссылающихся на таблицы синхронизации, не поддерживается. Пожалуйста

удалите ограничение внешнего ключа и повторите синхронизацию.

НЕДОСТАТОЧНО МЕСТА ДЛЯ ЭКЗЕМПЛЯРА

Не удалось выполнить синхронизацию таблицы <tableName> с экземпляром <instance> из-за размера базы данных.

Текущее использование экземпляра: <instanceSize> байтов.

Предполагаемый размер несжатой таблицы: <estimatedLoadSize> байты.

Ограничение размера экземпляра: <maxInstanceSize> байт.

Уменьшите объем данных для синхронизации или удалите некоторые существующие таблицы в экземпляре, чтобы освободить место.

LOCK_TIMEOUT

Экземпляр: <instance>. База данных: <databaseName>. Конвейер синхронизированной таблицы не мог получить блокировку в течение настроенного времени ожидания (<timeoutSeconds> секунд).

Обнаружены <numBlockingTransactions> транзакции, удерживающие блокировки на целевой таблице (максимальная длительность удержания блокировки: <lockDurationSeconds> секунд).

Транзакции пользователей удерживают блокировки, блокирующие конвейер синхронизированной таблицы при обновлении целевой таблицы.

Дополнительные сведения о транзакциях, участвующих в ошибке, см. в журналах драйверов Spark (поиск по запросу "[LOCK TIMEOUT DIAGNOSTICS]".

Чтобы устранить эту проблему, найдите подключения с длительными транзакциями в экземпляре postgres с помощью pg_stat_activity и закройте эти транзакции (также можно использовать pg_terminate_backend для завершения подключения, если подключение больше не требуется).

Чтобы предотвратить эту проблему в будущем, рассмотрите следующие варианты:

  1. Убедитесь, что приложение фиксирует или откатывает транзакцию.

  2. Избегайте длительных транзакций. Задайте для auto_commit значение, если работа в приложении не должна выполняться в транзакции.

  3. Установите параметр idle_in_transaction_session_timeout в базе данных для автоматического прерывания бездействующих транзакций.

Пример: ALTER DATABASE <databaseName> SET idle_in_transaction_session_timeout = '5min';

```plaintext Неправильно сконфигурированный основной ключ ```

Предоставленные первичные ключи для исходной таблицы Delta: <srcTableName> недоступны в исходной таблице.

Первичные ключи: <primaryKeys>. Доступные столбцы: <availableColumns>. Отсутствуют первичные ключи: <missingPkColumns>.

Чтобы устранить эту проблему, рассмотрите один из следующих вариантов:

  1. Добавьте отсутствующие столбцы в исходную таблицу.

  2. Создайте новую синхронизированную таблицу с правильной конфигурацией первичного ключа.

PERMISSION_DENIED

Подробные сведения: <detail>.

Убедитесь, что у вас есть достаточные разрешения.

PRIMARY_KEY_CONSTRAINT_VIOLATION

Экземпляр: <instance>. Повторяющиеся строки обнаружены на основе первичного ключа. Подробность: <detail>

Скорее всего, это означает неправильную настройку столбцов первичного ключа.

Убедитесь, что вы используете правильный набор первичных ключей

из исходной таблицы Delta: <srcTableName>

Чтобы устранить эту проблему, создайте новую синхронизированную таблицу с правильными параметрами.

конфигурация первичного ключа.

ОБНОВИТЬ_С_ВНЕШНИМ_КЛЮЧОМ

Экземпляр: <instance>. Не удалось обновить синхронизированную таблицу <destTableName> , так как таблица

<childTableName> имеет ограничение внешнего ключа, ссылающееся на синхронизированную таблицу.

Обновление синхронизированной таблицы не поддерживается при наличии ограничений внешнего ключа

ссылаясь на него. Удалите ограничение внешнего ключа и повторите обновление.

СХЕМА_НЕ_СУЩЕСТВУЕТ

Подробные сведения: <detail>.

Проверьте, существует ли схема в каталоге Unity.

SOURCE_READ_ERROR

Не удалось прочитать из исходной таблицы <tableName>. Убедитесь, что исходная таблица может быть успешно прочитана с помощью SELECT запроса.

Подробность: <detail>

SPARK_JOB_CANCELLED

Задание Spark отменено.

Подробность: <detail>

ТАБЛИЦА_НЕ_СУЩЕСТВУЕТ

Подробные сведения: <detail>.

Проверьте, существует ли синхронизированная таблица в каталоге Unity.

TARGET_DATABASE_FULL

Целевое пространство базы данных <databaseName> заполнено. Не удается продолжить прием.

СЛИШКОМ_МНОГО_СОЕДИНЕНИЙ

Слишком много открытых подключений к экземпляру базы данных: <instance>

Подробные сведения: <detail>.

Каждая синхронизация таблиц может использовать до 16 подключений к экземпляру базы данных, которые засчитываются в лимит подключений для экземпляра.

Чтобы устранить эту проблему, попробуйте выполнить следующие действия.

  1. Уменьшите число параллельных конвейеров, записывемых в один экземпляр базы данных.

Например, разбейте графики работы конвейера.

  1. Уменьшите количество одновременных подключений из других рабочих нагрузок, подключающихся к одному экземпляру базы данных.

UNTRANSLATABLE_CHARACTER

Экземпляр: <instance>. Найден нетрансляционный символ в исходной таблице Delta.

Подробность: <detail>

Обычно это означает, что исходная таблица Delta содержит символы, которые не являются

совместим с кодировкой целевой базы данных. Одним из возможных обходных решений может быть преобразование

исходная таблица для использования BINARY TYPE, а затем создайте синхронизированную таблицу.