Magnus Hagander <magnus@hagander.net> writes:
> Can anybody recall a reason for why the do_restart() function in pg_ctl
> copies a lot of code almost right off from do_stop(), instead of just
> having that code exactly the same as do_stop() and factored out? (Like
> it does for do_start() already)
> I see the point in dealing with the very first branch differently, but
> for example why do we do the postmaster_is_alive() patch only in
> restart and not in stop?
+1 for refactoring, but be careful you don't break the corner cases.
In particular, what should happen if the postmaster wasn't running
(is restart the same as start, or should it throw an error)? And
don't bollix things if the postmaster is running and the "stop"
step fails.
regards, tom lane