diff --git a/doc/FAQ_MSWIN b/doc/FAQ_MSWIN
index eed29ff6a5..25b8fe51f0 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 .
- 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
- . Do not use versions
- prior to 1.04, they will not work.
+ .
+ Do not use versions prior to 1.04, they will not work.
3. Optional: The "Andy Piper Tools" at
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 .
diff --git a/src/include/config.h.in b/src/include/config.h.in
index debd934672..1367a5ab4b 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 91b1b1e6d6..ff02db1b5b 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
+
+/*
+ * 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 3cef454a27..c80239eb62 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;;