Chapter 16. Installation from Source Code on Windows

Table of Contents
16.1. Building with Visual C++ or the Platform SDK
16.1.1. Requirements
16.1.2. Special Considerations for 64-bit Windows
16.1.3. Building
16.1.4. Cleaning and Installing
16.1.5. Running the Regression Tests
16.1.6. Building the Documentation
16.2. Building libpq with Visual C++ or Borland C++

It is recommended that most users download the binary distribution for Windows, available as a one-click installer package from the PostgreSQL website. Building from source is only intended for people developing PostgreSQL or extensions.

There are several different ways of building PostgreSQL on Windows. The simplest way to build with Microsoft tools is to install a supported version of the Microsoft Platform SDK and use the included compiler. It is also possible to build with the full Microsoft Visual C++ 2005 or 2008. In some cases that requires the installation of the Platform SDK in addition to the compiler.

It is also possible to build PostgreSQL using the GNU compiler tools provided by MinGW, or using Cygwin for older versions of Windows.

Finally, the client access library (libpq) can be built using Visual C++ 7.1 or Borland C++ for compatibility with statically linked applications built using these tools.

Building using MinGW or Cygwin uses the normal build system, see Chapter 15 and the specific notes in Section 15.7.5 and Section 15.7.2. To produce native 64 bit binaries in these environments, use the tools from MinGW-w64. These tools can also be used to cross-compile for 32 bit and 64 bit Windows targets on other hosts, such as Linux and Darwin. Cygwin is not recommended for running a production server, and it should only be used for running on older versions of Windows where the native build does not work, such as Windows 98. The official binaries are built using Visual Studio.

Native builds of psql don't support command line editing. The Cygwin build does support command line editing, so it should be used where psql is needed for interactive use on Windows.