| From: | Philippe BEAUDOIN <phb(dot)emaj(at)free(dot)fr> |
|---|---|
| To: | Craig Ringer <ringerc(at)ringerc(dot)id(dot)au> |
| Cc: | pgsql-bugs(at)postgresql(dot)org |
| Subject: | Re: BUG #6683: dropping a table with a serial column from an extension needs to explicitely drop the associated seq |
| Date: | 2012-06-10 10:31:18 |
| Message-ID: | 4FD47776.7050909@free.fr |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-bugs |
Craig Ringer a écrit :
> On 06/10/2012 06:14 AM, Tom Lane wrote:
>> phb(dot)emaj(at)free(dot)fr writes:
>>> When a table having a seial column has been created by a CREATE
>>> EXTENSION,
>>> and when this table is later dropped from the extension, the associated
>>> sequence must be also explicitely dropped from the extension.
>> This doesn't really seem like a bug to me. The sequence is a somewhat
>> independent object.
> I disagree; it is inconsistent with the expectation established in
> normal operations that the sequence created to serve a SERIAL column
> is owned by that table/column and is dropped when it is.
>
> regress=# create table test (x serial primary key);
> NOTICE: CREATE TABLE will create implicit sequence "test_x_seq" for
> serial column "test.x"
> NOTICE: CREATE TABLE / PRIMARY KEY will create implicit index
> "test_pkey" for table "test"
> CREATE TABLE
> regress=# \d
> List of relations
> Schema | Name | Type | Owner
> --------+------------+----------+-------
> public | test | table | craig
> public | test_x_seq | sequence | craig
> (2 rows)
>
> regress=# drop table test;
> DROP TABLE
> regress=# \d
> No relations found.
>
>
>
>
> regress=# create table test (x serial primary key);
> NOTICE: CREATE TABLE will create implicit sequence "test_x_seq" for
> serial column "test.x"
> NOTICE: CREATE TABLE / PRIMARY KEY will create implicit index
> "test_pkey" for table "test"
> CREATE TABLE
> regress=# alter table test drop column x;
> ALTER TABLE
> regress=# \d
> List of relations
> Schema | Name | Type | Owner
> --------+------+-------+-------
> public | test | table | craig
> (1 row)
>
>
>
>
>
> --
> Craig Ringer
>
>
I aggree with Craig.
The current rule is not natural (at least for me, as I did the mistake
in one of my extension scripts ;-))
If this behaviour remains as is, it should be at least documented.
Finding the best desirable behaviour is probably also linked with the
discussion just started for BUG #6682.
Best regards.
Philippe BEAUDOIN.
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Craig Ringer | 2012-06-10 11:25:06 | Re: BUG #6685: Concurrency fault in create table |
| Previous Message | Philippe BEAUDOIN | 2012-06-10 10:30:44 | [Fwd: Re: BUG #6682: pg_dump and sequence values of serial columns for extension configuration tables] |