PostgreSQL:列磁盘使用情况

Posted

技术标签:

【中文标题】PostgreSQL:列磁盘使用情况【英文标题】:PostgreSQL: Column Disk usage 【发布时间】:2020-06-08 01:28:07 【问题描述】:

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

有没有办法知道每个表列使用了多少磁盘空间?

【问题讨论】:

pg_column_size()? 【参考方案1】:

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

SELECT sum(pg_column_size(column)) FROM yourtable

【讨论】:

【参考方案2】:

正如the documentation 提到的,NULL 值在每个元组的null 位图 中指示,如果表具有可为空的列,则始终存在。

因此,NULL 值不会占用磁盘上的额外空间。

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

【讨论】:

以上是关于PostgreSQL:列磁盘使用情况的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 PySpark 将 JSON 列类型写入 Postgres?

PostgreSQL 磁盘使用大小监控

如何在 PostgreSQL 11.1 中将现有列更改为身份

PostgreSQL 上所有列的索引

使用带有 sqlalchemy 的 postgresql xml 数据类型

ALTER TABLE,在非空列中设置空,PostgreSQL 9.1