On mån, 2011-10-03 at 15:09 -0400, Bruce Momjian wrote:
> Why were people not using pg_ctl? Because of the limitations which
> were fixed in PG 9.1? As Dave already said, windows already has to
> use pg_ctl.
Historically, pg_ctl has had a lot of limitations. Just off the top of
my head, nonstandard ports used to break it, nonstandard socket
directories used to break it, nonstandard authentication setups used to
break it, the waiting business was unreliable, the stop modes were weird
and not flexible enough, the behavior in error cases does not conform to
LSB init script conventions, there were some race conditions that I
don't recall the details of right now. And you had to keep a list of
exactly which of these bugs were addressed in which version.
Basically, pg_ctl is a neat convenience for interactive use for people
who don't want to write advanced shell constructs, but for writing a
robust init script, you can and should do better. For me personally,
pg_ctl is somewhere between a toy, and annoyance, and a dangerous
instrument.
Obviously, pg_ctl is now a lot better than when it was started, but
that's the reason why it is not used in certain places.