PostgreSQL: ошибка синтаксиса «user» (SQLSTATE 42601).

Ошибка синтаксиса PostgreSQL: примерное положение «user»

Сообщение ошибка синтаксиса (примерное положение: «user») (SQLSTATE 42601) означает, что user стоит там, где парсер ждёт обычный идентификатор — как правило, в роли имени таблицы или колонки. user — зарезервированное слово PostgreSQL (специальная функция, возвращающая текущего пользователя), поэтому без кавычек как имя объекта оно не принимается.

Как исправить

1. Заключите имя в двойные кавычки везде, где оно встречается:

SELECT "user" FROM accounts;
INSERT INTO logs ("user") VALUES ('alice');

2. Надёжнее на будущее – переименовать столбец или таблицу в незарезервированное имя (username, user_id, app_user), чтобы не экранировать его в каждом запросе.

Важно

Если имя создано через двойные кавычки с заглавными буквами («User»), обращаться к нему нужно точно так же – для имён в кавычках PostgreSQL различает регистр.

Бесплатный 7‑дневный аудит PostgreSQL с PGLens

PGLens остается у вас для полноценного тестирования еще до 90 дней БЕСПЛАТНО