Hi Aaron,

Thanks for your response. I guess I wasn't clear about "users". I am
referring to database users, not application users (although they
are the same in my application in any case - that is, each application
user is known to the database as a different database user).

As I understand it, connection pooling, as used by a web app, still
needs to connect "per-database-user" (and usually this is the same
"web-server" user). If the web app is connecting to the database
server as different database users, then different connections would
be set up. If the number of open connections exceeds the number
allowed to the database server, then older unused connections would
be terminated to allow new ones to be created. Is this correct?

Or is it possible, over the same connection, to change the database
user? My understanding of the frontend/backend protocol is that this
is not allowed.

Anyway, I still need to know if running functions during connection
setup and tear-down, or change of user, is possible or not.

Cheers,

Bob Edwards.

Aaron Bono wrote:
On 9/10/06, *Robert Edwards* <[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>> wrote:

    (this is my first post to this list...)

    I am wondering if Postgres, and/or SQL in general, has a facility to
    run a function at connection set-up time (after a successful connection
    attempt) and/or at session completion (or disconnect)?

    I want to pre-populate a table (actually an INSERT rule on a view)
    with some user-specific data that is unlikely to change during the
    session and which is "difficult" to process (ie. affects performance
    to do it too often).

    Clearly, I can do this manually anyway as the first operation after
    a connection is established, but I would like also to clear it out
    when the session terminates (so, I guess I am really interested in
    a "trigger" of some sort on end-of-session).

    Purely session/connection-based temporary tables would also do what
    I need, but temporary tables don't seem to be able to work that way.


What kind of operation are you wanting to do? Would it work if an application like a web site used connection pooling - thus sharing the session across application users and rarely if ever connecting/disconnecting?

==================================================================
   Aaron Bono
   Aranya Software Technologies, Inc.
   http://www.aranya.com
   http://codeelixir.com
==================================================================


---------------------------(end of broadcast)---------------------------
TIP 6: explain analyze is your friend

Reply via email to