Re: Reset sequence to current maximum value of rows

Поиск
Список
Период
Сортировка
От David G. Johnston
Тема Re: Reset sequence to current maximum value of rows
Дата
Msg-id CAKFQuwba=vb16vR47W0oo3SirkJ+UqLEg5j9-fqe+vm=0Q7_qw@mail.gmail.com
обсуждение исходный текст
Ответ на Reset sequence to current maximum value of rows  (Rich Shepard <rshepard@appl-ecosys.com>)
Ответы Re: Reset sequence to current maximum value of rows
Список pgsql-general
On Thu, Jun 13, 2024 at 10:20 AM Rich Shepard <rshepard@appl-ecosys.com> wrote:
Two tables have a sequence for the PK. Over time I manually entered the PK
numbers not being aware of applying DEFAULT to generate the next number.

I just tried to set one table's PK sequence to the current max(PK) value
using this expression from a stackexchange thread:
SELECT setval('<sequence_name>', <current_max_number>, true);  -- next value will be max(PK) + 1

Needing to add a new row to a table for a specific industry table (with 52
rows) I set the PK as DEFAULT in the INSERT INTO expression. To my surprise
and disappointment all 52 rows now have the company_name column as the newly
inserted name. Feh! I need to restore all the correct names for each PK.

You need to show your work here.  As your PK is a number it cannot have a company name as a value and so this doesn't make sense.


There's an alternate expression in that SE thread that I didn't try:
ALTER SEQUENCE <sequence_name> RESTART WITH <next_number>;

This is identical in action to the setval function call you performed.


I want to avoid this same situation when resetting the second table's PK
sequence number and would like to understand why the SELECT expression
changed all column values

It didn't...
 
rather than adding a new row with its attributes.

It wouldn't do this either...

And how to I reset sequences to ignore all current values

This doesn't make sense...

while adding the
next higher value to the end when a new row is INSERTed.


If you use the default when inserting the next value in the sequence is used.

David J.

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

Предыдущее
От: Ron Johnson
Дата:
Сообщение: Re: Reset sequence to current maximum value of rows
Следующее
От: Rich Shepard
Дата:
Сообщение: Re: Reset sequence to current maximum value of rows