"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