Re: smart shutdown at end of transaction (was: Default mode for shutdown)

Albe Laurenz <laurenz.albe@wien.gv.at>

From: "Albe Laurenz" <laurenz.albe@wien.gv.at>
To: "Tom Lane *EXTERN*" <tgl@sss.pgh.pa.us>, "Simon Riggs" <simon@2ndQuadrant.com>
Cc: "Robert Haas" <robertmhaas@gmail.com>, "Alvaro Herrera" <alvherre@commandprompt.com>, "Magnus Hagander" <magnus@hagander.net>, "PostgreSQL-development" <pgsql-hackers@postgresql.org>
Date: 2012-04-30T07:43:12Z
Lists: pgsql-hackers
Tom Lane wrote:
>> On Fri, Apr 27, 2012 at 7:29 PM, Tom Lane <tgl@sss.pgh.pa.us> wrote:
>>> No, I'm not happy with that.  Smart shutdown is defined to not
affect
>>> current sessions.  I'm fine with having a fourth mode that acts as
you
>>> suggest (and, probably, even with making it the default); but not
with
>>> taking away a behavior that people may well be relying on.

>> Agreed, but not sure what to call the new mode: "smarter"?

> I'm not necessarily opposed to commandeering the name "smart" for the
> new behavior, so that what we have to find a name for is the old
"smart"
> behavior.  How about
> 
> 	slow	- allow existing sessions to finish (old "smart")
> 	smart	- allow existing transactions to finish (new)
> 	fast	- kill active queries
> 	immediate - unclean shutdown

But if the meaning of "smart" changes, then people who use
"pg_ctl stop -m smart" and expect that active sessions will not be
affected will get a surprise.

Wouldn't it be better to pick a different name for the new fourth
mode?  It could still be the default mode, but I think that people
who explicitly specify a certain mode are more likely to care about
the exact behaviour.

I second Heikki's suggestions for mode names.

And +1 from me on changing the default behaviour.

Yours,
Laurenz Albe