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

PostgreSQL में नाम एक विशेष कीवर्ड है?

यह थोड़ा इतिहास के साथ एक ज्ञात भ्रमित "फीचर" है। विशेष रूप से, आप तालिका के नाम के साथ संपूर्ण रूप से तालिका से टुपल्स का उल्लेख कर सकते हैं, और फिर .name जोड़ सकते हैं name का आह्वान करेगा उन पर कार्य करें (अर्थात इसे select name(t) from t )।

PostgreSQL 9 के विकास में किसी बिंदु पर, Istr इसे थोड़ा साफ किया गया था। आप अभी भी select t from t पंक्तियों के रूप में टुपल्स प्रभाव प्राप्त करने के लिए स्पष्ट रूप से, लेकिन आप उसी तरह एक फ़ंक्शन लागू नहीं कर सकते हैं। तो PostgreSQL पर 8.4.9 , यह:

create table t(id serial primary key, value text not null);
insert into t(value) values('foo');
select t.name from t;

विचित्र पैदा करता है:

  name   
---------
 (1,foo)
(1 row)

लेकिन 9.1.1 . को उत्पादन करता है:

ERROR:  column t.name does not exist
LINE 1: select t.name from t;
               ^

जैसा आप उम्मीद करेंगे।

तो, विशेष रूप से आपके प्रश्न का उत्तर देने के लिए:name PostgreSQL में एक मानक प्रकार है (तालिका नामों आदि के लिए कैटलॉग में उपयोग किया जाता है) और चीजों को name में बदलने के लिए कुछ मानक फ़ंक्शन भी हैं। प्रकार। यह वास्तव में आरक्षित नहीं है, बस मौजूद वस्तुओं को कहा जाता है, साथ ही कुछ ऐतिहासिक अजीब वाक्य रचना ने चीजों को भ्रमित कर दिया है; और यह हाल के संस्करणों में डेवलपर्स द्वारा तय किया गया है।



  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. Generate_series का उपयोग करके PostgreSQL में गुम तिथियों को कैसे भरें

  3. Django सेटिंग्स दो इंजनों के साथ डेटाबेस को कॉन्फ़िगर करती हैं

  4. PostgreSQL कैश स्टेटमेंट और डेटा कैसे करता है?

  5. DatabaseError:टाइप कैरेक्टर के लिए बहुत लंबा मान (100)