मैं स्तंभ प्रकार और लंबाई आकार का संदर्भ देकर अनुमानित तालिका आकार प्राप्त करने की तलाश में हूं। मैं इसके लिए pg_column_size
का उपयोग करने की कोशिश कर रहा हूं।pg_column_size octet_length से छोटा कैसे हो सकता है?
फ़ंक्शन का परीक्षण करते समय, मुझे एहसास हुआ कि इस फ़ंक्शन के साथ कुछ गलत लगता है।
pg_column_size(...)
का परिणाम मूल्य कभी-कभी एक ही स्ट्रिंग पर octet_length(...)
से वापसी मूल्य से भी छोटा होता है।
कॉलम में संख्यात्मक वर्णों के अलावा कुछ भी नहीं है।
postgres=# \d+ t5
Table "public.t5"
Column | Type | Modifiers | Storage | Stats target | Description
--------+-------------------+-----------+----------+--------------+-------------
c1 | character varying | | extended | |
Has OIDs: no
postgres=# select pg_column_size(c1), octet_length(c1) as octet from t5;
pg_column_size | octet
----------------+-------
2 | 1
704 | 700
101 | 7000
903 | 77000
(4 rows)
क्या यह बग या कुछ है? क्या कॉलम प्रकारों और लंबाई के मानों से अनुमानित तालिका आकार की गणना करने के लिए कुछ सूत्र के साथ कोई है?
आपको बहुत बहुत धन्यवाद ... – KIM