首页 > 解决方案 > PostgreSQL 的数据文件中可以容纳多少行?

问题描述

我在 PostgreSQL 的表空间中有一个包含一列的表。这产生了 3 个数据文件,如下图所示。

在此处输入图像描述

为了测试数据存储的位置,我在表中添加了一行只有一个值,数据文件“49565”从 0kb 变为 8kb。我知道数据存储在数据文件中的每个 8kb 页面中。

我需要知道的是“49565”数据文件中可以容纳多少行。我如何获得这个值?

第二个问题。当我检查我创建的表空间时,它显示了两个对象:索引和表。由于索引行提到数字“49565”,我认为这是索引的数据文件(第一个图像)。那么,为什么我在表中添加的行存储在该数据文件中?

在此处输入图像描述

标签: postgresqlstoragetablespacephysical-design

解决方案


这些文件中只有一个是正确的表,其他文件可能是 TOAST 表和 TOAST 索引,或者它们可能是索引。

表的数据文件的大小限制为 1GB。如果超过该值,49565.1将创建第二个段。所以桌子上没有大小限制。

一个数据文件中有多少行取决于行的大小,但这不是一个非常重要的问题。最好插入大量具有真实数据和度量的行。


推荐阅读