如何在PostgreSQL中查询并计算两个表空间的总大小?
PostgreSQL两个表空间大小查询及总和计算
你之前的语句无输出,是因为pg_size_pretty()函数只接受单个数值参数,传入两个参数不符合它的调用规则,自然没法返回正确结果。
下面给你两种可行的查询方式:
1. 同时查看单个表空间大小与总大小
这个查询会分别列出两个表空间的已用空间,再给出两者的总和:
SELECT 'poolData' AS tablespace_name, pg_size_pretty(pg_tablespace_size('poolData')) AS used_size UNION ALL SELECT 'pool' AS tablespace_name, pg_size_pretty(pg_tablespace_size('pool')) AS used_size UNION ALL SELECT 'Total' AS tablespace_name, pg_size_pretty(pg_tablespace_size('poolData') + pg_tablespace_size('pool')) AS used_size;
2. 仅获取两个表空间的总大小
如果只需要总和,直接相加后格式化即可:
SELECT pg_size_pretty(pg_tablespace_size('poolData') + pg_tablespace_size('pool')) AS total_used_size;
补充说明:pg_tablespace_size()返回的是字节数,直接相加后用pg_size_pretty()可以自动转换成KB、MB、GB这类易读的单位。
内容的提问来源于stack exchange,提问作者Krishna Vyas
相关产品推荐
相关产品推荐

