user
je vestavěná funkce (a klíčové slovo). Nemůžete jej tedy skutečně použít jako název tabulky:
psql (10.4)
Type "help" for help.
postgres=# select user;
user
----------
postgres
(1 row)
postgres=# select * from user;
user
----------
postgres
(1 row)
A protože se jedná o funkci, nemá sloupec name
.
postgres=# select name from user;
ERROR: column "name" does not exist
LINE 1: select name from user;
^
postgres=#
Pokud se kvalifikujete na tabulku, pak je jasné, že neodkazujete na funkci, ale na tabulku.
Název tabulky můžete buď vždy kvalifikovat pomocí schématu, nebo použít dvojité uvozovky:select name from "user";
nebo jednoduše najděte název tabulky, který nekoliduje s vestavěnými funkcemi.