This is a web app, so the username is unknown until the user actually logs in.
It would be ideal if pg_stat_activity contained the current role.
Until then, I'll go with your second recommendation.
Thanks for such a quick and useful reply.
Ken
On 2010-10-21, at 2:18 PM, Tom Lane wrote:
> Ken Lalonde <kenl@gap.ca> writes:
>> Is there any way to determine if a given role has any active sessions?
>
> Not if you're using SET ROLE. pg_stat_activity will show you the
> login role names for active sessions. Do you really need SET ROLE
> rather than logging in with the appropriate username?
>
> There are going to be race conditions in any case, of course.
> Probably the best solution is to just not try to drop roles
> except when the system is idle.
>
> regards, tom lane