तालिका के नाम को दोहरे उद्धरण चिह्नों में रखें यदि आप संबंध नामों के लिए मामले को संरक्षित करने के लिए पोस्टग्रेज करना चाहते हैं।
<ब्लॉककोट>किसी पहचानकर्ता को उद्धृत करना उसे केस-संवेदी भी बनाता है, जबकि अउद्धृत नाम हमेशा लोअर केस में जोड़ दिए जाते हैं . उदाहरण के लिए, पहचानकर्ताFOO, foo, और "foo" को PostgreSQL द्वारा समान माना जाता है, लेकिन "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)
इसलिए यदि आपने उद्धरणों के साथ तालिका बनाई है, तो आपको इसे क्वेरी करने वाले उद्धरणों को छोड़ना नहीं चाहिए। लेकिन अगर आपने ऑब्जेक्ट बनाने वाले उद्धरणों को छोड़ दिया है, तो नाम को लोअरकेस में जोड़ दिया गया था और ऐसा ही क्वेरी में अपरकेस नाम के साथ होगा - इस तरह आप इसे "ध्यान नहीं देंगे"।