Re: [GENERAL] large object does not exist after pg_migrator - Mailing list pgsql-hackers

From Jamie Fox
Subject Re: [GENERAL] large object does not exist after pg_migrator
Date
Msg-id de22a6520907141254m2d46e374w8e0dbb7af91aba42@mail.gmail.com
Whole thread Raw
In response to Re: [GENERAL] large object does not exist after pg_migrator  (Alvaro Herrera <alvherre@commandprompt.com>)
Responses Re: [GENERAL] large object does not exist after pg_migrator  (Alvaro Herrera <alvherre@commandprompt.com>)
Re: [GENERAL] large object does not exist after pg_migrator  (Bruce Momjian <bruce@momjian.us>)
List pgsql-hackers



> Here's what I have found that got broken during pg_migrate:  In two side by
> side databases (an 8.3.7 copy and 8.4.0 migrated with pg_migrator) the
> pg_largeobject table has the same number of rows.  However, in the 8.4
> database any select for an loid in pg_largeobject returns zero rows.  If I
> select all loids to a file, and compare to select all loids from 8.3.7
> they're the same.  When I select != an loid it seems to exclude the one and
> return the rest, but all other comparisons <, > or = return zero rows.  Or
> I'm completely batty.  Dereferencing via lo_open of blob_data (an oid) in
> other tables fails in the 8.4 database with 'large object xxxxid does not
> exist'.

Oh, so maybe it's pg_largeobject's index that's borked ... Did you try
reindexing it?

How are we transferring pg_largeobject, and are we transferring its
index too?

Hi -

REINDEX INDEX pg_largeobject_loid_pn_index;

This seems to have fixed the problem, lo_open of lob data is working again - now to see how vacuumlo likes it.

Thanks,

Jamie
 

pgsql-hackers by date:

Previous
From: Tom Lane
Date:
Subject: Re: more than one index in a single heap pass?
Next
From: karpov@sao.ru (Sergey V. Karpov)
Date:
Subject: improvements for dict_xsyn extended synonym dictionary