Postgres jest szczęśliwy, jeśli potrafi wykryć typy niewpisanych stałych z kontekstu. Ale kiedy żaden kontekst nie jest możliwy, a zapytanie jest trochę bardziej złożone niż trywialne, wtedy ten mechanizm zawodzi. Te reguły są specyficzne dla każdej klauzuli SELECT, niektóre są bardziej rygorystyczne, inne nie. Jeśli mogę powiedzieć, to starsze procedury są bardziej tolerancyjne (ze względu na wyższą kompatybilność z Oracle i mniejszy negatywny wpływ na początkujących), nowoczesne są mniej tolerancyjne (ze względu na wyższe bezpieczeństwo w przypadku błędów typowania).
Było kilka propozycji, aby spróbować pracować z dowolną nieznaną stałą literalną, taką jak stała tekstowa, ale została odrzucona z innych powodów. Nie spodziewam się więc znaczących zmian w tym obszarze. Ten problem jest zwykle związany z testami syntetycznymi - a mniej z prawdziwymi zapytaniami, w których typy są dedukowane z typów kolumn.