PostgreSQL
 sql >> डेटाबेस >  >> RDS >> PostgreSQL

PostgreSQL अनुक्रमणिका आकार और मान संख्या

pg_table_size('index_name') व्यक्तिगत अनुक्रमणिका के लिए - लेकिन यह आपको केवल डिस्क पर आकार दिखाएगा, डेटा की मात्रा नहीं

count(*) पंक्तियों का सटीक वर्तमान माउंट प्राप्त करने के लिए

तालिका_नाम से sum(pg_column_size(column_name)) from table_name कॉलम डेटा राशि के अनुमानों के लिए

आप स्वयं को इस तरह आज़मा सकते हैं:

t=# \di+ tbl*
                                    List of relations
 Schema |         Name         | Type  |  Owner   |     Table      |  Size  | Description
--------+----------------------+-------+----------+----------------+--------+-------------
 public | tbl_pkey  | index | postgres | tbl | 156 MB |
 public | tbl_unpic | index | postgres | tbl | 46 MB  |
 public | tbl_x1    | index | postgres | tbl | 57 MB  |
(3 rows)

t=# \dt+ tbl
                        List of relations
 Schema |      Name      | Type  |  Owner   | Size  | Description
--------+----------------+-------+----------+-------+-------------
 public | tbl | table | postgres | 78 MB |
(1 row)

t=# select pg_size_pretty(pg_total_relation_size('tbl'));
 pg_size_pretty
----------------
 337 MB
(1 row)

t=# select 78+57+46+156;
 ?column?
----------
      337
(1 row)

और यह जांचने के लिए कि कैसे psql को व्यक्तिगत अनुक्रमणिका आकार मिलता है, इसे psql -E . के साथ चलाएं ..

और एक बार फिर - ऊपर के कार्य डिस्क के आकार के साथ काम करते हैं - यह वास्तविक मात्रा में डेटा से बहुत अलग हो सकता है/(नहीं)। वैक्यूमिंग यहाँ मदद करता है

अपडेट करें मुझे नहीं पता कि आपको इंडेक्स में सीधे "पंक्तियों" की संख्या कहां मिलती है, इस प्रकार केवल अप्रत्यक्ष तरीके से पेशकश कर सकते हैं। उदाहरण के लिए मुझे आंशिक अनुक्रमणिका दें, इसलिए "पंक्तियों की संख्या" तालिका से अलग है। मैं EXPLAIN के साथ अनुमानों की जांच कर सकता हूं (बेशक आपको उसके लिए जहां क्लॉज दोहराना होगा) rows=66800 की जांच करना Index Only Scan using . में मुझे उस अनुक्रमणिका में पंक्तियों की संख्या के बारे में एक विचार देता है (वास्तव में यह rows=64910 है जिसे आप explain analyze . द्वारा प्राप्त कर सकते हैं या बस चल रहा है count(*) ) मुझे pg_stats में प्रासंगिक जानकारी नहीं मिल रही है - शायद कुछ सूत्र है। मुझे नहीं पता।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Postgres में SQL सर्वर के पहचान कॉलम के बराबर कैसे बनाएं

  2. इंटरमीडिएट टेबल का उपयोग करके पोस्टग्रेज टेबल का विभाजन कैसे करें

  3. jsonb फ़ील्ड में PostgreSQL का नाम बदलें विशेषता

  4. OSM टाइलें कैसे प्रस्तुत करें

  5. एकाधिक पैरामीटर और शर्तों पर SQL द्वीप का पता लगाएं