Re: Server-side hooks for user session start and session end - Mailing list pgsql-general

From Jim Nasby
Subject Re: Server-side hooks for user session start and session end
Date
Msg-id 56084628.5080205@BlueTreble.com
Whole thread Raw
In response to Re: Server-side hooks for user session start and session end  (Nikolai Zhubr <n-a-zhubr@yandex.ru>)
Responses Re: Server-side hooks for user session start and session end
List pgsql-general
On 9/26/15 7:12 PM, Nikolai Zhubr wrote:
> 26.09.2015 20:59, Tom Lane wrote:
> [...]
>> A session-end hook seems pretty problematic to me: you simply cannot
>> guarantee that it will run at all.  (Consider process crash or server
>> abort cases.)  So anything built on the assumption that it gets to run
>> at session end is going to be inherently unreliable.
>
> Yes, I understand that.
> For such cases (of e.g. abnormal shutdown) it would also be nice if a
> database could 'autorun' some specified function just after server has
> performed whetever startup/replay/cleanup procedures necessary and
> immediately before it is ready for normal operation. This would allow to
> perform some checks and cleanups to restore consistency. And actually,
> such 'autorun' function could be interesting regardless of this session
> begin/end thing.
> And there are already quite some hooks in use for session-end cleanups
> at C-level, like e.g. for disposing temp tables, just none of them
> expose anything to SQL level. I'd guess this technique is available for
> use by extensions, so potentially SQL-level hook could also be
> implemented. Though I think it is a bit beyond my capability at the
> moment...

Actually, there's probably some other hooks you could use for this purpose.

BTW, if you want to extend Pavel's code to also handle logout, you just
need to create a _PG_fini function. See the end of this section in the
docs: http://www.postgresql.org/docs/9.4/static/xfunc-c.html#XFUNC-C-DYNLOAD
--
Jim Nasby, Data Architect, Blue Treble Consulting, Austin TX
Experts in Analytics, Data Architecture and PostgreSQL
Data in Trouble? Get it in Treble! http://BlueTreble.com


pgsql-general by date:

Previous
From: Jim Nasby
Date:
Subject: Re: error on CREATE INDEX when restoring from dump file: could not read block 0
Next
From: Pavel Stehule
Date:
Subject: Re: Server-side hooks for user session start and session end