Alvaro Herrera <alvherre@commandprompt.com> writes:
> Tom Lane wrote:
>> The most effective solution might be to revert the change in pg_migrator
>> and instead have pg_dump interpret --binary-upgrade --schema-only to
>> include the data for sequences. It seems ugly as sin though :-(
> It seems cleaner to have a pg_dump --dump-all-sequences or some such.
Well, that's assuming that we think there's any point in having a
"clean" definition.
I have been poking at the pg_largeobject problem previously mentioned,
and have found out that there are actually two bugs:* pg_largeobject_loid_pn_index is not transferred* large object
commentsare not transferred
The first of these is clearly pg_migrator's responsibility to fix,
but I think we have to get pg_dump to handle the second one. Again,
the problem here is that the dividing line between "schema" and "data"
isn't drawn in a place that suits pg_migrator's needs --- pg_dump
thinks that both LOs and their comments are "data".
Do you really want to propose that we invent, and document, two new
switches to expose these behaviors? I think just hacking the behavior
on the basis of --binary-upgrade is the thing to do. In fact, I'm
thinking that we should remove the --schema-only switch from
pg_migrator's call of pg_dump, and just have --binary-upgrade
automatically know which things it is supposed to dump or not.
[ pokes at it some more... ] Oooh, there's another issue:
the backend rejects COMMENT ON LARGE OBJECT if the specified OID
doesn't exist in pg_largeobject. This is gonna be a problem.
pg_migrator wants to import the pg_dump output before it's moved
any tables.
I wonder if it's sane to do the physical move of pg_largeobject
before we import the dump?
regards, tom lane