42P02: undefined_parameter
PostgreSQLO que significa?
A consulta referencia um parâmetro que não existe. O PostgreSQL informa que o parâmetro posicional referenciado (por exemplo, $2) não está definido. Pertence à Class 42 (syntax_error_or_access_rule_violation).
Por que acontece?
Referenciar mais parâmetros do que os fornecidos em um comando preparado com PREPARE (por exemplo, enviar dois parâmetros e usar $3); numeração de parâmetros com lacunas; ou índices $N errados em SQL concatenado dinamicamente.
Como resolver
Garanta que os números dos parâmetros correspondam à quantidade de valores fornecidos; verifique se começam em $1 e seguem sem lacunas. Defina completamente os tipos dos parâmetros no comando PREPARE: PREPARE p(int, text) AS SELECT ... WHERE a=$1 AND b=$2; Se usar ORM/driver, compare a quantidade de parâmetros vinculados com os placeholders da consulta.