Добрый день
Проблема решена. Извиняюсь за беспокойство.
Если кому интересно, то при восстановлении Large Objectov создаётся
временная таблица, где есть перекодировка из старой нумерации OIDов в
новую. Если в процессе восстановления произошло прерывание, то эта
таблица теряется и ссылки на большие объекты в таблицах не обновляются.
У меня оказался включённый log на запросы и создание перекрёстной таблицы
там было запротоколировано. Далее с помощью скрипта в полуавтоматическом
режиме изъял эту информацию из логов и проапдейтил таблицы. Наверняка эту
информацию можно получить напрямую из бэкапа.
Почему-то эти грабли нигде не описаны. Нашёл только одно упоминание в
ответе на схожий вопрос как вариант.
С уважением
Евгений
On Thu, 2 Jun 2005, Evgeny M. Baldin wrote:
> Добрый день
>
> Забыл добавить: использую
> pg_dumb -Fc -b calibrations > /lhome/postgres/dbase.backup
> pg_restore -Fc -d calibrations /lhome/postgres/dbase.backup -L /lhome/postgres/dbase.list
>
> где /lhome/postgres/dbase.list - список полученный с помощью pg_restore -l
> - необходимо было закомментировать одну повисшую ссылку.
>
> Large Object восстанавливаются, но таблицы в которых есть ссылки на
> large_objectы дают отсутствующие oidы
>
> С уважением
> Евгений
>
> On Thu, 2 Jun 2005, Evgeny M. Baldin wrote:
>
> > Добрый день
> >
> > Накрылся жёсткий диск. Основная ценность это Large Objectы
> >
> > К сожалению восстанавливается только часть.
> >
> > Вопрос: как понять есть ли в файле бэкапа Large Object с определённым
> > oid?
> >
> > PostgreSQL 7.3
> >
> > Есть ли PostgreSQL ограничение на бэкап/восстановление, по числу/размеру?
> >
> > С уважением
> > Евгений
> >
> > ---------------------------(end of broadcast)---------------------------
> > TIP 8: explain analyze is your friend
> >
>