pg_ctl: Make failure to complete operation a nonzero exit

If an operation being waited for does not complete within the timeout,
then exit with a nonzero exit status.  This was previously handled
inconsistently.
This commit is contained in:
Peter Eisentraut 2017-05-01 12:10:17 -04:00
parent d80e73f229
commit 1bac5f552a
2 changed files with 13 additions and 2 deletions

View File

@ -412,6 +412,13 @@ PostgreSQL documentation
<command>pg_ctl</command> returns an exit code based on the
success of the startup or shutdown.
</para>
<para>
If the operation does not complete within the timeout (see
option <option>-t</option>), then <command>pg_ctl</command> exits with
a nonzero exit status. But note that the operation might continue in
the background and eventually succeed.
</para>
</listitem>
</varlistentry>

View File

@ -840,7 +840,9 @@ do_start(void)
break;
case POSTMASTER_STILL_STARTING:
print_msg(_(" stopped waiting\n"));
print_msg(_("server is still starting up\n"));
write_stderr(_("%s: server did not start in time\n"),
progname);
exit(1);
break;
case POSTMASTER_FAILED:
print_msg(_(" stopped waiting\n"));
@ -1166,7 +1168,9 @@ do_promote(void)
else
{
print_msg(_(" stopped waiting\n"));
print_msg(_("server is still promoting\n"));
write_stderr(_("%s: server did not promote in time\n"),
progname);
exit(1);
}
}
else