Postgresql में विभिन्न डेटा प्रकारों की आकार सीमा क्या है? मैं देखा कहीं उस के लिए character varying(n), varchar(n) n10485760. के लिए 1 के बीच होना चाहिए यह सच है?
के लिए मान्य आकार क्या हैं character(n), char(n)और text?
Postgresql में विभिन्न डेटा प्रकारों की आकार सीमा क्या है? मैं देखा कहीं उस के लिए character varying(n), varchar(n) n10485760. के लिए 1 के बीच होना चाहिए यह सच है?
के लिए मान्य आकार क्या हैं character(n), char(n)और text?
जवाबों:
Postgres में सीमित वर्ण प्रकार (जैसे varchar (n)) का अधिकतम आकार 10485760 है। आप इसे इस तरह से देख सकते हैं:
create table test(id serial primary key, str varchar(10485761));
ERROR: length for type varchar cannot exceed 10485760
सीमा को स्रोत कोड (htup_details.h) के निम्नलिखित टुकड़े में परिभाषित किया गया है, हालांकि आधिकारिक दस्तावेज में स्पष्ट रूप से उल्लेख नहीं किया गया है:
/*
* MaxAttrSize is a somewhat arbitrary upper limit on the declared size of
* data fields of char(n) and similar types. It need not have anything
* directly to do with the *actual* upper limit of varlena values, which
* is currently 1Gb (see TOAST structures in postgres.h). I've set it
* at 10Mb which seems like a reasonable number --- tgl 8/6/00.
*/
#define MaxAttrSize (10 * 1024 * 1024)
चर असीमित लंबाई प्रकार (पाठ, varchar) के लिए वर्णों की अधिकतम संख्या अपरिभाषित है। सभी स्ट्रिंग प्रकारों के लिए बाइट्स में आकार की एक सीमा होती है :
किसी भी मामले में, सबसे लंबे समय तक संभव चरित्र स्ट्रिंग को संग्रहीत किया जा सकता है जो लगभग 1 जीबी है।