मैं कुछ PostgreSQL तालिका बनाने में देख रहा हूँ और मैं इस पर ठोकर खाई:एसक्यूएल, पोस्टग्रेस ओआईडी, वे क्या हैं और वे उपयोगी क्यों हैं?
CREATE TABLE (
...
) WITH (OIDS = FALSE);
मैं postgres द्वारा प्रदान प्रलेखन पढ़ सकते हैं और मैं OOP से ऑब्जेक्ट पहचानकर्ता की अवधारणा को पता है, लेकिन अभी भी मैं समझ नहीं है,
- ऐसे पहचानकर्ता डेटाबेस में क्यों उपयोगी होंगे?
- प्रश्न कम करने के लिए?
- इसका उपयोग कब किया जाना चाहिए?
oids अद्वितीय होने की गारंटी नहीं है। दस्तावेज़ों से: "बड़े या लंबे समय तक रहने वाले डेटाबेस में, काउंटर के चारों ओर लपेटना संभव है। इसलिए, यह मानना बुरा व्यवहार है कि ओआईडी अद्वितीय हैं, जब तक आप यह सुनिश्चित करने के लिए कदम उठाते हैं कि यह मामला है।" – radiospiel
चारों ओर लपेटने से यह भी संकेत मिलता है कि आप केवल ओआईडी पर आधारित दो पंक्तियों के पुराने को हटा नहीं सकते थे, क्योंकि निचले ओआईडी वाले एक लपेटने के आसपास हो सकता है। –
ओआईडी वैश्विक स्तर पर अद्वितीय नहीं हैं, उपरोक्त प्रति टिप्पणियां, और न ही 2011 में जब यह उत्तर लिखा गया था। इसके अलावा, सिस्टम ऑब्जेक्ट्स के लिए ओआईडी की आवश्यकता होती है, इसलिए पंक्ति काउंटर पर सभी ओआईडी का उपयोग करने से डेटाबेस को ओआईडी को नई टेबल (तालिका के लिए, इसकी पंक्तियों के साथ) निर्दिष्ट करने में मदद नहीं होती है। साथ ही, इस बात पर विचार करें कि एक गायक 4-बाइट पूर्णांक काउंटर वास्तव में आपके डेटाबेस में प्रत्येक तालिका के लिए पर्याप्त होगा या नहीं। – FuzzyChef