DBAtlas · Атлас эксплуатации баз данных

42P16: invalid_table_definition

PostgreSQL

Что это значит?

Команда DDL отклонена, так как определение таблицы недопустимо. Запрошенная структура таблицы/столбцов нарушает правила PostgreSQL.

Почему возникает?

Ситуации вроде определения более одного первичного ключа ('multiple primary keys for table are not allowed'), определений, конфликтующих с наследованием, ограничений столбцов generated/identity или изменения в структуру, которую ALTER TABLE не может создать. Часто встречается в автоматически сгенерированных скриптах миграций.

Как исправить

Прочитайте конкретную причину в сообщении об ошибке. Определяйте только один PRIMARY KEY; если нужен многостолбцовый ключ, используйте составной ключ вида PRIMARY KEY (a, b). Изучите правила для столбцов identity/generated. Проверьте текущее определение таблицы с помощью \d my_table и исправьте скрипт миграции.

Открыть в DBAtlas →

Ещё по этой СУБД