42P18: indeterminate_datatype
PostgreSQLЧто это значит?
PostgreSQL не смог вывести тип данных выражения или параметра из контекста. Чаще всего встречается, когда нетипизированный заполнитель (например, $1) или голый NULL используется без какой-либо подсказки о типе.
Почему возникает?
Нетипизированные параметры в подготовленных операторах; сравнения, где обе стороны неопределённого типа, например "WHERE $1 = $2"; либо использование NULL/литералов массивов без контекста. Планировщик не может решить, какой тип использовать.
Как исправить
Добавьте явное приведение типа к выражению неопределённого типа: $1::text, $1::integer, NULL::date и т. д. Например: SELECT $1::int + 1; Укажите типы для параметров драйвера/ORM. При сравнении столбцов убедитесь, что хотя бы у одной стороны известный тип.