postgres在64位Linux或64位Windows Server 2008?

Postgres没有一个64位二进制文​​件的Windows服务器

引用 “由于在Windows上通常没有理由使用shared_buffers> 256 – 512MB,所以没有很大的动力去投入64位端口所需的努力”

  1. 为什么通常没有理由在Windows上运行大量内存?
  2. 将64位的Linux安装更有效率? 如果是这样,哪个?

这个服务器有8Gb的内存,这个数字可能会增加到12Gb。 我们打算把几乎所有的内存分配给postgres。 对于我在做什么,我可以愉快地做到没有用户界面。

http://swik.net/PostgreSQL/Planet+Postgresql/Magnus+Hagander:+PostgreSQL+vs+64-bit+windows

Postgres将磁盘caching到操作系统,所以在Windows上构build64位版本几乎没有什么好处。 开发者已经决定把时间花在更有效率,更不痛苦的事情上。

但是,有一些好处,因为64位代码稍微快一点,而且由于某些体系结构(Itanium和Alpha,特别是Unix版本)必须要64位清理干净,所以这项工作需要很长时间前。

就个人而言,我会默认在Linux上运行一个专用的数据库服务器。 但是,您将不得不根据pipe理技能来衡量Windows许可证的成本; 在我的环境中,每个人都知道如何pipe理Linux机器,而你可能不得不雇佣某人来做这件事,或者学习不够(如果安全是关键的话,这不是个好主意)。 要使用哪种分配方式主要是关于您的pipe理员当前处于的状态; 在我的情况下,这将是Ubuntu服务器版。

下一个版本的工作正在进行中,很可能PostgreSQL 8.5将作为Win64上的本机64位二进制文​​件运行。 还有待观察的是第三方有多less工作要做(例如,TCL和MIT Kerberos目前不能在Windows上提供64位版本),但核心数据库应该是可用的。

请注意,如果您希望work_mem或shared_buffers的总数非常大,则实际上只有这样做是必要的。 在大多数情况下,这不会是一个问题,但是如果您正在运行大型数据仓库样式查询,那么即使内存不如您的服务器也可能是有趣的。 但它主要是为了处理大型内存系统而开发的,并且与第三方库兼容。

也就是说,PostgreSQL在基于Linux / Unix的平台上运行得更快,所以如果你有这个选项,你应该去做。 PostgreSQL被devise用于Unix体系结构,并且在Windows上保持这种体系结构(例如,进程而不是线程),这使得它在那里变得更慢。

至于你select哪个发行版,从PostgreSQL的angular度来看并不重要。 select一些你的pipe理员,或者你一起工作的人,感觉很舒服。

哦,安德鲁斯回答中提到的博客文章的正确URL是http://blog.hagander.net/archives/73-PostgreSQL-vs-64-bit-windows.html ,它包含有关内存问题的解释在64位Windows上使用32位PostgreSQL。