Tom Lane wrote:
>
> Hiroshi Inoue <Inoue@tpf.co.jp> writes:
> > Please tell me how we avoid the failure
> > ERROR: Unable to identify an operator '=' for types 'oid' and 'lo'
> > You will have to retype this query using an explicit cast
> > in pg_restore.
>
> What query triggers that, exactly?
The query made by the following code in FixupBlobRefs in pg_backup_db.c.
/* Can't use fmtId twice in one call... */
appendPQExpBuffer(tblQry,
"UPDATE %s SET %s =
%s.newOid"
,
tblName->data,
fmtId(attr),
BLOB_XREF_TABLE);
appendPQExpBuffer(tblQry,
" FROM %s WHERE
%s.oldOid = %s.%s",
BLOB_XREF_TABLE,
BLOB_XREF_TABLE,
tblName->data,
fmtId(attr));
regards,
Hiroshi Inoue
http://w2422.nsk.ne.jp/~inoue/