I think I have some more information on the statistics collector startup
problem on Solaris.
I inserted the following into pgstat.c:
if (bind(pgStatSock, addr->ai_addr, addr->ai_addrlen) < 0)
{
/* what type of socket are we trying to bind? */
fprintf(stderr, "Address family is %d\n", addr->ai_addr->sa_family);
...
}
This returns a value of 26, which on Solaris is AF_INET6. But the
machine I'm using (a V880 running 2.8) has no IPv6 address on any of its
interfaces. And addr->ai_addr->sa_data is empty, so it's no surprise why bind() is failing.
I'm not sure why Solaris is giving getaddrinfo_all an IPv6 address, though.
-derek