Re: Reset Sequence number

From: Thomas Kellerer <spam_eater(at)gmx(dot)net>
To: pgsql-general(at)postgresql(dot)org
Subject: Re: Reset Sequence number
Date: 2017-11-22 11:04:45
Message-ID: ov3lk5$eke$1@blaine.gmane.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Brahmam Eswar schrieb am 22.11.2017 um 10:36:
>
> we are in process of migrating to postgres and need to reset the
> sequence number with highest value of table key. I want to make it
> procedural to do that as mentioned below, But it's throwing an error

> DO $$
>  DECLARE
>  SEQ BIGINT;
>  BEGIN 
>  
>  SEQ:=(SELECT MAX(ID) FROM TABLE_1);
>  ALTER SEQUENCE TABLE_1_SEQ  RESTART WITH SEQ;
>   
>  END$$; 
>  
> Error : syntax error at or near "SEQ"

No need for a PL/pgSQL block.

You can do that with a plain SQL statement using setval():

select setval('table_1_seq', (select max(id) from table1));

In response to

Browse pgsql-general by date

  From Date Subject
Next Message Alexander Pyhalov 2017-11-22 11:05:23 duplicate primary key
Previous Message Wèi Cōngruì 2017-11-22 11:00:17 Re: [GENERAL] Reset Sequence number