@@ -62,9 +62,9 @@ typedef enum
6262 START_COMMAND ,
6363 STOP_COMMAND ,
6464 RESTART_COMMAND ,
65- PROMOTE_COMMAND ,
6665 RELOAD_COMMAND ,
6766 STATUS_COMMAND ,
67+ PROMOTE_COMMAND ,
6868 KILL_COMMAND ,
6969 REGISTER_COMMAND ,
7070 UNREGISTER_COMMAND ,
@@ -126,9 +126,9 @@ static void do_init(void);
126126static void do_start (void );
127127static void do_stop (void );
128128static void do_restart (void );
129- static void do_promote (void );
130129static void do_reload (void );
131130static void do_status (void );
131+ static void do_promote (void );
132132static void do_kill (pgpid_t pid );
133133static void print_msg (const char * msg );
134134
@@ -922,7 +922,7 @@ do_stop(void)
922922
923923
924924/*
925- * restart/promote/ reload routines
925+ * restart/reload routines
926926 */
927927
928928static void
@@ -1018,6 +1018,43 @@ do_restart(void)
10181018 do_start ();
10191019}
10201020
1021+ static void
1022+ do_reload (void )
1023+ {
1024+ pgpid_t pid ;
1025+
1026+ pid = get_pgpid ();
1027+ if (pid == 0 ) /* no pid file */
1028+ {
1029+ write_stderr (_ ("%s: PID file \"%s\" does not exist\n" ), progname , pid_file );
1030+ write_stderr (_ ("Is server running?\n" ));
1031+ exit (1 );
1032+ }
1033+ else if (pid < 0 ) /* standalone backend, not postmaster */
1034+ {
1035+ pid = - pid ;
1036+ write_stderr (_ ("%s: cannot reload server; "
1037+ "single-user server is running (PID: %ld)\n" ),
1038+ progname , pid );
1039+ write_stderr (_ ("Please terminate the single-user server and try again.\n" ));
1040+ exit (1 );
1041+ }
1042+
1043+ if (kill ((pid_t ) pid , sig ) != 0 )
1044+ {
1045+ write_stderr (_ ("%s: could not send reload signal (PID: %ld): %s\n" ),
1046+ progname , pid , strerror (errno ));
1047+ exit (1 );
1048+ }
1049+
1050+ print_msg (_ ("server signaled\n" ));
1051+ }
1052+
1053+
1054+ /*
1055+ * promote
1056+ */
1057+
10211058static void
10221059do_promote (void )
10231060{
@@ -1079,38 +1116,6 @@ do_promote(void)
10791116}
10801117
10811118
1082- static void
1083- do_reload (void )
1084- {
1085- pgpid_t pid ;
1086-
1087- pid = get_pgpid ();
1088- if (pid == 0 ) /* no pid file */
1089- {
1090- write_stderr (_ ("%s: PID file \"%s\" does not exist\n" ), progname , pid_file );
1091- write_stderr (_ ("Is server running?\n" ));
1092- exit (1 );
1093- }
1094- else if (pid < 0 ) /* standalone backend, not postmaster */
1095- {
1096- pid = - pid ;
1097- write_stderr (_ ("%s: cannot reload server; "
1098- "single-user server is running (PID: %ld)\n" ),
1099- progname , pid );
1100- write_stderr (_ ("Please terminate the single-user server and try again.\n" ));
1101- exit (1 );
1102- }
1103-
1104- if (kill ((pid_t ) pid , sig ) != 0 )
1105- {
1106- write_stderr (_ ("%s: could not send reload signal (PID: %ld): %s\n" ),
1107- progname , pid , strerror (errno ));
1108- exit (1 );
1109- }
1110-
1111- print_msg (_ ("server signaled\n" ));
1112- }
1113-
11141119/*
11151120 * utility routines
11161121 */
@@ -1732,17 +1737,16 @@ do_advice(void)
17321737static void
17331738do_help (void )
17341739{
1735- printf (_ ("%s is a utility to start, stop, restart, promote, reload configuration files,\n"
1736- "report the status of a PostgreSQL server, or signal a PostgreSQL process.\n\n" ), progname );
1740+ printf (_ ("%s is a utility to initialize, start, stop, or control a PostgreSQL server.\n\n" ), progname );
17371741 printf (_ ("Usage:\n" ));
17381742 printf (_ (" %s init[db] [-D DATADIR] [-s] [-o \"OPTIONS\"]\n" ), progname );
17391743 printf (_ (" %s start [-w] [-t SECS] [-D DATADIR] [-s] [-l FILENAME] [-o \"OPTIONS\"]\n" ), progname );
17401744 printf (_ (" %s stop [-W] [-t SECS] [-D DATADIR] [-s] [-m SHUTDOWN-MODE]\n" ), progname );
17411745 printf (_ (" %s restart [-w] [-t SECS] [-D DATADIR] [-s] [-m SHUTDOWN-MODE]\n"
17421746 " [-o \"OPTIONS\"]\n" ), progname );
1743- printf (_ (" %s promote [-D DATADIR] [-s]\n" ), progname );
17441747 printf (_ (" %s reload [-D DATADIR] [-s]\n" ), progname );
17451748 printf (_ (" %s status [-D DATADIR]\n" ), progname );
1749+ printf (_ (" %s promote [-D DATADIR] [-s]\n" ), progname );
17461750 printf (_ (" %s kill SIGNALNAME PID\n" ), progname );
17471751#if defined(WIN32 ) || defined(__CYGWIN__ )
17481752 printf (_ (" %s register [-N SERVICENAME] [-U USERNAME] [-P PASSWORD] [-D DATADIR]\n"
@@ -2066,12 +2070,12 @@ main(int argc, char **argv)
20662070 ctl_command = STOP_COMMAND ;
20672071 else if (strcmp (argv [optind ], "restart" ) == 0 )
20682072 ctl_command = RESTART_COMMAND ;
2069- else if (strcmp (argv [optind ], "promote" ) == 0 )
2070- ctl_command = PROMOTE_COMMAND ;
20712073 else if (strcmp (argv [optind ], "reload" ) == 0 )
20722074 ctl_command = RELOAD_COMMAND ;
20732075 else if (strcmp (argv [optind ], "status" ) == 0 )
20742076 ctl_command = STATUS_COMMAND ;
2077+ else if (strcmp (argv [optind ], "promote" ) == 0 )
2078+ ctl_command = PROMOTE_COMMAND ;
20752079 else if (strcmp (argv [optind ], "kill" ) == 0 )
20762080 {
20772081 if (argc - optind < 3 )
@@ -2174,12 +2178,12 @@ main(int argc, char **argv)
21742178 case RESTART_COMMAND :
21752179 do_restart ();
21762180 break ;
2177- case PROMOTE_COMMAND :
2178- do_promote ();
2179- break ;
21802181 case RELOAD_COMMAND :
21812182 do_reload ();
21822183 break ;
2184+ case PROMOTE_COMMAND :
2185+ do_promote ();
2186+ break ;
21832187 case KILL_COMMAND :
21842188 do_kill (killproc );
21852189 break ;
0 commit comments