pg_size_pretty()
是一个系统函数,用于将字节大小显示为人类可读的格式。
pg_size_pretty()
函数已在 PostgreSQL 8.1 中添加。
用法
pg_size_pretty (bigint
) →text
pg_size_pretty (numeric
) →text
大小将以适当的单位输出:字节、kB、MB、GB、TB 或(从 PostgreSQL 15 开始)PB。请注意,单位是 2 的幂而不是 10 的幂,例如 1kB
表示 1024
字节,1MB
表示 1048576
字节(10242
),依此类推。
请注意,从 PostgreSQL 15 开始,小于匹配单位 10 倍的大小将显示为下一个较低的单位,例如:
postgres=# SELECT pg_size_pretty(1024*9::bigint), pg_size_pretty(10240::bigint); pg_size_pretty | pg_size_pretty ----------------+---------------- 9216 bytes | 10 kB (1 row)
变更历史
- PostgreSQL 15
- 能够输出 PB 级别的大小(提交 ca2e4472)
- PostgreSQL 9.2
- 添加了
numeric
输入格式(提交 4a2d7ad7)
- 添加了
- PostgreSQL 8.1
- 添加(提交 358a897f)
示例
pg_size_pretty()
的基本用法示例
postgres=# SELECT pg_size_pretty(16384::bigint); pg_size_pretty ---------------- 16 kB (1 row)
列出数据库大小
postgres=# SELECT datname, pg_size_pretty(pg_database_size(oid)) FROM pg_database ORDER BY 1; datname | pg_size_pretty -----------+---------------- appdb | 6137 MB postgres | 7689 kB testdb | 7817 kB template0 | 7497 kB template1 | 7649 kB (5 rows)
也可以指定负值
gres=# SELECT pg_size_pretty(-324324321::bigint); pg_size_pretty ---------------- -309 MB (1 row)
参考资料
- PostgreSQL文档: 数据库对象大小函数