Skip to content

PostgreSQL डेटा टाइप समझाए गए

PostgreSQL कॉलम का हर सामान्य डेटा टाइप, परिवार के अनुसार समूहबद्ध: पूर्णांक, दशमलव, टेक्स्ट, समय, बूलियन और UUID, JSON, नेटवर्क पते, संयुक्त टाइप और एक्सटेंशन टाइप। हर पंक्ति दिखाती है कि टाइप क्या स्टोर करता है और इसे कब चुनें।

PostgreSQL में दर्जनों टाइप हैं, लेकिन रोज़मर्रा के schema डिज़ाइन में एक मूल सेट उपयोग होता है। बार-बार आने वाले निर्णय: संख्याओं के लिए integer बनाम numeric, स्ट्रिंग के लिए varchar बनाम text (प्रायः text पर्याप्त है), timestamp बनाम timestamptz (किसी भी वास्तविक क्षण के लिए timestamptz प्राथमिकता दें), और json बनाम jsonb (jsonb प्राथमिकता दें; यह बाइनरी और इंडेक्स करने योग्य है)। सबसे विशिष्ट टाइप चुनें जो अभी भी फ़िट हो; डेटाबेस उसे आपके लिए लागू करेगा।

संदर्भ तालिका · 46 प्रविष्टियाँ
46 of 46 rows
पूर्णांक
-32768 से 32767 तक का 2-बाइट पूर्णांक।दुर्लभ; केवल जब जगह बचानी हो।
4-बाइट पूर्णांक, लगभग प्लस/माइनस 2 अरब।डिफ़ॉल्ट पूर्णांक कॉलम।
8-बाइट पूर्णांक, लगभग प्लस/माइनस 9 क्विंटिलियन।बहुत बड़ी संख्याएँ या बाहरी ID।
ऑटो-इंक्रीमेंट होने वाला 4-बाइट पूर्णांक।पुरानी ऑटो-नंबरित की; PG 10 से GENERATED AS IDENTITY अनुशंसित विकल्प है।
serial के 2-बाइट और 8-बाइट संस्करण।smallint या bigint कॉलम से मेल खाती ऑटो-नंबरिंग।
पूर्णांक जो टेबल आपके लिए जनरेट करती है (GENERATED ALWAYS AS IDENTITY)।आधुनिक serial; SQL-स्टैंडर्ड और मैनुअल इंसर्ट से सुरक्षित।
दशमलव और फ़्लोट
किसी भी precision वाले सटीक दशमलव।पैसा और वह सब जहाँ rounding की त्रुटि अस्वीकार्य है।
4-बाइट सिंगल-प्रिसिशन फ़्लोट।अनुमानित वैज्ञानिक मान जहाँ precision गंभीर नहीं है।
8-बाइट डबल-प्रिसिशन फ़्लोट।जियोस्पेशियल, सांख्यिकी और ML फ़ीचर मान।
निश्चित locale वाली मुद्रा राशि।शायद ही; app साइड पर currency code के साथ numeric अधिक पोर्टेबल है।
टेक्स्ट
निश्चित लंबाई का टेक्स्ट, स्पेस से भरा हुआ।ज्ञात चौड़ाई वाले कोड; शायद ही कभी ज़रूरी।
परिवर्तनीय लंबाई का टेक्स्ट, वैकल्पिक सीमा के साथ।सीमित स्ट्रिंग जैसे username या email।
परिवर्तनीय लंबाई का टेक्स्ट, बिना लंबाई की सीमा।सामान्य-प्रयोजन स्ट्रिंग कॉलम; varchar की तुलना में कोई performance जुर्माना नहीं।
समय
दिन के समय के बिना कैलेंडर तिथि।जन्मदिन और नियत तिथियाँ।
दिन का समय, टाइम ज़ोन के साथ या बिना।दैनिक अलार्म या दुकान के खुलने के घंटे।
टाइम ज़ोन के बिना तिथि और समय।पुराने schema; नए काम में न लें।
UTC में संग्रहीत तिथि और समय, क्लाइंट के ज़ोन में दिखता है।किसी भी वास्तविक क्षण के लिए डिफ़ॉल्ट; इसे timestamp पर प्राथमिकता दें।
समय का अंतराल, जैसे 2 दिन या 3 घंटे।अवधियाँ और तिथि गणित।
बूलियन, UUID और बाइट
सही या ग़लत।फ़्लैग और टॉगल।
128-बिट सार्वत्रिक अद्वितीय पहचानकर्ता।गैर-क्रमिक ID जिन्हें प्रकट करना सुरक्षित है (app में या gen_random_uuid से जनरेट करें)।
कच्चे बाइनरी बाइट।ब्लॉब, चित्र और अपारदर्शी payload; बड़ी फ़ाइलों के लिए object storage बेहतर है।
निश्चित या परिवर्तनीय लंबाई वाली बिट स्ट्रिंग।पैक किए गए फ़्लैग और प्रोटोकॉल फ़ील्ड; एकल on/off मान फिर भी boolean है।
JSON और अर्ध-संरचित
बाइनरी, इंडेक्स करने योग्य रूप में पार्स किया गया JSON।लचीला या नेस्टेड डेटा; अनुशंसित JSON कॉलम (GIN इंडेक्स समर्थित)।
मूल टेक्स्ट के रूप में रखा गया JSON।दुर्लभ; केवल जब key का क्रम या सटीक whitespace संरक्षित रखना हो।
XML टेक्स्ट।पुराने एकीकरण जिन्हें XML चाहिए।
JSON डेटा नेविगेट करने के लिए कंपाइल्ड पाथ एक्सप्रेशन।jsonb_path_query और SQL/JSON ऑपरेटरों से jsonb के अंदर फ़िल्टरिंग।
नेटवर्क और खोज
IPv4 या IPv6 होस्ट पता।क्लाइंट या सर्वर के IP संग्रहित करना।
IP नेटवर्क ब्लॉक, जैसे 10.0.0.0/24।फ़ायरवॉल नियम और सबनेट रेंज।
6-बाइट या 8-बाइट (EUI-64) MAC पता।डिवाइस और नेटवर्क इंटरफ़ेस पहचानकर्ता।
फ़ुल-टेक्स्ट खोज के लिए प्री-प्रोसेस्ड टेक्स्ट।अलग सर्च इंजन लेने से पहले Postgres की अंतर्निहित खोज।
AND, OR और प्रीफ़िक्स ऑपरेटरों से जुड़े खोज शब्द।फ़ुल-टेक्स्ट खोज का क्वेरी हिस्सा, @@ से tsvector से मिलान होता है।
राइट-अहेड लॉग की स्थिति, लॉग सीक्वेंस नंबर।रेप्लिकेशन लैग और बैकअप मॉनिटरिंग।
संयुक्त और उन्नत
किसी भी बेस टाइप का ऐरे, जैसे integer[].सरल मानों की सूचियाँ; जब आइटम को अपने कॉलम चाहिए तो चाइल्ड टेबल लें।
आपके द्वारा परिभाषित निश्चित सूची में से एक मान।स्थिर विकल्पों वाले स्टेटस फ़ील्ड।
कई फ़ील्ड वाला कस्टम रो टाइप।टेबलों में साझा होने वाले दोहराए जाने वाले फ़ील्ड समूह।
दो सीमाओं के बीच संयोजित रेंज।शेड्यूल, प्राइस बैंड और वर्शन अवधि, overlap ऑपरेटरों के साथ।
आपके द्वारा परिभाषित बाधाओं में लिपटा बेस टाइप।पुन: प्रयोज्य नियम जैसे ग़ैर-खाली email, हर कॉलम पर लागू।
टाइप किए गए मानों की बेनाम पंक्ति।PL/pgSQL फ़ंक्शन रिटर्न और मध्यवर्ती क्वेरी परिणाम।
अंतर्निहित द्वि-आयामी ज्यामितीय मान।सरल समतल ज्यामिति; वास्तविक स्थानों के लिए PostGIS चाहिए।
अहस्ताक्षरित 4-बाइट सिस्टम ऑब्जेक्ट पहचानकर्ता।सिस्टम कैटलॉग जॉइन; ऐप कॉलम के लिए नहीं।
63-वर्ण की आंतरिक पहचानकर्ता स्ट्रिंग।कैटलॉग क्वेरी; उपयोगकर्ता के सामने आने वाली चीज़ों के लिए सामान्य text।
एक्सटेंशन टाइप
एक मान में key/value स्ट्रिंग जोड़े (एक्सटेंशन)।फ़्लैट मैप; आज jsonb इसे बेहतर कवर करता है।
news.tech.ai जैसा पदानुक्रमिक लेबल पाथ (एक्सटेंशन)।पूर्वज और वंशज क्वेरी वाले ट्री।
केस की अवहेलना करते हुए तुलना होने वाला टेक्स्ट (एक्सटेंशन)।email जैसी केस-असंवेदनशील विशिष्टता, बिना lower() इंडेक्स।
PostGIS एक्सटेंशन के भौगोलिक और ज्यामितीय ऑब्जेक्ट।दूरी, समावेशन और स्पेशल इंडेक्स क्वेरी।
UUID मान जनरेट करने वाले एक्सटेंशन फ़ंक्शन।पुरानी जनरेशन विधि; PG 13 से gen_random_uuid() अंतर्निहित है।