PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

Ustawienie schematu w PostgreSQL JDBC nie działa

user jest funkcją wbudowaną (i słowem kluczowym). Więc tak naprawdę nie możesz użyć go jako nazwy tabeli:

psql (10.4)
Type "help" for help.

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

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

A ponieważ jest to funkcja, nie ma kolumny name .

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

Jeśli zakwalifikujesz tabelę, jasne jest, że nie odwołujesz się do funkcji, ale do tabeli.

Możesz zawsze zakwalifikować nazwę tabeli do schematu lub użyć podwójnych cudzysłowów:select name from "user"; lub po prostu znajdź nazwę tabeli, która nie koliduje z wbudowanymi funkcjami.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Postgres ręcznie zmienia sekwencję

  2. Jak rozwiązać problem z uwierzytelnianiem Postgresql SCRAM?

  3. Now() bez strefy czasowej

  4. ComboBox.ValueMember i DisplayMember

  5. Odpowiednik strftime w Postgres