64bit Windows port

From PostgreSQL wiki
Jump to navigationJump to search

Note: 64bit Windows port was introduced in PostgreSQL 9.0.

64bit Windows Port

This page is for collating info and working up a TODO list for producing an eventual Win64 port of PostgreSQL. As there is generally no reason to run with shared_buffers > 256 - 512MB on Windows, because increases beyond that stop being effective, there isn't a great deal of incentive to put in the effort required for the 64 bit port. There are a few reasons though:

  • 64 bit applications may require a 64 bit libpq.dll.
  • Some end users/customers like the warm fuzzy feeling they get from running 64 bit binaries on their 64 bit machines.
  • Users may want to use custom C functions that make use of external 64 bit libraries.
  • Users may want to use procedural languages that use 64 bit interpreters.
  • Sooner or (probably) later Microsoft will likely deprecate their 32 bit tool chain.
  • Magnus blogged why a win64 port is not too urgent: http://swik.net/PostgreSQL/Planet+Postgresql/Magnus+Hagander:+PostgreSQL+vs+64-bit+windows

The following subsections list the issues that need to be resolved in broad categories.

Code changes

  • Build system
  • Datatypes used in the backend (*much* more detail is required here folks!)

Support libraries

We'll need 64 bit builds of these support libraries to avoid turning off expected features.

Hint: other people also look for those libraries, connecting http://wiki.wireshark.org/Development/Win64

Procedural languages