Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

Postgres does not have a 64 bit binary for windows server

quote "As there is generally no reason to run with shared_buffers > 256 - 512MB on Windows, there isn't a great deal of incentive to put in the effort required for the 64 bit port"

  1. why is there generally no reason to run with lots of memory on windows?
  2. would a 64 bit linux installation be more efficient? if so, which?

this server has 8Gb memory and this number will likely increase to 12Gb. we intended to allocate almost all of the memory to postgres. for what i'm doing i can happily do without a UI.

share|improve this question
    
Looks to me there isn't a performance benefit –  OMG Ponies Jan 3 '10 at 19:57
add comment

migrated from stackoverflow.com Jan 4 '10 at 0:49

This question came from our site for professional and enthusiast programmers.

2 Answers

up vote 2 down vote accepted

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

Postgres leaves disk caching up to the operating system, so there would be little benefit to a 64 bit build on Windows. The developers have decided to spend their time on something more productive and less painful.

But, there is some benefit, since 64 bit code is a bit faster and a bit smaller, and since the Unix version had to be made 64 bit clean for some architectures (Itanium and Alpha, particularly), that job was done a long time ago.

Personally, I'd default to running a dedicated database server on Linux. However, you will have to weigh up the cost of the Windows license against the administration skills; in my environment, everyone knows how to administer Linux boxes, whereas you may have to hire someone to do that, or learn enough (not a good idea if security is critical). Which distribution to use is mostly about what your administrator(s) are current with; in my case, that would be Ubuntu Server Edition.

share|improve this answer
    
thanks, have cancelled win server and am self installing fedora. –  pstanton Jan 5 '10 at 4:43
add comment

Work is being done for the next version, and most likely PostgreSQL 8.5 will run as a native 64-bit binary on Win64. It remains to be seen how many of the third party pieces will work (for example, TCL and MIT Kerberos don't currently provide 64-bit versions on Windows), but the core database should be available.

Note that this would really only be necessary if you want either total work_mem or shared_buffers to be very large. In most cases, that won't be a problem, but if you are running large data-warehouse style queries for example, it might be interesting even with as little memory as your server. But it's mainly being developed to deal with large memory systems, and compatibility with third party libraries.

That said, PostgreSQL will run faster on a Linux/Unix based platform, so if you have that as an option, you should go with it. PostgreSQL has been designed for a Unix architecture, and keeps this architecture on Windows (for example, processes rather than threads), which makes it slower there.

As for which distribution you choose, it doesn't matter from a PostgreSQL perspective. Pick something that your administrators, or someone you work with, feel comfortable with.

Oh, and the proper URL for the blog post referred in Andrews answer is http://blog.hagander.net/archives/73-PostgreSQL-vs-64-bit-windows.html, and it contains an explanation on the memory issue with 32-bit PostgreSQL on 64-bit Windows.

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.