42P17: invalid_object_definition
PostgreSQLO que significa?
A definição de um objeto (função, collation, trigger, rule etc.) é inválida. O PostgreSQL indica que a definição informada é internamente inconsistente ou inaceitável; o objeto não pode ser criado/alterado da forma como foi escrito.
Por que acontece?
Causas comuns: combinações contraditórias de atributos em uma função (por exemplo, marcada como IMMUTABLE mas com comportamento volátil), uma definição inválida de collation/conjunto de caracteres ou uma definição inadequada de trigger/rule. Opções inconsistentes em row-level security (RLS) e alguns DDLs também podem causá-lo.
Como resolver
Leia os detalhes do erro (DETAIL/HINT) para determinar qual parte da definição foi rejeitada. Alinhe os rótulos de volatilidade das funções ao comportamento real (VOLATILE/STABLE/IMMUTABLE). Verifique se o nome da collation existe em pg_collation. Corrija a definição de acordo com a sintaxe/as regras documentadas e execute-a novamente.