Asunto: Re: Problems restoring a DB with oids

Поиск
Список
Период
Сортировка
От juanmime@ono.com
Тема Asunto: Re: Problems restoring a DB with oids
Дата
Msg-id 40D794F2000010BC@mta02.ono.com
обсуждение исходный текст
Ответ на Re: Problems restoring a DB with oids  (Tom Lane <tgl@sss.pgh.pa.us>)
Список pgsql-admin
>> I do this, from Saturn:
>> pg_dump -Ft -b -U dbuser -h saturn dbsample > db.tar
>> Then, I create the user and database in Saturno, and perform this:
>> pg_restore -Ft -v db.tar -d dbsample -U dbuser
>> But, pg_restore stops, showing this message:
>
>> pg_restore: fixing large object cross-references for parts.qltymemdoc
>> pg_restore: [archiver (db)] error while updating column "qltymemdoc"
of
>> table "parts": ERROR: large object 609937 does not exist
>> pg_restore: *** aborted because of error
>
>I think what is happening is that dbuser is not a superuser (correct?)
>and therefore is unable to disable triggers during the restore.  But
>you have to disable the lo_manage trigger to avoid errors, because
>lo_manage will think it has to clean up the blob references in the
>existing data.
>
>In short: if you are using the LO type then blob restores have to be
>done as superuser.  I suppose this oughta be documented someplace...

The problem continues

I perform this:

pg_restore -Ft -v db.tar -d test -U postgres -S postgres  --disable-triggers

And this is the result:

pg_restore: fixing large object cross-references for parts.qltymemdoc
pg_restore: [archiver (db)] error while updating column "qltymemdoc" of
table "parts": ERROR: large object 609937 does not exist
pg_restore: *** aborted because of error

¿ Why ? I suppose that the triggers are disabled (-S postgres --disable-triggers),
and I don't understand why pg_restore reports that "large object 609937
does not exist".

Thank you.


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

Предыдущее
От: Grega Bremec
Дата:
Сообщение: Re: PostgreSQL With Slackware
Следующее
От: "Eduardo S. Fontanetti"
Дата:
Сообщение: Backup / Restore