<me@alternize.com> writes:
> unfortunately as i had to find out some days ago, "session-local" is a bit
> dependend on how (and when) you actually open up new db connections to the
> db, especially when you maybe have connection pooling enabled.
If your connection pooler will flip the connection out from under you
within a transaction, you need another connection pooler. If you are
doing the insert and then reading currval in separate transactions,
I'd suggest changing the logic to make it one transaction. Whatever
you are going to do with the currval probably ought to be part of the
original inserting transaction anyway.
The nextval-then-insert approach is perfectly fine too of course,
but there's no reason you shouldn't be able to use currval.
regards, tom lane