postgreSQL數據字典簡介3-存儲空間類

一、空間相關系統函數簡介

名称

返回类型

描述

pg_column_size(any)

int

存储一个特定值(可能压缩过)所需的字节数

pg_database_size(oid)

bigint

指定 OID 的数据库使用的磁盘空间

pg_database_size(name)

bigint

指定名称的数据库使用的磁盘空间

pg_indexes_size(regclass)

bigint

附加到指定表的索引所占的总磁盘空间

pg_relation_size(relation regclass, fork text)

bigint

指定表或索引的指定分叉('main''fsm''vm''init')使用的磁盘空间

pg_relation_size(relation regclass)

bigint

pg_relation_size(..., 'main')的简写

pg_size_bytes(text)

bigint

把人类可读格式的带有单位的尺寸转换成字节数

pg_size_pretty(bigint)

text

将表示成一个 64位整数的字节尺寸转换为带尺寸单位的人类可读格式

pg_size_pretty(numeric)

text

将表示成一个数字值的字节尺寸转换为带尺寸单位的人类可读格式

pg_table_size(regclass)

bigint

被指定表使用的磁盘空间,排除索引(但包括 TOAST、空闲空间映射和可见性映射)

pg_tablespace_size(oid)

bigint

指定 OID 的表空间使用的磁盘空间

pg_tablespace_size(name)

bigint

指定名称的表空间使用的磁盘空间

二、常用查看空間大小示例

1、查看各數據庫佔用空間大小

SELECT d.datname                            AS Db_Name,

       pg_catalog.pg_get_userbyid(d.datdba) AS Owner,

       (CASE

            WHEN pg_catalog.has_database_privilege(d.datname, 'CONNECT')

                THEN pg_catalog.pg_size_pretty(pg_catalog.pg_database_size(d.datname))

            ELSE 'No Access'

           END)                             AS SIZE

FROM pg_catalog.pg_database d

ORDER BY (CASE

              WHEN pg_catalog.has_database_privilege(d.datname, 'CONNECT')

                  THEN pg_catalog.pg_database_size(d.datname)

              ELSE NULL

    END) DESC nulls last

2、查看表及索引佔用空間大小

SELECT table_schema || '.' || table_name                                                         AS full_table_name,

       pg_size_pretty(pg_total_relation_size('"' || table_schema || '"."' || table_name || '"')) AS size_total,

       pg_size_pretty(pg_relation_size('"' || table_schema || '"."' || table_name || '"'))       AS size_table,

       pg_size_pretty(pg_indexes_size('"' || table_schema || '"."' || table_name || '"'))        AS size_index

FROM information_schema.tables

ORDER BY pg_total_relation_size('"' || table_schema || '"."' || table_name || '"') DESC

          

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值