[Fwd: Re: BUG #6682: pg_dump and sequence values of serial columns for extension configuration tables]

From: Philippe BEAUDOIN <phb(dot)emaj(at)free(dot)fr>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: pgsql-bugs(at)postgresql(dot)org
Subject: [Fwd: Re: BUG #6682: pg_dump and sequence values of serial columns for extension configuration tables]
Date: 2012-06-10 10:30:44
Message-ID: 4FD47754.8040301@free.fr
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

Sorry Tom, I forgot to include pgsql-bugs in the email list...

Hi Tom,
Thanks for your answer.

Tom Lane a écrit :
> phb(dot)emaj(at)free(dot)fr writes:
>
>> When a table is registered as an extension configuration table and contains
>> a serial column, the current value of the sequence associated to this serial
>> column is not dumped by pg_dump.
>>
>
> I think the way to make that happen is to also register the sequence as
> a configuration table of the extension. It's not clear to me that that
> should happen by default; it would depend a lot on how the extension
> designer intends to manage modifications of the table.
>
OK, there may be cases when one doesn't want to restore the associated
sequence value.
In such a case:
- either a function allows to register the serial sequence as a
configuration table (your proposal),
- or the serial sequence is implicitely considered as a configuration
table, which would me more natural (see discussion for BUG #6683), and
another function allows to removes this state.

Anyway, (and this is not strictly related to this bug report) there is a
need:
- for registering an independant sequence of an extension as "to be
pg_dumped/restored", and
- for unregistering a table and sequence that has been previously
processed by pg_extension_config_dump (unless I miss the way to do this).

>> echo "--> And sequences cannot be registered as 'content to be dumped'"
>> $PGBIN/psql -ac "select
>> pg_catalog.pg_extension_config_dump('tbl1_col1_seq','');"
>>
>
> This test proves nothing of the kind. Please read the error message:
> ERROR: pg_extension_config_dump() can only be called from an SQL script executed by CREATE EXTENSION
> You have to do it in the extension's script.
>
You are right. My intent here was just to show that feeding the
pg_extension_config_dump function with the sequence name is not a
solution, ... in the current version at least.

Regards.
Philippe BEAUDOIN.

Browse pgsql-bugs by date

  From Date Subject
Next Message Philippe BEAUDOIN 2012-06-10 10:31:18 Re: BUG #6683: dropping a table with a serial column from an extension needs to explicitely drop the associated seq
Previous Message mthornton 2012-06-10 10:25:43 BUG #6685: Concurrency fault in create table