Wiki / Hooks
Hooks
Compare versionsGlobal extension hooks exported by the PostgreSQL core, with versioned C signatures, definitions and call sites.
Reading PostgreSQL 18.
39 entries; 34 recorded in PostgreSQL 18.
-
ClientAuthentication_hook Authentication and connections
ClientAuthentication_hook
Hook for plugins to get control in ClientAuthentication()
-
check_password_hook Authentication and connections
check_password_hook
Hook to check passwords in CreateRole() and AlterRole()
-
ldap_password_hook Authentication and connections
ldap_password_hook
hook type for password manglers
-
openssl_tls_init_hook Authentication and connections
openssl_tls_init_hook
Call init hook (usually to set password callback)
-
ExplainOneQuery_hook EXPLAIN
ExplainOneQuery_hook
Hook for plugins to get control in ExplainOneQuery()
-
explain_get_index_name_hook EXPLAIN
explain_get_index_name_hook
Hook for plugins to get control in explain_get_index_name()
-
explain_per_node_hook EXPLAIN
explain_per_node_hook
Hook for EXPLAIN plugins to print extra fields on individual plan nodes
-
explain_per_plan_hook EXPLAIN
explain_per_plan_hook
Hook for EXPLAIN plugins to print extra information for each plan
-
explain_validate_options_hook EXPLAIN
explain_validate_options_hook
Hook to perform additional EXPLAIN options validation
-
emit_log_hook Logging and function calls
emit_log_hook
Hook for intercepting messages before they are sent to the server log
-
fmgr_hook Logging and function calls
fmgr_hook
function manager hook
-
needs_fmgr_hook Logging and function calls
needs_fmgr_hook
Hooks for function calls
-
ProcessUtility_hook Parsing and utility commands
ProcessUtility_hook
Hook for plugins to get control in ProcessUtility()
-
post_parse_analyze_hook Parsing and utility commands
post_parse_analyze_hook
Hook for plugins to get control at end of parse analysis
-
ExecutorCheckPerms_hook Permissions and object access
ExecutorCheckPerms_hook
Hook for plugins to get control in ExecCheckPermissions()
-
object_access_hook Permissions and object access
object_access_hook
Plugin provides a hook function matching one or both of these signatures.
-
object_access_hook_str Permissions and object access
object_access_hook_str
object_access_hook_str: core extension hook declared in src/include/catalog/objectaccess.h. The exact interface and call sites are recorded below.
-
row_security_policy_hook_permissive Permissions and object access
row_security_policy_hook_permissive
hooks to allow extensions to add their own security policies row_security_policy_hook_permissive can be used to add policies which are combined with the other permissive policies, using OR. row_security_policy_hook_restrictive can be used to add pol…
-
row_security_policy_hook_restrictive Permissions and object access
row_security_policy_hook_restrictive
row_security_policy_hook_restrictive: core extension hook declared in src/include/rewrite/rowsecurity.h. The exact interface and call sites are recorded below.
-
ExecutorEnd_hook Query execution
ExecutorEnd_hook
Hook for plugins to get control in ExecutorEnd()
-
ExecutorFinish_hook Query execution
ExecutorFinish_hook
Hook for plugins to get control in ExecutorFinish()
-
ExecutorRun_hook Query execution
ExecutorRun_hook
Hook for plugins to get control in ExecutorRun()
-
ExecutorStart_hook Query execution
ExecutorStart_hook
Hook for plugins to get control in ExecutorStart()
-
build_simple_rel_hook
Not recorded in the selected version.
-
create_upper_paths_hook Query planning
create_upper_paths_hook
Hook for plugins to get control when grouping_planner() plans upper rels
-
get_relation_info_hook Query planning
get_relation_info_hook
Hook for plugins to get control in get_relation_info()
-
join_path_setup_hook
Not recorded in the selected version.
-
join_search_hook Query planning
join_search_hook
Hook for plugins to replace standard_join_search()
-
joinrel_setup_hook
Not recorded in the selected version.
-
planner_hook Query planning
planner_hook
Hook for plugins to get control in planner()
-
planner_setup_hook
Not recorded in the selected version.
-
planner_shutdown_hook
Not recorded in the selected version.
-
set_join_pathlist_hook Query planning
set_join_pathlist_hook
Hook for plugins to get control in add_paths_to_joinrel()
-
set_rel_pathlist_hook Query planning
set_rel_pathlist_hook
Hook for plugins to get control in set_rel_pathlist()
-
shmem_request_hook Startup and shared memory
shmem_request_hook
shmem_request_hook: core extension hook declared in src/include/miscadmin.h. The exact interface and call sites are recorded below.
-
shmem_startup_hook Startup and shared memory
shmem_startup_hook
Now give loadable modules a chance to set up their shmem allocations
-
get_attavgwidth_hook Statistics and estimation
get_attavgwidth_hook
Hook for plugins to get control in get_attavgwidth()
-
get_index_stats_hook Statistics and estimation
get_index_stats_hook
get_index_stats_hook: core extension hook declared in src/include/utils/selfuncs.h. The exact interface and call sites are recorded below.
-
get_relation_stats_hook Statistics and estimation
get_relation_stats_hook
Hooks for plugins to get control when we ask for stats
RecordedFirst recordedInterface or attribute changeNo longer recorded
Squares indicate presence in sampled builds, not first introduction. Select a square for the same-version definition and sources.
Changes in PostgreSQL 18 · Export JSON
Reading this collection
C interfaces can change between major releases. Inspect the declaration and calling code for your target build. Per-object callbacks, GUC callbacks, frontend interfaces and extension-private APIs are outside this inventory.