How to install PostgreSQL on Windows
====================================
$Date: 2002/11/11 20:04:05 $

1.  Install the latest Cygwin package, available at http://cygwin.com/.
    The Cygwin package provides a UNIX-like API on top of the Win32
    API.

    A pre-built PostgreSQL is part of the standard Cygwin distribution
    and is installed by Cygwin's setup.exe.  You are encouraged to use
    this version unless it does not meet your needs.  Please read the
    README file, /usr/doc/Cygwin/postgresql-${version}.README, where
    "${version}" is the version (e.g., 7.2).

2.  Install the latest cygipc package, available at
    http://www.neuro.gatech.edu/users/cwilson/cygutils/V1.1/cygipc/.
    Do not use versions prior to 1.04, they will not work.

    Use the following command to install the cygipc package:

        $ tar -C / -xjf cygipc-${version}.tar.bz2

    where "${version}" is the version (e.g., 1.11-1).

3.  The Cygwin bin directory has to be placed in the path before the
    Windows program directories, because the sort.exe has to be taken
    from Cygwin, not Windows.

4.  Start ipc-daemon from the cygipc package.  Use "net start ipc-daemon",
    if ipc-daemon is installed as a service; otherwise, use "ipc-daemon &".
    This program needs to be running anytime you start the PostgreSQL
    server (postmaster) or initialize a database (initdb).

5.  Proceed according to the INSTALL file (i.e., ./configure; make; etc.)
    noting the following Cygwin specific differences:

        o The GNU make command is called "make" not "gmake".
        o The adduser command is not supported -- use the appropriate
          user management application on Windows NT, 2000, or XP.
          Otherwise, skip this step.
        o The su command is not supported -- use ssh to simulate su
          on Windows NT, 2000, or XP. Otherwise, skip this step.

    Alternatively, proceed according to the README file supplied with
    the Cygwin PostgreSQL package.

NOTE:  The following are known issues with PostgreSQL on Windows:

1.  Cygwin's AF_UNIX sockets are really implemented as AF_INET sockets
    so they are inherently insecure.

2.  make check can generate spurious regression test failures due to
    overflowing the listen() backlog queue which causes connection
    refused errors.

Problem reports can be sent to pgsql-cygwin@postgresql.org.
