On Tuesday 17 April 2007 20:54, Tom Lane wrote:
> Robert Treat <xzilla@users.sourceforge.net> writes:
> > I'm with Joshua on this one. Statement_timeout is often used as a means
> > for protection from long running statements due to server load and
> > locking and all of the above commands can certainly fall into that area.
> > If people feel strongly that the command line programs need a way to
> > circumvent it, add a --ignore-statement-timeout option or similar
> > mechanism.
>
> The worst-case scenario here is that your server fails and you discover
> that all your backups are corrupt because you didn't notice pg_dump was
> failing due to statement_timeout. (Maybe it just recently started to
> fail because your biggest table grew past the point at which the COPY
> command exceeded statement_timeout.)
>
I don't think I recall anyone ever complaining about this, and this scenario
has been plausible for *years*...
> I'm not excited about the other ones but I can see the argument for
> making pg_dump force the timeout to 0.
>
Allowing pg_dump to run un-checked could also lead to problems such as
exceeding maintenence windows causing performance issues, or causing trouble
due to lock contention with ongoing pg_dumps. I'll grant that the downsides
aren't as extreme, but the current functionality provides simple work arounds
(setting up specific dump users for example). If we force pg_dump to 0
timeout, what means will be provided for the DBA who doesn't want to let
pg_dump run unchecked?
--
Robert Treat
Build A Brighter LAMP :: Linux Apache {middleware} PostgreSQL