PostgreSQL
 sql >> Database >  >> RDS >> PostgreSQL

L'impostazione dello schema in PostgreSQL JDBC non sembra funzionare

user è una funzione incorporata (e una parola chiave). Quindi non puoi davvero usarlo come nome di una tabella:

psql (10.4)
Type "help" for help.

postgres=# select user;
   user
----------
 postgres
(1 row)

postgres=# select * from user;
   user
----------
 postgres
(1 row)

E poiché è una funzione, non ha una colonna name .

postgres=# select name from user;
ERROR:  column "name" does not exist
LINE 1: select name from user;
               ^
postgres=#

Se qualifichi la tabella, è chiaro che non stai facendo riferimento alla funzione, ma alla tabella.

Puoi sempre qualificare il nome della tabella con lo schema o usare le virgolette:select name from "user"; o semplicemente trova un nome di tabella che non collida con le funzioni integrate.