pgsql(postgresql) 获取用户数据表,显示主键,说明,索引大小,表大小

SELECT tb.relname AS	"name",
    pg_size_pretty(pg_total_relation_size('"' || schemaname || '"."' || tb.relname || '"')) AS "reserved",
    pg_size_pretty(pg_table_size('"' || schemaname || '"."' || tb.relname || '"')) AS "data",
    pg_size_pretty(pg_indexes_size('"' || schemaname || '"."' || tb.relname || '"')) "index_size",
    C.reltuples "sumrows",
    '' "unused",
    CAST(obj_description(relfilenode, 'pg_class') AS VARCHAR) "tdescription",
    (SELECT A.attname AS COLUMN
    FROM
        pg_class C,
        pg_attribute A
    WHERE
        C.relname = tb.relname
        AND A.attnum > 0
        AND A.attrelid = C.oid
        AND(SELECT COUNT
            (pg_constraint.* )
        FROM
            pg_constraint
            INNER JOIN pg_class ON pg_constraint.conrelid = pg_class.oid
            INNER JOIN pg_attribute ON pg_attribute.attrelid = pg_class.oid
            AND pg_attribute.attnum = ANY(pg_constraint.conkey)
            INNER JOIN pg_type ON pg_type.oid = pg_attribute.atttypid
        WHERE
            pg_class.relname = C.relname
            AND pg_constraint.contype = 'p'
            AND pg_attribute.attname = A.attname
        ) > 0
        LIMIT 1
    ) AS "pk"
FROM
		pg_stat_user_tables as tb   
    LEFT JOIN pg_class C ON C.relname = tb.relname
ORDER BY   
     tb.relname

在这里插入图片描述

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值