2008-10-22 100 views
1

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

+0

你正在运行什么数据库版本? – 2009-01-14 21:53:21

回答

1

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

我的评论纯粹是猜测,我没有数据来支持我的'声明'。

+0

是的,一个是32位,一个是64位。版本差异较小(8.1.3和8.1.9)。我想这其中任何一个都是可能的,但我也找不到任何信息来备份它。不过谢谢... – MarsCat 2008-10-23 17:19:05

0

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

0

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