Postgresql12 db漂亮的大小差异

8wigbo56  于 2023-06-22  发布在  PostgreSQL
关注(0)|答案(1)|浏览(162)

我们最近从Kubernetes上运行的PG12.7迁移到VM上的PG12.14。迁移后,我们检查了所有的行数,它在新的数据库中。但是当我使用pg_pretty_size时,两个db中db大小的差异是巨大的。

SELECT pg_size_pretty(pg_database_size('mydb'));

可能是什么原因造成的?我没有故意在虚拟机上运行的新数据库中设置任何压缩。

jtoj6r0c

jtoj6r0c1#

正在使用的数据库将倾向于积累次优存储。行和表会增长和收缩,释放的空间不会被回收,因为它是
1.很可能无论如何都会被重复使用
1.它以小块的形式散布在整个文件中,因此回收它并不容易。
当你建立一个新的数据库时,根据你的具体操作,很可能所有的表和行都以一种干净有序的方式存储,没有任何额外的空间,所以结果是数据库文件的大小更小。
有点像以前整理数据库的碎片。对于年幼的孩子:如果你把衣服堆在房间里,然后搬到一个新的公寓,在这个过程中把衣服整齐地放好,你可能会节省一些空间。

相关问题