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 文档: 数据库对象大小函数