nextval. currval only has value, when sequence wwas used in the session before, you would use it to obtain last value returened by nextval. read the manual . On Sat, Feb 14, 2009 at 11:25 AM, Onno Molenkamp <onno@xxxxxxxx> wrote: > Hi, > > I recently upgraded a database from 8.1.11 to 8.3.6, and I noticed the > following statement stopped working: > > insert into test (b) select currval('test_a_seq'::regclass) > > given the following table: > > create table test (a serial, b int) > > The error I'm getting is: "ERROR: currval of sequence "test_a_seq" is not yet > defined in this session". With a values clause instead of a select, it still > works as expected, by inserting two identical values: > > insert into test (b) values (currval('test_a_seq'::regclass)) > > Although it's easy enough to work around this problem by also explicitly > inserting nextval('test_a_seq'::regclass) into column "a", I'm wondering why > it did work in 8.1 and doesn't work anymore in 8.3. > > Is this a bug in either version, was is never supposed to work like this, or > have I missed a change in the release notes somewhere? > > Thanks, > > Onno > -- GJ -- Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-general