2012-05-01 17 views
34

में "टेक्स्ट" डेटाटाइप का अधिकतम आकार मैं अजगर के साथ काम कर रहा हूं।postgresql

मेरे पास पोस्टग्रेज़ में "टेक्स्ट" डेटाटाइप वाला फ़ील्ड है। जब भी मैं एक बहुत बड़ी स्ट्रिंग को बचाने की कोशिश करता हूं, यह पाइथन में आंतरिक त्रुटि फेंकता है, लेकिन अगर मैं छोटे आकार के साथ स्ट्रिंग को सहेजता हूं, तो यह ठीक से बचाता है।

मुझे समस्या नहीं आती है। क्या यह है कि "टेक्स्ट" डेटाटाइप के लिए वर्ण दर्ज करने के लिए कुछ अधिकतम सीमा है?

+0

त्रुटि क्या है? क्या आप सुनिश्चित हैं कि आपके पास बड़े टेक्स्ट में कोई वर्ण नहीं है जो क्वेरी को तोड़ सकता है, जैसे कुछ? – Habib

+0

क्या कोई बाधा है जो कॉलम के आकार को सीमित कर रही है? – luke2012

+0

त्रुटि संदेश कंक्रीट क्या है? रेखा कैसे दिखती है, जो इसे फेंकता है? –

उत्तर

59

manual से:

In any case, the longest possible character string that can be stored is about 1 GB.

+0

यह पहली बार बड़ी स्ट्रिंग बचाता है। लेकिन जब भी दो अतिरिक्त चरित्र जोड़कर, फिर से सहेजने की कोशिश की गई, तो यह "आंतरिक सर्वर त्रुटि: ब्लॉक के अंत तक बंद कर दिया गया है" – user977933

+4

सभी त्रुटि संदेशों को देखने के लिए लॉगफाइल जांचें, यह आखिरी की तरह दिखता है, जो ' आपको कुछ भी नहीं बताओ। –

+1

क्या यह 100% सही है? [मैन्युअल] से [https://www.postgresql.org/docs/current/static/datatype-character.html) यह भी कहता है: ** (अधिकतम मूल्य जो डेटा प्रकार में n के लिए अनुमति होगी घोषणा उससे कम है। इसे बदलने के लिए यह उपयोगी नहीं होगा क्योंकि मल्टीबाइट वर्ण एन्कोडिंग के साथ वर्णों और बाइट्स की संख्या काफी अलग हो सकती है। यदि आप बिना किसी विशिष्ट ऊपरी सीमा के लंबे तारों को स्टोर करना चाहते हैं, तो पाठ या चरित्र को अलग-अलग उपयोग करें एक मनमानी लंबाई सीमा बनाने के बजाय, लंबाई विनिर्देशक।) ** – Carlos