Обсуждение: pg_ctl do_restart

Поиск
Список
Период
Сортировка

pg_ctl do_restart

От
Magnus Hagander
Дата:
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?

//Magnus


Re: pg_ctl do_restart

От
Tom Lane
Дата:
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