1

我有两个使用同一个 sql 文件创建的 PostgreSQL 数据库。其中之一大 2GB。有人可以帮我弄清楚为什么吗?我确定数据库具有相同的行数、表、索引等。数据库位于不同的服务器上,postgresql.conf 和 PostgreSQL 版本存在细微差异。那里的东西会改变磁盘上的大小吗?

4

3 回答 3

1

您提到它们位于两个不同的服务器和两个不同的版本上。您是否可能有 32 位操作系统和 64 位操作系统差异,或者主要版本更改(因为我们不知道 Postgresql 团队对磁盘上的底层数据结构所做的所有更改)。您可能会发现它与针对特定机器的 OS/CPU 功能等优化的索引的内部格式有关。

我的评论纯粹是猜测,我没有数据支持我的“主张”。

于 2008-10-22T17:51:11.437 回答
0

尝试在 PostgreSQL 上使用 VACUUM 命令释放以前使用的空间。

于 2008-10-22T15:36:16.013 回答
0

在 PostgreSQL 中,任何单个表、索引或日志都存储为单独的文件。一个复杂的数据库可以有数千个文件。可能差异是由于服务器文件系统中的块大小或集群大小不同。

于 2008-12-04T18:00:44.050 回答