Greg Smith wrote:
> Bruce Momjian wrote:
> > Remember, delaying wal application just delays making the standby a
> > master and makes the slave data appear staler. We can just tell people
> > that the larger their queries are, the larger this delay will be. If
> > they want to control this, they can set 'statement_timeout' already.
> >
>
> While a useful defensive component, statement_timeout is a user setting,
> so it can't provide guaranteed protection against a WAL application
> denial of service from a long running query. A user that overrides the
> system setting and kicks off a long query puts you right back into
> needing a timeout to ensure forward progress of standby replay.
The nice thing about query cancel is that it give predictable behavior.
We could make statement_timeout that can't be changed if it is set in
postgresql.conf. Again, let's think of that for 9.1.
-- Bruce Momjian <bruce@momjian.us> http://momjian.us EnterpriseDB
http://enterprisedb.com