vložte název tabulky do dvojitých uvozovek, pokud chcete, aby postgres zachoval velikost písmen pro názvy vztahů.
Při citování identifikátoru se také rozlišují malá a velká písmena, zatímco jména v uvozovkách jsou vždy složena na malá písmena . Například identifikátoryFOO, foo a "foo" jsou PostgreSQL považovány za stejné, ale "Foo" a "FOO" se od těchto tří a navzájem liší. (Skládání neuvedených jmen na malá písmena v PostgreSQL je nekompatibilní se standardem SQL, který říká, že jména v uvozovkách by se měla skládat na velká písmena. Foo by tedy podle standardu mělo být ekvivalentní "FOO", nikoli "foo". Pokud chcete psát přenosné aplikace, u kterých je doporučeno vždy nebo nikdy neuvádět konkrétní jméno .)
z dokumentů (důraz můj)
příklad s citací:
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)
příklad bez uvozovek:
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)
Takže pokud jste vytvořili tabulku s uvozovkami, neměli byste přeskočit uvozovky při jejím dotazování. Ale pokud jste při vytváření objektu přeskočili uvozovky, název byl složen na malá písmena a tak tomu bude i s velkým názvem v dotazu – tímto způsobem si toho „nevšimnete“.