postgresql列表和按大小排序的表

有没有一种简单的方法可以列出Postgresql数据库中的所有表并按大小排序?

代码

SELECT * FROM tables
ORDER by tables.size

我正在使用Postgresql 9.3.2.

select table_name,pg_relation_size(quote_ident(table_name))
from information_schema.tables
where table_schema = 'public'
order by 2

如果您有多个模式,则可以显示模式公共中所有表的大小,您可能希望使用:

select table_schema,table_name,pg_relation_size('"'||table_schema||'"."'||table_name||'"')
from information_schema.tables
order by 3

sqlFiddle示例:http://sqlfiddle.com/#!15/13157/3

手册中所有对象大小函数的列表:
https://www.postgresql.org/docs/current/static/functions-admin.html#FUNCTIONS-ADMIN-DBSIZE

相关文章

来源:http://www.postgres.cn/docs/11/ 4.1.1. 标识符和关键词 SQL标识符和关键词必须以一个...
来源:http://www.postgres.cn/docs/11/ 8.1. 数字类型 数字类型由2、4或8字节的整数以及4或8...
来源:http://www.postgres.cn/docs/11/ 5.1. 表基础 SQL并不保证表中行的顺序。当一个表被读...
来源:http://www.postgres.cn/docs/11/ 6.4. 从修改的行中返回数据 有时在修改行的操作过程中...
来源:http://www.postgres.cn/docs/11/ 13.2.1. 读已提交隔离级别 读已提交是PostgreSQL中的...
来源:http://www.postgres.cn/docs/11/ 9.7. 模式匹配 PostgreSQL提供了三种独立的实现模式匹...