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

एक प्रश्न POSTGRES में एकाधिक तालिकाओं का आकार प्राप्त करें?

निम्नलिखित चुनिंदा क्वेरी सभी तालिका और उसके आकार को लौटा देगी

SELECT
   relname as mytable,
   pg_size_pretty(pg_relation_size(relid)) As size
   FROM pg_catalog.pg_statio_user_tables ORDER BY pg_total_relation_size(relid) DESC;

इस चयन के साथ एक दृश्य बनाएं

CREATE VIEW vTableAndSize AS 
SELECT
   relname as mytable,
   pg_size_pretty(pg_relation_size(relid)) As size
   FROM pg_catalog.pg_statio_user_tables ORDER BY pg_total_relation_size(relid) DESC;

और अब आप इस तरह का आकार प्राप्त करने के लिए इस दृश्य पर क्वेरी कर सकते हैं

SELECT mytable,size 
       FROM vTableAndSize WHERE mytable in ('table1','table2')

ओपी की टिप्पणी

CREATE VIEW vTableAndSize_1 as 
SELECT
   relname as mytable,
   (pg_relation_size(relid)) As size
   FROM pg_catalog.pg_statio_user_tables ORDER BY pg_total_relation_size(relid) DESC;

और उपयोग करके कई स्तंभों का आकार योग प्राप्त करें

/* Get sum of specific tables */
SELECT pg_size_pretty(sum(size)) tablesizesum 
       FROM vTableAndSize_1 WHERE mytable in ('table1','table2')

/* Get sum of all tables */
SELECT pg_size_pretty(sum(size)) tablesizesum 
       FROM vTableAndSize_1

vTableAndSize_1 Create बनाएं आपके PostgreSQL . में आपके सामने के अंत में नीचे की तरह डेटाबेस और क्वेरी (Ruby से परिचित नहीं हूँ) )

ActiveRecord::Base.connection.execute("SELECT pg_size_pretty(sum(size)) FROM vTableAndSize_1 
WHERE mytable in ('table1','table2')")



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. पोस्टग्रेज पर सीएसवी को निर्यात तालिका

  2. नेस्टेड वस्तु पर jsonb क्वेरी पोस्टग्रेज करता है

  3. Postgresql पर UUIDs के साथ रेल 5.2 ActiveStorage

  4. क्लाउड में पोस्टग्रेएसक्यूएल क्लस्टर्स के नियर-ज़ीरो डाउनटाइम ऑटोमेटेड अपग्रेड्स (भाग I)

  5. Postgresql में बैच सम्मिलित पंक्तियों से सीरियल आईडी प्राप्त करना