> 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.