I use for sequences for row versioning not just numbering. I'm glad you pointed this out. I'll need to revisit that code. Is there a correct way to "initialize" currval without incrementing the sequence? --rob ----- Original Message ----- From: "Tom Lane" <[EMAIL PROTECTED]> To: "rob" <[EMAIL PROTECTED]> Cc: "Florent Guillaume" <[EMAIL PROTECTED]>; "Oliver Elphick" <[EMAIL PROTECTED]>; <[EMAIL PROTECTED]> Sent: Saturday, January 20, 2001 11:22 AM Subject: Re: [GENERAL] Re: Re: is PG able to handle a >500 GB Database? > "rob" <[EMAIL PROTECTED]> writes: > > currval returns error unless nextval has been called at least once in the > > session. > > > I use <seq>.last_value > > > Perhaps I'm fooling myself > > Yes, you are, unless you never have more than one client attached to > your database. last_value will return whatever value was last assigned > by any backend, therefore you might not get the value that was inserted > into your tuple, but someone else's. > > The point about currval being initially undefined seems moot if what > you're using it for is to recover the serial number that was assigned to > a tuple you just inserted ... > > regards, tom lane >