Не могу найти таблицу user в postgres
Накатываю миграции. Есть таблица user:
create table "user" (
id serial not null,
email text not null,
password text not null,
full_name text not null,
password_reset_token text,
);
Захожу внутрь БД. А здесь совершенно другая схема:
my_user=# select * from user;
user
------------
my_user
(1 row)
Почему так происходит?
Ответы (1 шт):
Автор решения: Алексей Шиманский
→ Ссылка
В этом контексте user является зарезервированной внутренней системной функцией Postgres, которая представляет текущего пользователя, вошедшего в базу данных (документация: https://www.postgresql.org/docs/9.6/functions-info.html).
Этот запрос также может быть записан как:
SELECT user;
Также она является полным эквивалентом для current_user
В связи с этим лучше указывать схему, в которой находится таблица user или (если позволяет идеология проекта/компании/разработчика/др.) называть имена таблиц во множественном числе: users