PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

Защо PostgreSQL не харесва имената на таблици с ГОЛИНИ РЕГИСТРИ?

поставете името на таблицата в двойни кавички, ако искате postgres да запази главни и малки букви за имената на релациите.

Цитирането на идентификатор също го прави чувствителен към малки букви, докато имена без кавички винаги се сгъват до малки букви . Например, идентификаторите FOO, foo и "foo" се считат за еднакви от PostgreSQL, но "Foo" и "FOO" са различни от тези три и един от друг. (Сгъването на имена без кавички в малки букви в PostgreSQL е несъвместимо със стандарта SQL, който казва, че имената без кавички трябва да бъдат сгънати до главни букви. По този начин foo трябва да е еквивалентно на „FOO“, а не на „foo“ според стандарта. Ако искате да пишете преносими приложения, които сте посъветвали да винаги цитират определено име или никога да не го цитират .)

от документи (подчертавам моето)

пример с цитиране:

t=# create table "UC_TNAME" (i int);
CREATE TABLE
t=# \dt+ UC

t=# \dt+ "UC_TNAME"
                      List of relations
 Schema |   Name   | Type  |  Owner   |  Size   | Description
--------+----------+-------+----------+---------+-------------
 public | UC_TNAME | table | postgres | 0 bytes |
(1 row)

пример без цитиране:

t=# create table UC_TNAME (i int);
CREATE TABLE
t=# \dt+ UC_TNAME
                      List of relations
 Schema |   Name   | Type  |  Owner   |  Size   | Description
--------+----------+-------+----------+---------+-------------
 public | uc_tname | table | postgres | 0 bytes |
(1 row)

Така че, ако сте създали таблица с кавички, не трябва да пропускате кавички, като я заявявате. Но ако сте пропуснали кавички, създавайки обект, името е сгънато до малки букви и така ще бъде с главни букви в заявката - по този начин "няма да го забележите".



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да изчислим сумата от множество колони в PostgreSQL

  2. GREATEST() Функция в PostgreSQL

  3. Разлика между език sql и език plpgsql във функциите на PostgreSQL

  4. Низови литерали и escape знаци в postgresql

  5. Динамичен SQL (EXECUTE) като условие за оператор IF