OID मूल रूप से आपको प्रत्येक पंक्ति के लिए एक अंतर्निहित आईडी देता है, जो एक सिस्टम कॉलम में निहित होता है (जैसा कि उपयोगकर्ता-स्पेस कॉलम के विपरीत)। यह उन तालिकाओं के लिए आसान है जहां आपके पास प्राथमिक कुंजी नहीं है, डुप्लिकेट पंक्तियां हैं, आदि। उदाहरण के लिए, यदि आपके पास दो समान पंक्तियों वाली तालिका है, और आप दोनों में से सबसे पुरानी को हटाना चाहते हैं, तो आप इसका उपयोग करके ऐसा कर सकते हैं ओआईडी कॉलम।
OIDs को 4-बाइट अहस्ताक्षरित पूर्णांकों का उपयोग करके कार्यान्वित किया जाता है। वे नहीं हैं अद्वितीय-ओआईडी काउंटर 2³²-1 के आसपास लपेटा जाएगा। OID का उपयोग डेटा प्रकारों की पहचान करने के लिए भी किया जाता है (देखें /usr/include/postgresql/server/catalog/pg_type_d.h
)।
मेरे अनुभव में, सुविधा आमतौर पर अधिकांश पोस्टग्रेज-समर्थित अनुप्रयोगों में अप्रयुक्त होती है (शायद आंशिक रूप से क्योंकि वे गैर-मानक हैं), और उनका उपयोग अनिवार्य रूप से बहिष्कृत है:
<ब्लॉकक्वॉट>PostgreSQL 8.1 में default_with_oids डिफ़ॉल्ट रूप से बंद है; PostgreSQL के पूर्व संस्करणों में, यह डिफ़ॉल्ट रूप से चालू था।
उपयोगकर्ता तालिकाओं में OID का उपयोग बहिष्कृत माना जाता है, इसलिए अधिकांश स्थापनाओं को इस चर को अक्षम छोड़ देना चाहिए। किसी विशेष तालिका के लिए OID की आवश्यकता वाले अनुप्रयोगों को तालिका बनाते समय OIDS के साथ निर्दिष्ट करना चाहिए। इस चर को पुराने अनुप्रयोगों के साथ संगतता के लिए सक्षम किया जा सकता है जो इस व्यवहार का पालन नहीं करते हैं।