Re: BUG #12991: RESTART IDENTITY is not doing anything

From: Antoine Goutenoir <antoine(at)goutenoir(dot)com>
To: Andres Freund <andres(at)anarazel(dot)de>
Cc: pgsql-bugs(at)postgresql(dot)org
Subject: Re: BUG #12991: RESTART IDENTITY is not doing anything
Date: 2015-04-07 19:06:46
Message-ID: CAHgP0U0dPPgkUFvY7XZnFKxkFtgkyiX+RZZiG4OfA0Nnwwr4tw@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

On Tue, Apr 7, 2015 at 5:02 PM, Andres Freund <andres(at)anarazel(dot)de> wrote:

> On 2015-04-07 04:07:56 +0000, antoine(at)goutenoir(dot)com wrote:
> > Example, say Article has `id` as primary key :
>
> How is that table defined? Restart identity will only work if the
> sequence is 'owned' by the id column. That happens if you either create
> it by specifying 'serial' as the column type, or if you explicitly use
> ALTER SEQUENCE ... OWNED BY table.col;
>

Oh, I created (actually, Doctrine created) those with :

CREATE TABLE Article (id INT NOT NULL, name VARCHAR(16) NOT NULL, PRIMARY
KEY(id));
CREATE SEQUENCE Article_id_seq INCREMENT BY 1 MINVALUE 1 START 1;

Instead of :

CREATE SEQUENCE Article_id_seq INCREMENT BY 1 MINVALUE 1 START 1 OWNED BY
Article.id;

---

I did not knew about "ownership" of sequences, because the id incremented
so I thought the system knew what field to alter through the sequence name.

Thanks for the tip, I'll fork Doctrine to add it if there's no BC break
ripple effect resulting from the change.

Sorry about the bother,

Antoine

In response to

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message Tomas Vondra 2015-04-07 19:50:41 Re: BUG #12992: Failure to start: too many private dirs demanded
Previous Message Heikki Linnakangas 2015-04-07 18:54:52 Re: PQexec() hangs on OOM