I have just managed to get pg server and client (cvs tip) talking IPv6 on Windows. :-)

1. Building
- added in library in configure.in: AC_CHECK_LIB(ws2_32, main) - faked out getaddrinfo test in resulting configure and force answer to "yes"
   - added these lines to src/include/port/win32/sys/socket.h:
       #include <ws2tcpip.h>
       #define gai_strerrorA(err) "undetermined getaddrinfo error"

After installation and initdb, I edited postgresql.conf to set listen_addresses to '127.0.0.1, ::1' just to make sure what we were getting.

2. Running without IPv6 driver installed.
The build works, although it complains about IPv6 addresses. But I could run it with IPv4 addresses quite happily - the IPv6 addresses just fail, but they don't stop us running.

3. Running with IPv6 driver installed
Now the build does not complain about IPv6 addresses (either in pg_hba.conf or postgresql.conf)
  And this command works: psql -h ::1 -l


So the remaining questions are:
. what do we do about the getaddrinfo test? I'm almost inclined not to do it on windows, and assume that if we have ws2_32.dll we have it. . what to do about the gai_strerror mess (import our own but leave out our own getaddrinfo?) . make sure that this doesn't break less modern Windows platforms than mine (XP Pro SP1). How ubiquitous is ws2_32.dll?

I have asked a few people to test this build. I don't want to publish its location openly, but if anyone wants to help they can drop me an email. Alternatively, some kind person could provide a site on a nice fat pipe for an 18Mb download.


cheers

andrew

---------------------------(end of broadcast)---------------------------
TIP 6: explain analyze is your friend

Reply via email to