Multiple transactions per connection. I am asking WHY is that a feature. when one can have multiple sessions, what is the difference? running multiple transactions in single or multiple sessions means moving part of transaction logic into the application space. What do we gain here.....
If I interpret "Multiple transactions per connection" correctly, they're a great way to emulate WITH HOLD cursors.
For example:
1. In channel #1, open a Read Only cursor. (Yes, this was long ago.)
2. Fetch a row.
3. Switch to channel #2, begin R/W txn, modify the table, commit.
4. Switch back to channel #1
5. Go to step 2.
Not being an application developer anymore, I've never needed to use WITH HOLD cursors or wish for multiple channels in PG.