Re: [GENERAL] pg_migrator not setting values of sequences?

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Alvaro Herrera <alvherre(at)commandprompt(dot)com>
Cc: Zdenek Kotala <Zdenek(dot)Kotala(at)Sun(dot)COM>, Bruce Momjian <bruce(at)momjian(dot)us>, Tilmann Singer <tils(at)tils(dot)net>, PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: [GENERAL] pg_migrator not setting values of sequences?
Date: 2009-07-16 02:03:05
Message-ID: 11766.1247709785@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general pgsql-hackers

Alvaro Herrera <alvherre(at)commandprompt(dot)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 comments are 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

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Abraham, Danny 2009-07-16 02:07:39 initdb --encoding=LATIN1 fails on Windows
Previous Message ANdreas Wenk 2009-07-15 23:12:05 psql \du

Browse pgsql-hackers by date

  From Date Subject
Next Message Robert Haas 2009-07-16 02:11:23 Re: [PATCH] SE-PgSQL/lite rev.2163
Previous Message Tom Lane 2009-07-15 23:40:58 Re: Status report: getting plpgsql to use the core lexer