diff --git a/doc/FAQ_MSWIN b/doc/FAQ_MSWIN index eed29ff6a55c236b59410626d445f4886181d853..25b8fe51f05b73c2ecc4fc793381eb499fdd9e91 100644 --- a/doc/FAQ_MSWIN +++ b/doc/FAQ_MSWIN @@ -1,19 +1,19 @@ How do I installing PostgreSQL on Windows NT or Windows 2000? ============================================================= -$Date: 2000/10/18 21:14:56 $ +$Date: 2001/01/19 23:43:35 $ 1. Install the Cygwin package. The Cygwin package provides a UNIX-like API on top of the Win32 API. It is available at <http://sources.redhat.com/cygwin/>. - The 1.1.x series is recommended (1.1.4 was the latest at the time + The 1.1.x series is recommended (1.1.7 was the latest at the time of this writing); using 1.0 or B20 might require extra efforts. For B20 you also need to download the separate crypt library at the same location. 2. Install the cygipc package, available at - <http://cygutils.netpedia.net/V1.1/cygipc/>. Do not use versions - prior to 1.04, they will not work. + <http://www.neuro.gatech.edu/users/cwilson/cygutils/V1.1/cygipc/>. + Do not use versions prior to 1.04, they will not work. 3. Optional: The "Andy Piper Tools" at <http://www.xemacs.freeserve.co.uk/> are a collection of pre-compiled libraries and utilities that you @@ -29,10 +29,13 @@ $Date: 2000/10/18 21:14:56 $ 6. Proceed according to the INSTALL file. (./configure; make; etc.) -NOTE: By default, PostgreSQL clients like psql communicate using Unix -domain sockets, which do not work on Windows. Start the postmaster -with -i, and when connecting to the database from a client, set the -PGHOST environment variable to `localhost' or supply the hostname on -the command line. +NOTE: There are two issues with Cygwin's current UNIX domain socket +support: + +1. psql (and other clients) will hang if postmaster is not running and + the socket file (e.g., /tmp/.s.PGSQL.5432) exists. + +2. Cygwin's AF_UNIX sockets are really implemented as AF_INET sockets + so they are inherently insecure. Problem reports can be sent to <pgsql-ports@postgresql.org>. diff --git a/src/include/config.h.in b/src/include/config.h.in index debd934672ff27b043b9cea46306c2d29611167c..1367a5ab4bce251be935bf7ee1d5117d418dea5b 100644 --- a/src/include/config.h.in +++ b/src/include/config.h.in @@ -8,7 +8,7 @@ * or in config.h afterwards. Of course, if you edit config.h, then your * changes will be overwritten the next time you run configure. * - * $Id: config.h.in,v 1.155 2001/01/09 18:40:15 petere Exp $ + * $Id: config.h.in,v 1.156 2001/01/19 23:43:35 petere Exp $ */ #ifndef CONFIG_H @@ -228,7 +228,7 @@ /* * Define this if your operating system supports AF_UNIX family sockets. */ -#if !defined(__CYGWIN__) && !defined(__QNX__) && !defined(__BEOS__) +#if !defined(__QNX__) && !defined(__BEOS__) # define HAVE_UNIX_SOCKETS 1 #endif diff --git a/src/include/port/win.h b/src/include/port/win.h index 91b1b1e6d69b24907672727a1c9bb209c43f1894..ff02db1b5b1f04c4762aa55c72fbeb2fb9cdd806 100644 --- a/src/include/port/win.h +++ b/src/include/port/win.h @@ -9,3 +9,10 @@ typedef unsigned char slock_t; #define HAVE_INT_TIMEZONE /* has int _timezone */ #include <cygwin/version.h> + +/* + * Check for b20.1 and disable AF_UNIX family socket support. + */ +#if CYGWIN_VERSION_DLL_MAJOR < 1001 +# undef HAVE_UNIX_SOCKETS +#endif diff --git a/src/test/regress/pg_regress.sh b/src/test/regress/pg_regress.sh index 3cef454a27635626bb76f59246f9b1cab9b69776..c80239eb62b377d0cc927a23002c38389bd20ee4 100644 --- a/src/test/regress/pg_regress.sh +++ b/src/test/regress/pg_regress.sh @@ -1,5 +1,5 @@ #! /bin/sh -# $Header: /cvsroot/pgsql/src/test/regress/Attic/pg_regress.sh,v 1.17 2001/01/13 03:25:48 petere Exp $ +# $Header: /cvsroot/pgsql/src/test/regress/Attic/pg_regress.sh,v 1.18 2001/01/19 23:43:36 petere Exp $ me=`basename $0` : ${TMPDIR=/tmp} @@ -156,11 +156,11 @@ done # ---------- -# When on Windows, QNX or BeOS, don't use Unix sockets. +# When on QNX or BeOS, don't use Unix sockets. # ---------- case $host_platform in - *-*-cygwin* | *-*-qnx* | *beos*) + *-*-qnx* | *beos*) unix_sockets=no;; *) unix_sockets=yes;;