Re: BLOBs, pg_dump & pg_restore

Поиск
Список
Период
Сортировка
От Doug McNaught
Тема Re: BLOBs, pg_dump & pg_restore
Дата
Msg-id m3oewzj05m.fsf@varsoon.wireboard.com
обсуждение исходный текст
Ответ на Re: BLOBs, pg_dump & pg_restore  (Howard Lowndes <lannet@lannet.com.au>)
Ответы Re: BLOBs, pg_dump & pg_restore
Список pgsql-general
Howard Lowndes <lannet@lannet.com.au> 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.

-Doug

В списке pgsql-general по дате отправления:

Предыдущее
От: Martin Marques
Дата:
Сообщение: Re: Can anyone recommend a good PostGres admin tool?
Следующее
От: Howard Lowndes
Дата:
Сообщение: Re: BLOBs, pg_dump & pg_restore