user
er en indbygget funktion (og et nøgleord). Så du kan ikke rigtig bruge det som et tabelnavn:
psql (10.4)
Type "help" for help.
postgres=# select user;
user
----------
postgres
(1 row)
postgres=# select * from user;
user
----------
postgres
(1 row)
Og fordi det er en funktion, har den ikke en kolonne name
.
postgres=# select name from user;
ERROR: column "name" does not exist
LINE 1: select name from user;
^
postgres=#
Hvis du kvalificerer tabellen, så er det klart, at du ikke refererer til funktionen, men til tabellen.
Du kan enten altid kvalificere tabelnavnet med skemaet eller bruge dobbelte anførselstegn:select name from "user";
eller bare find et tabelnavn, der ikke kolliderer med indbyggede funktioner.