pg_dump bug ... or not?

Started by Marc G. Fournierabout 24 years ago2 messages
#1Marc G. Fournier
scrappy@hub.org

Did I ever send in a bug report about pg_dump 'crashing' while dumping a
database where one of the tables gets drop'd while the pg_dump is running?

Not the easiest thing to reproduce, mind you, cause its a matter of that
one in a million timing thing ... but, if you run pg_dump against a
database where one of the tables yet to be dump gets drop'd, the pg_dump
will crash, as opposed to just skipping it and continue with those tables
that still exist ...

#2Tom Lane
tgl@sss.pgh.pa.us
In reply to: Marc G. Fournier (#1)
Re: pg_dump bug ... or not?

"Marc G. Fournier" <scrappy@hub.org> writes:

Did I ever send in a bug report about pg_dump 'crashing' while dumping a
database where one of the tables gets drop'd while the pg_dump is running?
Not the easiest thing to reproduce, mind you, cause its a matter of that
one in a million timing thing ... but, if you run pg_dump against a
database where one of the tables yet to be dump gets drop'd, the pg_dump
will crash, as opposed to just skipping it and continue with those tables
that still exist ...

I'd be inclined to fix this by having pg_dump issue a LOCK IN ACCESS
SHARE MODE against each table as it reads the table name from pg_class.
Not by allowing tables to disappear from under us after the dump starts.
The idea of pg_dump is to produce a consistent snapshot, no?

Even that is not *perfectly* secure since the locking phase will take
more than zero time, but it seems close enough.

regards, tom lane