mirror of
https://github.com/postgres/postgres.git
synced 2025-09-02 04:21:28 +03:00
Add hooks for session start and session end, take two
These hooks can be used in loadable modules. A simple test module is included. The first attempt was done withcd8ce3a
but we lacked handling for NO_INSTALLCHECK in the MSVC scripts (problem solved afterwards by431f1599
) so the buildfarm got angry. This also fixes a couple of issues noticed upon review compared to the first attempt, so the code has slightly changed, resulting in a more simple test module. Author: Fabrízio de Royes Mello, Yugo Nagata Reviewed-by: Andrew Dunstan, Michael Paquier, Aleksandr Parfenov Discussion: https://postgr.es/m/20170720204733.40f2b7eb.nagata@sraoss.co.jp Discussion: https://postgr.es/m/20190823042602.GB5275@paquier.xyz
This commit is contained in:
@@ -171,6 +171,9 @@ static ProcSignalReason RecoveryConflictReason;
|
||||
static MemoryContext row_description_context = NULL;
|
||||
static StringInfoData row_description_buf;
|
||||
|
||||
/* Hook for plugins to get control at start of session */
|
||||
session_start_hook_type session_start_hook = NULL;
|
||||
|
||||
/* ----------------------------------------------------------------
|
||||
* decls for routines only used in this file
|
||||
* ----------------------------------------------------------------
|
||||
@@ -3968,6 +3971,9 @@ PostgresMain(int argc, char *argv[],
|
||||
if (!IsUnderPostmaster)
|
||||
PgStartTime = GetCurrentTimestamp();
|
||||
|
||||
if (session_start_hook)
|
||||
(*session_start_hook) ();
|
||||
|
||||
/*
|
||||
* POSTGRES main processing loop begins here
|
||||
*
|
||||
|
Reference in New Issue
Block a user