On 2 Oct 2003, Doug McNaught wrote:

> Howard Lowndes <[EMAIL PROTECTED]> writes:
> 
> > OK, I'm convinced, except for one small, but not insignificant hiccup.
> > When you dump a database with the BLOBs, even with the -c option, and then
> > restore that database again with the -c option, you get double the BLOBs.  
> > The original BLOBs are there as are the new copies, and the cross
> > referenced oids are updated.  It looks as if there should be some way of 
> > removing the old BLOB at restore time once the new BLOB is in place.  I 
> > don't know the detail of how pg_restore works but it does create a table 
> > solely for the purpose of cross referencing the oids.
> > 
> > This of course means that each dump and subsequent restore doubles up on 
> > the BLOBs and since BLOBs are by nature Large there could be disk space 
> > problems.
> 
> If you blow away the database (DROP DATABASE) and recreate it before
> doing the restore, those LOs will be gone.  If not, something is very
> wrong.  pg_restore basically assumes a virgin database.
> 
> If you just clear out the tables before the restore, you should also
> clear out the pg_largeobject table.  It's not hard to keep garbage LOs
> from hanging around by putting an ON DELETE trigger on the referencing
> table.

Tks

-- 
Howard.
LANNet Computing Associates - Your Linux people <http://www.lannetlinux.com>
------------------------------------------
Flatter government, not fatter government - Get rid of the Australian states.
------------------------------------------
If all economists were laid end to end, they would not reach a conclusion 
- George Bernard Shaw


---------------------------(end of broadcast)---------------------------
TIP 3: if posting/reading through Usenet, please send an appropriate
      subscribe-nomail command to [EMAIL PROTECTED] so that your
      message can get through to the mailing list cleanly

Reply via email to