क्या Postgres में सभी डेटाबेस आकार को खोजने के लिए कोई कमांड है?
मैं निम्नलिखित कमांड का उपयोग करके एक विशिष्ट डेटाबेस का आकार खोजने में सक्षम हूं:
select pg_database_size('databaseName');
क्या Postgres में सभी डेटाबेस आकार को खोजने के लिए कोई कमांड है?
मैं निम्नलिखित कमांड का उपयोग करके एक विशिष्ट डेटाबेस का आकार खोजने में सक्षम हूं:
select pg_database_size('databaseName');
जवाबों:
और ... यदि आप पूरी क्वेरी टाइप नहीं करना चाहते हैं ... तो आप भी टाइप कर सकते हैं ...
\l+ <database_name>
और आपको डेटाबेस के बारे में कुछ जानकारी मिलेगी, जिसमें डेटाबेस का आकार भी शामिल है।
और ... सभी डेटाबेस का आकार प्राप्त करने के लिए।
आप बस टाइप कर सकते हैं ...
\l+
आपको इन पोस्टग्रेसल हेल्पर कमांड के साथ क्वेरी करने के लिए पोस्टग्रैस्कल कमांड प्रॉम्प्ट में जाने की आवश्यकता हो सकती है।
टाइप करके अन्य postgresql हेल्पर कमांड की जाँच करें
\?
Postgresql कमांड प्रॉम्प्ट पर।
आप सभी डेटाबेस के नाम प्राप्त कर सकते हैं जिन्हें आप "pg_datbase" सिस्टम तालिका से कनेक्ट कर सकते हैं। फ़ंक्शन को नीचे दिए गए नामों के अनुसार लागू करें।
select t1.datname AS db_name,
pg_size_pretty(pg_database_size(t1.datname)) as db_size
from pg_database t1
order by pg_database_size(t1.datname) desc;
यदि आप एक मानव के बजाय मशीन द्वारा उपभोग किए जाने वाले आउटपुट का इरादा रखते हैं, तो आप pg_size_pretty () फ़ंक्शन को काट सकते हैं।
pg_database_size()
शामिल हैं
\l+
। आउटपुट स्वरूप पढ़ना आसान है, हालांकि (कम कॉलम)। लेखनीयता और पठनीयता के बीच व्यापार ...
-- Database Size
SELECT pg_size_pretty(pg_database_size('Database Name'));
-- Table Size
SELECT pg_size_pretty(pg_relation_size('table_name'));
@ हेंडी इरावन द्वारा यहां उत्तर के आधार पर
डेटाबेस आकार दिखाएं:
\l+
जैसे
=> \l+
berbatik_prd_commerce | berbatik_prd | UTF8 | en_US.UTF-8 | en_US.UTF-8 | | 19 MB | pg_default |
berbatik_stg_commerce | berbatik_stg | UTF8 | en_US.UTF-8 | en_US.UTF-8 | | 8633 kB | pg_default |
bursasajadah_prd | bursasajadah_prd | UTF8 | en_US.UTF-8 | en_US.UTF-8 | | 1122 MB | pg_default |
तालिका आकार दिखाएं:
\d+
जैसे
=> \d+
public | tuneeca_prd | table | tomcat | 8192 bytes |
public | tuneeca_stg | table | tomcat | 1464 kB |
में ही काम करता है psql
।
\d+ *
काम किया, सादा \d+
लौट आयाDid not find any relations.
\c dbname
), फिर करें \d+
।
हां, Postgres में एक डेटाबेस का आकार खोजने के लिए एक कमांड है। यह निम्नलिखित है:
SELECT pg_database.datname as "database_name", pg_size_pretty(pg_database_size(pg_database.datname)) AS size_in_mb FROM pg_database ORDER by size_in_mb DESC;
SELECT database_name, pg_size_pretty(size) from (SELECT pg_database.datname as "database_name", pg_database_size(pg_database.datname) AS size FROM pg_database ORDER by size DESC) as ordered;
SELECT pg_database.datname AS "DB Name", pg_size_pretty(pg_database_size(pg_database.datname)) AS "Size" FROM pg_database ORDER BY (pg_database_size(pg_database.datname)) DESC;
।
SELECT pg_size_pretty(pg_database_size('name of database'));
आपको एक विशेष डेटाबेस का कुल आकार देगा, लेकिन मुझे नहीं लगता कि आप एक सर्वर के भीतर सभी डेटाबेस कर सकते हैं।
हालाँकि आप ऐसा कर सकते हैं ...
DO
$$
DECLARE
r RECORD;
db_size TEXT;
BEGIN
FOR r in
SELECT datname FROM pg_database
WHERE datistemplate = false
LOOP
db_size:= (SELECT pg_size_pretty(pg_database_size(r.datname)));
RAISE NOTICE 'Database:% , Size:%', r.datname , db_size;
END LOOP;
END;
$$
pg_database
इस घिनौने pl / pgsql के बजाय एक ही क्वेरी क्यों नहीं हो सकती है ?
से PostgreSQL विकि ।
नोट: वे डेटाबेस, जिनसे उपयोगकर्ता कनेक्ट नहीं हो सकते हैं, जैसे कि वे अनंत आकार के हैं।
SELECT d.datname AS Name, pg_catalog.pg_get_userbyid(d.datdba) AS Owner,
CASE WHEN pg_catalog.has_database_privilege(d.datname, 'CONNECT')
THEN pg_catalog.pg_size_pretty(pg_catalog.pg_database_size(d.datname))
ELSE 'No Access'
END AS Size
FROM pg_catalog.pg_database d
ORDER BY
CASE WHEN pg_catalog.has_database_privilege(d.datname, 'CONNECT')
THEN pg_catalog.pg_database_size(d.datname)
ELSE NULL
END DESC -- nulls first
LIMIT 20
आपके सबसे बड़े संबंधों और सबसे बड़ी तालिकाओं के आकार का पता लगाने के लिए पृष्ठ में स्निपेट भी हैं।
PostgreSQL के सभी डेटाबेस के आकार का पता लगाने के लिए आप नीचे क्वेरी का उपयोग कर सकते हैं।
इस ब्लॉग से संदर्भ लिया जाता है।
SELECT
datname AS DatabaseName
,pg_catalog.pg_get_userbyid(datdba) AS OwnerName
,CASE
WHEN pg_catalog.has_database_privilege(datname, 'CONNECT')
THEN pg_catalog.pg_size_pretty(pg_catalog.pg_database_size(datname))
ELSE 'No Access For You'
END AS DatabaseSize
FROM pg_catalog.pg_database
ORDER BY
CASE
WHEN pg_catalog.has_database_privilege(datname, 'CONNECT')
THEN pg_catalog.pg_database_size(datname)
ELSE NULL
END DESC;
PgAdmin प्रारंभ करें, सर्वर से कनेक्ट करें, डेटाबेस नाम पर क्लिक करें, और आँकड़े टैब का चयन करें। आपको सूची के नीचे डेटाबेस का आकार दिखाई देगा।
फिर यदि आप किसी अन्य डेटाबेस पर क्लिक करते हैं, तो यह आँकड़ों के टैब पर रहता है, ताकि आप बहुत प्रयास किए बिना आसानी से कई डेटाबेस आकार देख सकें। यदि आप तालिका सूची खोलते हैं, तो यह सभी तालिकाओं और उनके आकारों को दिखाता है।
Databases
ट्री नोड (एक डीबी कनेक्शन से जुड़े) पर क्लिक करते हैं और उस Statistics
टैब का चयन करें जिसे आपको सभी डेटाबेस और उनके आकार (तीसरे कॉलम) के अच्छे सारांश के साथ प्रस्तुत किया जाएगा।
du -k /var/lib/postgresql/ |sort -n |tail
du -k /var/lib/pgsql/ | sort -n | tail