42P17: invalid_object_definition
PostgreSQLЧто это значит?
Определение объекта (функции, правила сортировки (collation), триггера, правила и т. д.) недопустимо. PostgreSQL указывает, что заданное определение внутренне противоречиво или неприемлемо; объект невозможно создать/изменить в таком виде.
Почему возникает?
Частые причины: противоречивые сочетания атрибутов функции (например, помечена IMMUTABLE, но ведёт себя как volatile), недопустимое определение collation/набора символов или неподходящее определение триггера/правила. Причиной также могут быть несогласованные параметры защиты на уровне строк (RLS) и некоторых DDL.
Как исправить
Прочитайте подробности ошибки (DETAIL/HINT), чтобы определить, какая часть определения отклонена. Приведите метки изменчивости функций в соответствие с фактическим поведением (VOLATILE/STABLE/IMMUTABLE). Убедитесь, что имя collation существует в pg_collation. Исправьте определение согласно документированному синтаксису/правилам и выполните его снова.