DBAtlas · Atlas de operações de banco de dados

42P18: indeterminate_datatype

PostgreSQL

O que significa?

O PostgreSQL não conseguiu inferir pelo contexto o tipo de dado de uma expressão ou parâmetro. Ocorre com mais frequência quando um placeholder sem tipo (como $1) ou um NULL isolado é usado sem nenhuma indicação de tipo ao redor.

Por que acontece?

Parâmetros sem tipo em prepared statements; comparações em que os dois lados são indeterminados, como "WHERE $1 = $2"; ou uso de NULL/literais de array sem contexto. O planner não consegue decidir qual tipo usar.

Como resolver

Adicione um cast explícito à expressão indeterminada: $1::text, $1::integer, NULL::date etc. Por exemplo: SELECT $1::int + 1; Especifique os tipos dos parâmetros do driver/ORM. Em comparações de colunas, garanta que pelo menos um dos lados tenha tipo conhecido.

Abrir no DBAtlas →

Mais entradas deste banco