Код 42703 (undefined_column) – в запросе указана колонка, которой нет в таблице или которая недоступна в текущем контексте. В тексте ошибки PostgreSQL часто подсказывает похожее по написанию имя.
Частые причины
- Опечатка в имени колонки.
- Колонка указана без нужного алиаса таблицы или вне области видимости (например, обращение к ней до JOIN).
- Регистр: имя создано в двойных кавычках с заглавными буквами, а в запросе — без кавычек (PostgreSQL приводит неэкранированные имена к нижнему регистру).
- Ссылка на псевдоним из списка SELECT внутри WHERE или HAVING – там он еще недоступен.
- Колонка была переименована или удалена.
Как исправить
- Посмотрите фактический список колонок таблицы: \d имя_таблицы.
- Исправьте имя или квалифицируйте его таблицей/алиасом:
SELECT t.amount FROM orders AS t;
- Если имя задано с заглавными буквами через кавычки — обращайтесь так же:
SELECT "userId" FROM accounts;