masukkan nama tabel ke dalam tanda kutip ganda jika Anda ingin postgres mempertahankan case untuk nama relasi.
Mengutip pengidentifikasi juga membuatnya peka huruf besar/kecil, sedangkan nama yang tidak dikutip selalu dilipat menjadi huruf kecil . Misalnya, pengidentifikasiFOO, foo, dan "foo" dianggap sama oleh PostgreSQL, tetapi "Foo" dan "FOO" berbeda dari ketiganya dan satu sama lain. (Pelipatan nama yang tidak dikutip menjadi huruf kecil di PostgreSQL tidak sesuai dengan standar SQL, yang mengatakan bahwa nama yang tidak dikutip harus dilipat menjadi huruf besar. Jadi, foo harus setara dengan "FOO" bukan "foo" menurut standar. Jika Anda ingin menulis aplikasi portabel yang Anda sarankan untuk selalu mengutip nama tertentu atau tidak pernah mengutipnya .)
dari dokumen (penekanan milik saya)
contoh dengan mengutip:
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)
contoh tanpa mengutip:
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)
Jadi, jika Anda membuat tabel dengan tanda kutip, Anda tidak boleh melewatkan tanda kutip saat menanyakannya. Tetapi jika Anda melewatkan tanda kutip saat membuat objek, nama tersebut dilipat menjadi huruf kecil dan demikian pula dengan nama huruf besar dalam kueri - dengan cara ini Anda "tidak akan menyadarinya".