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;

測試結果:

postgres=# SELECT d.datname AS Name,  pg_catalog.pg_get_userbyid(d.datdba) AS Owner,
postgres-#     CASE WHEN pg_catalog.has_database_privilege(d.datname, 'CONNECT')
postgres-#         THEN pg_catalog.pg_size_pretty(pg_catalog.pg_database_size(d.datname))
postgres-#         ELSE 'No Access'
postgres-#     END AS SIZE
postgres-# FROM pg_catalog.pg_database d
postgres-#     ORDER BY
postgres-#     CASE WHEN pg_catalog.has_database_privilege(d.datname, 'CONNECT')
postgres-#         THEN pg_catalog.pg_database_size(d.datname)
postgres-#         ELSE NULL
postgres-#     END DESC -- nulls first
postgres-#     LIMIT 20;
   name    |  owner   |  size   
-----------+----------+---------
 pg1       | postgres | 23 MB
 postgres  | postgres | 7631 kB
 template0 | postgres | 7481 kB
 template1 | postgres | 7481 kB
(4 rows)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章