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