PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

La configuration du schéma dans PostgreSQL JDBC ne semble pas fonctionner

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.