aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom Lane <tgl@sss.pgh.pa.us>2015-07-25 15:58:14 -0400
committerTom Lane <tgl@sss.pgh.pa.us>2015-07-25 15:58:14 -0400
commitb7b5a1899aa3caeef30117f8e36c1f0e68e8847a (patch)
treeed9e94f8c17b283cf5aad21554f33ed378607982
parent158d61534e98638106d85bdb1de5dbdb56bc8057 (diff)
downloadpostgresql-b7b5a1899aa3caeef30117f8e36c1f0e68e8847a.tar.gz
postgresql-b7b5a1899aa3caeef30117f8e36c1f0e68e8847a.zip
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.
-rw-r--r--src/bin/pg_ctl/pg_ctl.c5
1 files changed, 5 insertions, 0 deletions
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)
{