Hello, all.
In the PostgreSQL documentation I found "currval: Return the value most recently obtained by nextval for this sequence in the current session ...."
In other documentations (pgpool, for example), I found "Connection Pooling
pgpool-II saves connections to the PostgreSQL servers, and reuse them whenever a new connection with the same properties (i.e. username, database, protocol version) comes in. It reduces connection overhead, and improves system's overall throughput"
Then, I have the following question: PostgreSQL differentiates between sessions created for the same user?
Background
==========
- I, traditionalmente, have several user in a web application (user table, for example); but I use only one postgresql-db-user to get connetions to database
- If a CREATE (CRUD) operation uses a head-detail couple of tables, then in a transaction: data in HEAD table is inserted; next, the value for the primary key is achieved from currval function; next references to head table is inserted in detail table.
Other questions
===============
- If I use a "bd_user" user to get connections to PostgreSQL and I use connetions Pool; if CONNECTION_01 and CONNECTION_02 concurrently try to get value from "currval" function, what happens?
- Exist best practices to do what I trying.
Thank you, in advance.
Gustavo Amarilla