user
es una función integrada (y una palabra clave). Así que realmente no puedes usarlo como nombre de tabla:
psql (10.4)
Type "help" for help.
postgres=# select user;
user
----------
postgres
(1 row)
postgres=# select * from user;
user
----------
postgres
(1 row)
Y debido a que es una función, no tiene una columna name
.
postgres=# select name from user;
ERROR: column "name" does not exist
LINE 1: select name from user;
^
postgres=#
Si califica la tabla, entonces está claro que no está haciendo referencia a la función, sino a la tabla.
Siempre puede calificar el nombre de la tabla con el esquema o usar comillas dobles:select name from "user";
o simplemente busque un nombre de tabla que no entre en conflicto con las funciones integradas.