Server-side hooks for user session start and session end

From: Nikolai Zhubr <n-a-zhubr(at)yandex(dot)ru>
To: pgsql-general(at)postgresql(dot)org
Subject: Server-side hooks for user session start and session end
Date: 2015-09-26 16:17:39
Message-ID: 5606C523.5040006@yandex.ru
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Hi all,

I'm trying to find a soultion to automatically execute something
(preferrably a function or at least some pure sql statements) at the
beginning and at the end of a user session. As an example, imagine just
storing of all login and logout timestamps (though the real task is a
bit more complicated than that)

I would not like it to be somehow explicitely client-side initiated
(like e.g. trivially calling some certain do_at_sess_begin(),
do_at_sess_end()) because first, a malicious client could then mess it
up easily, and furthermore, in the case that the session somehow ended
abnormally (due to say temporary network fault) client-side finalizer
function would not be called anyway.

My first try was to create an event trigger for sql drop events, then
create a temporary table and watch for its drop at the end of a session.
However, it seems drop events are just not fired for temporary tables
(although documentation does not state this anywhere, as far as I can
see, maybe I'm wrong about that)

It would seem like one of the simplest things ever, but I'm now totally
stuck out of ideas.

As a partial solution, handling just session _end_ would already be OK.

Any thoughts?

Thank you,
Nikolai

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Pavel Stehule 2015-09-26 16:26:29 Re: Server-side hooks for user session start and session end
Previous Message Melvin Davidson 2015-09-26 13:44:27 Re: How to speed up delete where not in