shmem_request_hook
共享内存需求申报
在共享内存分配前申报扩展的内存与锁需求。
当前查看 PostgreSQL 18。
说明
服务器处理预加载模块的共享内存需求时调用此钩子。扩展可在这里调用 RequestAddinShmemSpace 和 RequestNamedLWLockTranche,申报后续初始化所需的空间和轻量锁。
- 接口类型
- shmem_request_hook_type
- 声明头文件
- src/include/miscadmin.h
- 调用阶段
- 启动与共享内存
- 初始值
- NULL(未安装钩子)
接口签名
typedef void (*shmem_request_hook_type) (void);
extern PGDLLIMPORT shmem_request_hook_type shmem_request_hook;加载阶段
这类初始化需要在服务器启动时生效,通常由 shared_preload_libraries 加载的模块安装。申报资源与初始化资源是两个阶段,应与 shmem_startup_hook 配合。
调用位置
src/backend/utils/init/miscinit.c:1935
相关条目
文档与源码
查看来源构建
- 版本
- 18
- 构建
- REL_18_STABLE
- 来源指纹
753057e340da8f22e57c9a409ea7a235fd6a46bd
同类条目
shmem_startup_hook共享内存初始化
返回扩展钩子 · 此条目的收录范围为 PostgreSQL 15 至 20;起点不一定是实际引入版本。