PG查詢數據庫大小

查看所有數據庫

playboy=> \l                       //\加上字母l,相當于mysql的,mysql> show databases;  
            List of databases  
       Name    |  Owner   | Encoding  
    -----------+----------+----------  
     playboy   | postgres | UTF8  
     postgres  | postgres | UTF8  
     template0 | postgres | UTF8  
     template1 | postgres | UTF8  

查看playboy數據庫的大小

    playboy=> select pg_database_size('playboy');      
     pg_database_size  
    ------------------  
              3637896  
    (1 row)  

以KB,MB,GB的方式來查看數據庫大小

playboy=> select pg_size_pretty(pg_database_size('playboy'));     
     pg_size_pretty  
    ----------------  
     3553 kB  
    (1 row)  

查看所有數據庫的大小

playboy=>  select pg_database.datname, pg_database_size(pg_database.datname) AS size from pg_database;   
      dataname  |  size  
    -----------+---------  
     postgres  | 3621512  
     playboy   | 3637896  
     template1 | 3563524  
     template0 | 3563524  
    (4 rows)  

統計各數據庫占用磁盤大小:

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  
ROM 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

查看單表

playboy=> \d test;                 //相當于mysql的,mysql> desc test;  
                Table "public.test"  
     Column |         Type          | Modifiers  
    --------+-----------------------+-----------  
     id     | integer               | not null  
     name   | character varying(32) |  
    Indexes: "playboy_id_pk" PRIMARY KEY, btree (id) 

查看表大小

    playboy=> select pg_relation_size('test');   
     pg_relation_size  
    ------------------  
                    0  
    (1 row)  

以KB,MB,GB的方式來查看表大小

playboy=> select pg_size_pretty(pg_relation_size('test'));
    pg_size_pretty  
   ----------------  
    0 bytes  
   (1 row)  

統計數據庫中各表占用磁盤大小:

SELECT  
    table_schema || '.' || table_name AS table_full_name,  
    pg_size_pretty(pg_total_relation_size('"' || table_schema || '"."' || table_name || '"')) AS size  
FROM information_schema.tables  
ORDER BY  
    pg_total_relation_size('"' || table_schema || '"."' || table_name || '"') DESC  

查看索引

playboy=> \di                      //相當于mysql的,mysql> show index from test;  
                List of relations  
 Schema |     Name      | Type  |  Owner  | Table  
--------+---------------+-------+---------+-------  
 public | playboy_id_pk | index | playboy | test  
(1 row)  

查看表的總大小,包括索引大小

playboy=> select pg_size_pretty(pg_total_relation_size('test'));   
     pg_size_pretty  
    ----------------  
     8192 bytes  
    (1 row)  
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容