Postgresql - SQL - vw_tablesiace

创建一个视图,用来显示除了系统表之外的所有表的大小。


CREATE OR REPLACE VIEW vw_tablesize AS
SELECT tables.schemaname, tables.tablename, pg_size_pretty(tables.size) AS size_pretty, pg_size_pretty(tables.total_size) AS total_size_pretty 
FROM (
    SELECT pg_tables.schemaname, 
    pg_tables.tablename, 
    pg_tables.tableowner, 
    pg_tables.tablespace, 
    pg_tables.hasindexes, 
    pg_tables.hasrules, 
    pg_tables.hastriggers, 
    pg_relation_size((((pg_tables.schemaname)::text || '.'::text) || (pg_tables.tablename)::text)) AS size, 
    pg_total_relation_size((((pg_tables.schemaname)::text || '.'::text) || (pg_tables.tablename)::text)) AS total_size 
    FROM pg_tables where schemaname not in ('pg_catalog','information_schema')) tables 
ORDER BY tables.total_size DESC;

猜你喜欢

转载自blog.csdn.net/chuckchen1222/article/details/85619897
今日推荐