user
est une fonction intégrée (et un mot clé). Vous ne pouvez donc pas vraiment l'utiliser comme nom de table :
psql (10.4)
Type "help" for help.
postgres=# select user;
user
----------
postgres
(1 row)
postgres=# select * from user;
user
----------
postgres
(1 row)
Et parce que c'est une fonction, elle n'a pas de colonne name
.
postgres=# select name from user;
ERROR: column "name" does not exist
LINE 1: select name from user;
^
postgres=#
Si vous qualifiez le tableau, il est clair que vous ne faites pas référence à la fonction, mais au tableau.
Vous pouvez soit toujours qualifier le nom de la table avec le schéma, soit utiliser des guillemets :select name from "user";
ou trouvez simplement un nom de table qui n'entre pas en conflit avec les fonctions intégrées.