Обсуждение: FW: reset all sequences

Поиск
Список
Период
Сортировка

FW: reset all sequences

От
"Pascal Tufenkji"
Дата:

Hi

How can I reset the sequence to “1”

If I use the following statement

Select setval('mytable_id_seq',1);

I put the last value as 1

So when I insert a new row the value will be “2” and not “1” as it should be

I cannot put Select setval('mytable_id_seq',0);

 

What should I do ??!!

 

Thx

Pascal

 

 

-----Original Message-----
From: pgsql-admin-owner@postgresql.org [mailto:pgsql-admin-owner@postgresql.org] On Behalf Of Sriram Dandapani
Sent: Monday, May 08, 2006 11:54 PM
To: Bruno Wolff III
Cc: pgsql-admin@postgresql.org
Subject: Re: [ADMIN] reset all sequences

 

Thanks..that really helped!!

 

-----Original Message-----

From: Bruno Wolff III [mailto:bruno@wolff.to]

Sent: Thursday, May 04, 2006 7:44 PM

To: Sriram Dandapani

Cc: pgsql-admin@postgresql.org

Subject: Re: reset all sequences

 

On Thu, May 04, 2006 at 14:20:39 -0700,

  Sriram Dandapani <sdandapani@counterpane.com> wrote:

> Hi

>

>

> I have a scenario where I need to reset all sequences(about 400). Is

> there a system table that I can query to get a list of sequences

> (Postgres 8.1.x)

 

You can do something like:

select * from pg_class where relkind = 'S';

The relname column will give you the sequence name.

 

---------------------------(end of broadcast)---------------------------

TIP 1: if posting/reading through Usenet, please send an appropriate

       subscribe-nomail command to majordomo@postgresql.org so that your

       message can get through to the mailing list cleanly

Re: FW: reset all sequences

От
Stephan Szabo
Дата:
On Tue, 9 May 2006, Pascal Tufenkji wrote:

> How can I reset the sequence to "1"
>
> If I use the following statement
>
> Select setval('mytable_id_seq',1);
>
> I put the last value as 1
>
> So when I insert a new row the value will be "2" and not "1" as it should be
>
> I cannot put Select setval('mytable_id_seq',0);
>
> What should I do ??!!

You should be able to do this with the three argument form of setval as
setval('mytable_id_seq',1,false).

Re: FW: reset all sequences

От
Thusitha Kodikara
Дата:
Hi,

You could generate a common script to reset all the sequence using:

select 'alter sequence '||relname||' restart with 1 ;' from pg_class where relkind='S' ;

Then execute the output of that script to restart all the sequences from 1. Does that solve your problem?

Regards,
-Thusitha

Pascal Tufenkji <ptufenkji@usj.edu.lb> wrote:
Hi
How can I reset the sequence to “1”
If I use the following statement
Select setval('mytable_id_seq',1);
I put the last value as 1
So when I insert a new row the value will be “2” and not “1” as it should be
I cannot put Select setval('mytable_id_seq',0);
 
What should I do ??!!
 
Thx
Pascal
 
 
-----Original Message-----
From: pgsql-admin-owner@postgresql.org [mailto:pgsql-admin-owner@postgresql.org] On Behalf Of Sriram Dandapani
Sent: Monday, May 08, 2006 11:54 PM
To: Bruno Wolff III
Cc: pgsql-admin@postgresql.org
Subject: Re: [ADMIN] reset all sequences
 
Thanks..that really helped!!
 
-----Original Message-----
From: Bruno Wolff III [mailto:bruno@wolff.to]
Sent: Thursday, May 04, 2006 7:44 PM
To: Sriram Dandapani
Cc: pgsql-admin@postgresql.org
Subject: Re: reset all sequences
 
On Thu, May 04, 2006 at 14:20:39 -0700,
  Sriram Dandapani <sdandapani@counterpane.com> wrote:
> Hi
>
>
> I have a scenario where I need to reset all sequences(about 400). Is
> there a system table that I can query to get a list of sequences
> (Postgres 8.1.x)
 
You can do something like:
select * from pg_class where relkind = 'S';
The relname column will give you the sequence name.
 
---------------------------(end of broadcast)---------------------------
TIP 1: if posting/reading through Usenet, please send an appropriate
       subscribe-nomail command to majordomo@postgresql.org so that your
       message can get through to the mailing list cleanly

Re: FW: reset all sequences

От
"Ben K."
Дата:
> Select setval('mytable_id_seq',1);
> So when I insert a new row the value will be "2" and not "1" as it should be

Select setval('mytable_id_seq',1,false);
http://www.postgresql.org/docs/8.1/interactive/functions-sequence.html


HTH.

Ben K.
Developer
http://benix.tamu.edu