Thread: alter sequence + subqueries

alter sequence + subqueries

From
jeff sacksteder
Date:
The postgres-specific sql extension 'ALTER SEQUENCE' does not appear to support subqueries.<br /><br /> I have inserted
somedata into a table, including values in the primary key. I want to reset the associated sequence so that any further
recordsto be inserted into that table  resume numbering correctly. The statement I attempted was:<br /><br /> ALTER
SEQUENCEfoo_id_seq <br /> RESTART WITH (SELECT max(id) FROM foo);<br /><br /> Is this syntax correct and supported?<br
/><br/>  <br /> 

Re: alter sequence + subqueries

From
Alvaro Herrera
Date:
On Fri, Sep 16, 2005 at 06:36:48PM -0400, jeff sacksteder wrote:
> The postgres-specific sql extension 'ALTER SEQUENCE' does not appear to 
> support subqueries.
> 
> I have inserted some data into a table, including values in the primary key. 
> I want to reset the associated sequence so that any further records to be 
> inserted into that table resume numbering correctly. The statement I 
> attempted was:
> 
> ALTER SEQUENCE foo_id_seq 
> RESTART WITH (SELECT max(id) FROM foo);
> 
> Is this syntax correct and supported?

No, but you could call the setval() function instead ...

-- 
Alvaro Herrera -- Valdivia, Chile         Architect, www.EnterpriseDB.com
Officer Krupke, what are we to do?
Gee, officer Krupke, Krup you! (West Side Story, "Gee, Officer Krupke")


Re: alter sequence + subqueries

From
Michael Fuhr
Date:
On Fri, Sep 16, 2005 at 06:36:48PM -0400, jeff sacksteder wrote:
> ALTER SEQUENCE foo_id_seq 
> RESTART WITH (SELECT max(id) FROM foo);
> 
> Is this syntax correct and supported?

Not according to the documentation; for an alternative see the
example under "User Comments":

http://www.postgresql.org/docs/8.0/interactive/sql-altersequence.html

-- 
Michael Fuhr