Postgresql में विभिन्न डेटा प्रकारों की आकार सीमा क्या है? मैं देखा कहीं उस के लिए character varying(n)
, varchar(n)
n
10485760. के लिए 1 के बीच होना चाहिए यह सच है?
के लिए मान्य आकार क्या हैं character(n)
, char(n)
और text
?
Postgresql में विभिन्न डेटा प्रकारों की आकार सीमा क्या है? मैं देखा कहीं उस के लिए character varying(n)
, varchar(n)
n
10485760. के लिए 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 जीबी है।