I created schema \"customer1\" with table \"user\" and I\'m trying to connect it from JDBC using Connection.setSchema():
String url = \"jdbc:postgresql://loc
user
is a built-in function (and a keyword). So you can't really use it as a table name:
psql (10.4)
Type "help" for help.
postgres=# select user;
user
----------
postgres
(1 row)
postgres=# select * from user;
user
----------
postgres
(1 row)
And because it's a function it does not have a column name
.
postgres=# select name from user;
ERROR: column "name" does not exist
LINE 1: select name from user;
^
postgres=#
If you qualify the table, then it's clear that you are not referencing the function, but the table.
You can either always qualify the table name with the schema, or use double quotes: select name from "user";
or simply find a table name that does not collide with built-in functions.