"Spiegelberg, Greg" <gspiegelberg@isodxsolutions.com> writes:
> As you can see, it's only providing the key1 column and the sequence is
> providing the value for the column with the constraint. How can this be
> happening?
Perhaps at some point you manually inserted an id value past the
then-current sequence value?
> Now, I don't know if this just hasn't been tested or is a documented
> feature (a.k.a. bug) but something does not seem right here. In this
> test case I'm able to get the same sequence ID's via two psql
> connections to the same database on the same sequence.
No, you've misunderstood currval(). That gives the value most recently
obtained by nextval() within your own session; it is not affected by any
subsequent manipulation of the sequence.
regards, tom lane