Re: Yet another failure mode in pg_upgrade

Tom Lane <tgl@sss.pgh.pa.us>

From: Tom Lane <tgl@sss.pgh.pa.us>
To: Bruce Momjian <bruce@momjian.us>
Cc: Magnus Hagander <magnus@hagander.net>, pgsql-hackers@postgresql.org
Date: 2012-09-01T18:23:22Z
Lists: pgsql-hackers
Bruce Momjian <bruce@momjian.us> writes:
> + 	/*
> + 	 *	Report the Unix domain socket directory location to the postmaster.
> + 	 */

"Report" seems entirely the wrong verb there.

> + #define LISTEN_STR	" -c listen_addresses=''"
> + 
> + 	/* Have a sockdir to use? */
> + 	if (strlen(os_info.sockdir) != 0)
> + 		snprintf(socket_string, sizeof(socket_string) - strlen(LISTEN_STR),
> + 			" -c %s='%s'",
> + 			(GET_MAJOR_VERSION(cluster->major_version) < 903) ?
> + 				"unix_socket_directory" : "unix_socket_directories",
> + 			os_info.sockdir);
> + 	
> + 	/* prevent TCP/IP connections */
> + 	strcat(socket_string, LISTEN_STR);

IMO this would be simpler and more readable if you got rid of the LISTEN_STR
#define and just included -c listen_addresses='' in the snprintf format
string.  The comment for the whole thing should be something like
"If we have a socket directory to use, command the postmaster to use it,
and disable TCP/IP connections altogether".

			regards, tom lane