Re: TRUNCATE TABLE with IDENTITY

Поиск
Список
Период
Сортировка
От Zoltan Boszormenyi
Тема Re: TRUNCATE TABLE with IDENTITY
Дата
Msg-id 47E92B11.4040006@cybertec.at
обсуждение исходный текст
Ответ на Re: TRUNCATE TABLE with IDENTITY  (Simon Riggs <simon@2ndquadrant.com>)
Ответы Re: TRUNCATE TABLE with IDENTITY  (Zoltan Boszormenyi <zb@cybertec.at>)
Re: TRUNCATE TABLE with IDENTITY  (Bruce Momjian <bruce@momjian.us>)
Re: TRUNCATE TABLE with IDENTITY  (Decibel! <decibel@decibel.org>)
Список pgsql-hackers
Simon Riggs írta:
> On Tue, 2008-03-25 at 09:08 -0700, Steve Crawford wrote:
>
>> Simon Riggs wrote:
>>
>>> RESTART IDENTITY will reset the SERIAL sequences back to the original
>>> start value.
>>>
>>>
>> Assuming this feature were to be added....
>>
>> In cases where the same sequence has been used across multiple tables,
>> what will be the appropriate response when a user attempts to TRUNCATE
>> one of those tables with RESTART IDENTITY?
>>
>
> Well, I'm suggesting it as a TODO item, based on the standard. It would
> be for whoever took this up to unravel that.
>
> Since that's a weak answer, I'd say it should only reset sequences that
> have been placed there automatically through the use of SERIAL or
> BIGSERIAL datatypes.
>

All of them? PostgreSQL allow multiple SERIALs to be present,
the standard allows only one IDENTITY column in a table.
And what about this case below?

CREATE TABLE t1 (id1 serial, ...);
ALTER SEQUENCE seq_t1_id1 RESTART WITH 5432 CYCLE;

or the equivalent

CREATE SEQUENCE seq_t1_id1 START WITH 5432 CYCLE;
CREATE TABLE t1 (id1 serial, ...);
ALTER SEQUENCE seq_t1_id1 OWNED BY t1.id1;

PostgreSQL doesn't keep the START WITH information.
But it should to perform a "restart" on the sequence,
using the minval in this case wouldn't be correct.

--
----------------------------------
Zoltán Böszörményi
Cybertec Schönig & Schönig GmbH
http://www.postgresql.at/




В списке pgsql-hackers по дате отправления:

Предыдущее
От: Tom Lane
Дата:
Сообщение: Re: Text <-> C string
Следующее
От: Zoltan Boszormenyi
Дата:
Сообщение: Re: TRUNCATE TABLE with IDENTITY