How to install PostgreSQL on Windows ==================================== $Date: 2003/02/14 14:05:52 $ 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.