Postgres 数据库转储大小大于物理大小

Nem*_*das 5 postgresql size dump

我刚刚从我的数据库中做了一个 pg_dump 备份,它的大小约为 95GB,但目录 /pgsql/data 的大小约为 38GB。

我运行了一个真空 FULL 并且转储的大小没有改变。我的 postgres 安装版本是 9.3.4,在 CentOS 6.3 版服务器上。

与物理大小相比,转储的大小非常奇怪,或者我可以认为这是正常的吗?

提前致谢!

问候。

内梅。

Tim*_*sen 1

Postgres 在某些情况下会使用一种称为TOAST 的技术来压缩其数据:

PostgreSQL 使用固定的页面大小(通常为 8 kB),并且不允许元组跨越多个页面。因此,不可能直接存储非常大的字段值。为了克服此限制,大字段值被压缩和/或分解为多个物理行。这对用户来说是透明的,对大多数后端代码影响很小。这种技术被亲切地称为“TOAST”(或“自切片面包以来最好的东西”)。