PostgreSQL:列磁盘使用情况

PostgreSQL: Column Disk usage

我的数据库中有一个很大的 table,但它的每一列都有很多空字段,我想知道每一列使用了多少。

有没有办法知道每个 table 列使用了多少磁盘 space?

尝试使用 pg_column_size(),它将 return 列大小(以字节为单位):

SELECT sum(pg_column_size(column)) FROM yourtable

the documentation 所述,NULL 值在每个元组的 null 位图 中指示,如果 table 具有可为空的列,则它始终存在。

因此 NULL 值不会占用额外的 space 磁盘。

如果您设计的 table 包含很多列,请重新考虑您的设计。