PostgreSQL 如何查询表大小

文章介绍了如何在PostgreSQL中查询单个表以及所有数据库表的大小。使用pg_relation_size获取单表大小,但不包括索引。通过information_schema.tables可获取包括索引在内的所有表信息,结合pg_table_size,pg_indexes_size和pg_total_relation_size函数得到详细统计。
摘要由CSDN通过智能技术生成

查询 PG 表的大小通常需要使用函数/视图来实现,分为单独查询和批量查询的场景,下面简单列一下:

1. 单表大小查询

如果要查询单个表的大小,可以使用常用的函数,参考语句如下:

select pg_size_pretty(pg_relation_size('表名'));

注意:这个查询结果不包括索引大小,如果要查询索引大小,可以通过查询 information_schema.tables 来获取

2.所有数据库表大小批量查询

如果要查询所有表的大小,包括索引,那么最方便的就是直接查询 information_schema.tables 表了,可以参考如下查询语句:

select
	table_name,
	pg_size_pretty(table_size) as table_size,
	pg_size_pretty(indexes_size) as indexes_size,
	pg_size_pretty(total_size) as total_size
from
	(
	select
		table_name,
		pg_table_size(table_name) as table_size,
		pg_indexes_size(table_name) as indexes_size,
		pg_total_relation_size(table_name) as total_size
	from
		(
		select
			('"' || table_schema || '"."' || table_name || '"') as table_name
		from
			information_schema.tables
) as all_tables
	order by
		total_size desc
) as pretty_sizes;

End~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

阿福Chris

你的鼓励是我创作最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值