Re: Problems restoring a DB with oids

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: juanmime(at)ono(dot)com
Cc: pgsql-admin(at)postgresql(dot)org
Subject: Re: Problems restoring a DB with oids
Date: 2004-06-22 17:15:35
Message-ID: 19514.1087924535@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-admin

juanmime(at)ono(dot)com writes:
> 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...

regards, tom lane

In response to

Responses

Browse pgsql-admin by date

  From Date Subject
Next Message Tom Lane 2004-06-22 17:28:32 Re: size difference between du and PG_CLASS
Previous Message Michael Holden 2004-06-22 17:09:42 phpmyadmin type thing for postgre?