On Tue, Jan 29, 2013 at 04:19:15PM +1100, Josh Berkus wrote:
> 
> > OK, I had some time to think about this.  Basically, we have three
> > outcomes for pg_ctl start:
> > 
> >     server not running and pg_ctl start success
> >     server start failed
> >     server already running
> > 
> > Can't we just assign different return values to these cases, e.g. 0, 1,
> > 2?  We already print output telling the user what happened.
> 
> Not sure if that would work.  Too many admin scripts only check for
> error output, and not what the error code was.
> 
> FWIW, the Solaris/Opensolaris service scripts, as well as the RH service
> scripts (I think), already handle things this way.  If you say:
> 
> svcadm enable postgresql
> 
> ... and postgres is already up, it just returns 0.  So it's a common
> pattern.
> 
> So, alternate suggestions to "idempotent":
> 
> --isup
> --isrunning
> --ignorerunning
> 
> However, I'm really beginnging to think that a switch isn't correct, and
> what we need to do is to have a different pg_ctl *command*, e.g.:
> 
> pg_ctl -D . on
> or
> pg_ctl -D . enable

Yeah, that makes a lot of sense.

> > I don't think I like --force because it isn't clear if we are forcing
> > the start to have done something, or forcing the server to be running.

Do we need this idempotent feature for "stop" too?

-- 
  Bruce Momjian  <br...@momjian.us>        http://momjian.us
  EnterpriseDB                             http://enterprisedb.com

  + It's impossible for everything to be true. +


-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

Reply via email to