Re: on connect/on disconnect

From: Robert Edwards <bob(at)cs(dot)anu(dot)edu(dot)au>
To: Aaron Bono <postgresql(at)aranya(dot)com>
Cc: pgsql-sql(at)postgresql(dot)org
Subject: Re: on connect/on disconnect
Date: 2006-09-11 04:52:23
Message-ID: 4504EB87.3090502@cs.anu.edu.au
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-sql


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* <bob(at)cs(dot)anu(dot)edu(dot)au
> <mailto:bob(at)cs(dot)anu(dot)edu(dot)au>> 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
> ==================================================================

In response to

Responses

Browse pgsql-sql by date

  From Date Subject
Next Message Aaron Bono 2006-09-11 04:54:25 Re: where clause subqueries vs multiple rows results
Previous Message Aaron Bono 2006-09-11 04:28:43 Re: on connect/on disconnect