PostgreSQL
 sql >> डेटाबेस >  >> RDS >> PostgreSQL

PostgreSQL को अपरकेस टेबल नाम क्यों पसंद नहीं हैं?

तालिका के नाम को दोहरे उद्धरण चिह्नों में रखें यदि आप संबंध नामों के लिए मामले को संरक्षित करने के लिए पोस्टग्रेज करना चाहते हैं।

<ब्लॉककोट>

किसी पहचानकर्ता को उद्धृत करना उसे केस-संवेदी भी बनाता है, जबकि अउद्धृत नाम हमेशा लोअर केस में जोड़ दिए जाते हैं . उदाहरण के लिए, पहचानकर्ता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)

इसलिए यदि आपने उद्धरणों के साथ तालिका बनाई है, तो आपको इसे क्वेरी करने वाले उद्धरणों को छोड़ना नहीं चाहिए। लेकिन अगर आपने ऑब्जेक्ट बनाने वाले उद्धरणों को छोड़ दिया है, तो नाम को लोअरकेस में जोड़ दिया गया था और ऐसा ही क्वेरी में अपरकेस नाम के साथ होगा - इस तरह आप इसे "ध्यान नहीं देंगे"।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. NoSuchMethodError प्राप्त करना:javax.persistence.Table.indexes() जेपीए क्वेरी करते समय

  2. PostgreSQL:यदि मौजूद नहीं है तो तालिका बनाएं AS

  3. PostgreSQL के लिए सर्वश्रेष्ठ DBaaS समाधान

  4. [वीडियो] PostgreSQL में JSON डेटा प्रकारों का परिचय

  5. जेपीए और हाइबरनेट के साथ केवल-पढ़ने और पढ़ने-लिखने के लेनदेन को कैसे विभाजित करें