KL-

> Would you be able to specify exactly the deficiences?  It's my mission
> at the moment to make pg_dump 7.5 known-issue free :)

Well, since you asked:
(please excuse me if I'm covering old ground.   I was off Hackers for almost a 
month this spring)

1) When pg_dump 7.4.1 (I have not tested on CVS) pulls a dump from a 7.2 
database with confusing dependancies (e.g. functions depend on views which 
depend on multiple tables and other views containing other functions), some 
objects (almost always functions) still get silently dropped from the dump 
file.   This "silent dropping" was also a problem in 7.3 (pulling from 7.2), 
but nobody wanted to work on it -- especially as it's only possible to 
demonstrate with a sufficiently complex early 7.2 database.
	I have a good test database for this, I will test with CVS.

2) pg_restore needs to be more tolerant with certain kinds of errors.   For 
example, if an object already exists in the target database, due to being 
from template1, it should be possible to tell pg_restore to ignore the error 
with a switch.    Currently, this issue prevents me from using pg_restore on 
some systems, where the restore isn't run as the superuser.   Another switch, 
telling pg_restore to attempt to ignore all errors and restore anyway, would 
also be keen (though I can see potential abuse issues).
	Has this already been addressed in CVS?

-- 
Josh Berkus
Aglio Database Solutions
San Francisco

Wed, 23 Jun 2004 09:41:27 -0700
Josh Berkus <josh@agliodbs.com>
Re: 7.5-dev, pg_dumpall, dollarquoting
> 1) When pg_dump 7.4.1 (I have not tested on CVS) pulls a dump from a 7.2 
> database with confusing dependancies (e.g. functions depend on views which 
> depend on multiple tables and other views containing other functions), some 
> objects (almost always functions) still get silently dropped from the dump 
> file.   This "silent dropping" was also a problem in 7.3 (pulling from 7.2), 
> but nobody wanted to work on it -- especially as it's only possible to 
> demonstrate with a sufficiently complex early 7.2 database.
> 	I have a good test database for this, I will test with CVS.

Nothing gets silently dropped.  It will cause an ERROR on creation and 
then keep going, but it won't silently drop it...   (unless it's a 
binary dump thing...)

Anyway, pg_dump in CVS does correct dump ordering based on a topological 
sort of the pg_depend relation (thank Tom for that).  It will of course 
only work on a 7.3 or higher backend.

> 2) pg_restore needs to be more tolerant with certain kinds of errors.   For 
> example, if an object already exists in the target database, due to being 
> from template1, it should be possible to tell pg_restore to ignore the error 
> with a switch.    Currently, this issue prevents me from using pg_restore on 
> some systems, where the restore isn't run as the superuser.   Another switch, 
> telling pg_restore to attempt to ignore all errors and restore anyway, would 
> also be keen (though I can see potential abuse issues).
> 	Has this already been addressed in CVS?

Hmmm, dunno about this - it wasn't on my radar really.  I'll experiment 
with it, but I don't think I'm going to have time before June 30th :(

Chris


Thu, 24 Jun 2004 10:09:06 +0800
Christopher Kings-Lynne <chriskl@familyhealth.com.au>
Re: 7.5-dev, pg_dumpall, dollarquoting
Christopher Kings-Lynne <chriskl@familyhealth.com.au> writes:
>> 2) pg_restore needs to be more tolerant with certain kinds of errors.

> Hmmm, dunno about this - it wasn't on my radar really.  I'll experiment 
> with it, but I don't think I'm going to have time before June 30th :(

I think we dealt with this already: pg_restore has been taught that the
correct response to a SQL command error is to report it and forge ahead,
not curl up and die.

			regards, tom lane

Thu, 24 Jun 2004 00:00:30 -0400
Tom Lane <tgl@sss.pgh.pa.us>
Re: 7.5-dev, pg_dumpall, dollarquoting 
Chris,

> Nothing gets silently dropped.  It will cause an ERROR on creation and
> then keep going, but it won't silently drop it...   (unless it's a
> binary dump thing...)

Silently dropped on dump, not on restore.

> Anyway, pg_dump in CVS does correct dump ordering based on a topological
> sort of the pg_depend relation (thank Tom for that).  It will of course
> only work on a 7.3 or higher backend.

Right.   The issue is really complex databases which were developed in 7.2 or 
7.1, which is missing the pg_depends information.    In that case, pg_dump 
seems to get confused about dependency sorting, and a few objects with long 
dependency chains simply don't get backed up.   

I'll see if I can put together a nice demo for this.

My concern in reporting this is that there are still a lot of commercial users 
out there running 7.2, and I'd like to minimize upgrade pain.

-- 
Josh Berkus
Aglio Database Solutions
San Francisco

Thu, 24 Jun 2004 09:34:05 -0700
Josh Berkus <josh@agliodbs.com>
Re: 7.5-dev, pg_dumpall, dollarquoting
Josh Berkus <josh@agliodbs.com> writes:
> Right.   The issue is really complex databases which were developed in 7.2 or
> 7.1, which is missing the pg_depends information.    In that case, pg_dump 
> seems to get confused about dependency sorting, and a few objects with long 
> dependency chains simply don't get backed up.   

That would be a flat-out bug.  Can we see a test case?

			regards, tom lane

Thu, 24 Jun 2004 12:59:43 -0400
Tom Lane <tgl@sss.pgh.pa.us>
Re: 7.5-dev, pg_dumpall, dollarquoting 