From b7b5a1899aa3caeef30117f8e36c1f0e68e8847a Mon Sep 17 00:00:00 2001
From: Tom Lane <tgl@sss.pgh.pa.us>
Date: Sat, 25 Jul 2015 15:58:14 -0400
Subject: [PATCH] In pg_ctl, report unexpected failure to stat() the
 postmaster.pid file.

Any error other than ENOENT is a bit suspicious here, and perhaps should
not be grounds for assuming the postmaster has failed.  For the moment
though, just report it, and don't change the behavior otherwise.  The
intent is mainly to try to determine why we are seeing intermittent
failures in this area on some buildfarm members.

Back-patch to 9.5 where some of these failures have happened.
---
 src/bin/pg_ctl/pg_ctl.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/src/bin/pg_ctl/pg_ctl.c b/src/bin/pg_ctl/pg_ctl.c
index 74764fabdaf..6a36d29f43b 100644
--- a/src/bin/pg_ctl/pg_ctl.c
+++ b/src/bin/pg_ctl/pg_ctl.c
@@ -648,7 +648,12 @@ test_postmaster_connection(bool do_checkpoint)
 			struct stat statbuf;
 
 			if (stat(pid_file, &statbuf) != 0)
+			{
+				if (errno != ENOENT)
+					write_stderr(_("\n%s: could not stat file \"%s\": %s\n"),
+								 progname, pid_file, strerror(errno));
 				return PQPING_NO_RESPONSE;
+			}
 
 			if (found_stale_pidfile)
 			{
-- 
GitLab