shared_preload_libraries
确定在 PostgreSQL 启动时要加载哪些库的服务器配置参数
shared_preload_libraries
是一个 服务器配置参数,用于确定在 PostgreSQL 启动时要加载哪些库。任何使用共享内存的库都*必须*通过此参数加载。
shared_preload_libraries
在 PostgreSQL 7.4 中添加(作为 preload_libraries
)。
默认值
shared_preload_libraries
的默认值为:''
(空字符串)。
用法
通常 shared_preload_libraries
只包含每个库的名称,在这种情况下,假设库位于 LIBDIR/postgresql/
中(其中 LIBDIR
是 pg_config --libdir
报告的值),例如:
shared_preload_libraries = 'auto_explain,pg_stat_statements'
库文件也可以指定为绝对文件路径,例如:
shared_preload_libraries = '/usr/pgsql-13/lib/pg_stat_statements/pg_stat_statements.so'
请注意,文件后缀(此处为“.so
”)是可选的,通常省略。
按 PostgreSQL 版本分列的详细信息
shared_preload_libraries (PostgreSQL 17)
设置 |
|
单位 |
|
类别 |
客户端连接默认值 / 共享库预加载 |
简短描述 |
列出要预加载到服务器中的共享库。 |
额外描述 |
|
上下文 |
postmaster |
变量类型 |
字符串 |
来源 |
默认 |
最小值 |
|
最大值 |
|
枚举值 |
|
引导值 |
|
重置值 |
|
源文件 |
|
源代码行号 |
|
待处理重启 |
false |
文档: shared_preload_libraries
shared_preload_libraries (PostgreSQL 16)
设置 |
|
单位 |
|
类别 |
客户端连接默认值 / 共享库预加载 |
简短描述 |
列出要预加载到服务器中的共享库。 |
额外描述 |
|
上下文 |
postmaster |
变量类型 |
字符串 |
来源 |
默认 |
最小值 |
|
最大值 |
|
枚举值 |
|
引导值 |
|
重置值 |
|
源文件 |
|
源代码行号 |
|
待处理重启 |
false |
文档: shared_preload_libraries
shared_preload_libraries (PostgreSQL 15)
设置 |
|
单位 |
|
类别 |
客户端连接默认值 / 共享库预加载 |
简短描述 |
列出要预加载到服务器中的共享库。 |
额外描述 |
|
上下文 |
postmaster |
变量类型 |
字符串 |
来源 |
默认 |
最小值 |
|
最大值 |
|
枚举值 |
|
引导值 |
|
重置值 |
|
源文件 |
|
源代码行号 |
|
待处理重启 |
false |
文档: shared_preload_libraries
shared_preload_libraries (PostgreSQL 14)
设置 |
|
单位 |
|
类别 |
客户端连接默认值 / 共享库预加载 |
简短描述 |
列出要预加载到服务器中的共享库。 |
额外描述 |
|
上下文 |
postmaster |
变量类型 |
字符串 |
来源 |
默认 |
最小值 |
|
最大值 |
|
枚举值 |
|
引导值 |
|
重置值 |
|
源文件 |
|
源代码行号 |
|
待处理重启 |
false |
文档: shared_preload_libraries
shared_preload_libraries (PostgreSQL 13)
设置 |
|
单位 |
|
类别 |
客户端连接默认值 / 共享库预加载 |
简短描述 |
列出要预加载到服务器中的共享库。 |
额外描述 |
|
上下文 |
postmaster |
变量类型 |
字符串 |
来源 |
默认 |
最小值 |
|
最大值 |
|
枚举值 |
|
引导值 |
|
重置值 |
|
源文件 |
|
源代码行号 |
|
待处理重启 |
false |
文档: shared_preload_libraries
shared_preload_libraries (PostgreSQL 12)
设置 |
|
单位 |
|
类别 |
客户端连接默认值 / 共享库预加载 |
简短描述 |
列出要预加载到服务器中的共享库。 |
额外描述 |
|
上下文 |
postmaster |
变量类型 |
字符串 |
来源 |
默认 |
最小值 |
|
最大值 |
|
枚举值 |
|
引导值 |
|
重置值 |
|
源文件 |
|
源代码行号 |
|
待处理重启 |
false |
文档: shared_preload_libraries
shared_preload_libraries (PostgreSQL 11)
设置 |
|
单位 |
|
类别 |
客户端连接默认值 / 共享库预加载 |
简短描述 |
列出要预加载到服务器中的共享库。 |
额外描述 |
|
上下文 |
postmaster |
变量类型 |
字符串 |
来源 |
默认 |
最小值 |
|
最大值 |
|
枚举值 |
|
引导值 |
|
重置值 |
|
源文件 |
|
源代码行号 |
|
待处理重启 |
false |
文档: shared_preload_libraries
shared_preload_libraries (PostgreSQL 10)
设置 |
|
单位 |
|
类别 |
客户端连接默认值 / 共享库预加载 |
简短描述 |
列出要预加载到服务器中的共享库。 |
额外描述 |
|
上下文 |
postmaster |
变量类型 |
字符串 |
来源 |
默认 |
最小值 |
|
最大值 |
|
枚举值 |
|
引导值 |
|
重置值 |
|
源文件 |
|
源代码行号 |
|
待处理重启 |
false |
文档: shared_preload_libraries
shared_preload_libraries (PostgreSQL 9.6)
设置 |
|
单位 |
|
类别 |
客户端连接默认值 / 共享库预加载 |
简短描述 |
列出要预加载到服务器中的共享库。 |
额外描述 |
|
上下文 |
postmaster |
变量类型 |
字符串 |
来源 |
默认 |
最小值 |
|
最大值 |
|
枚举值 |
|
引导值 |
|
重置值 |
|
源文件 |
|
源代码行号 |
|
待处理重启 |
false |
文档: shared_preload_libraries
shared_preload_libraries (PostgreSQL 9.5)
设置 |
|
单位 |
|
类别 |
客户端连接默认值 / 共享库预加载 |
简短描述 |
列出要预加载到服务器中的共享库。 |
额外描述 |
|
上下文 |
postmaster |
变量类型 |
字符串 |
来源 |
默认 |
最小值 |
|
最大值 |
|
枚举值 |
|
引导值 |
|
重置值 |
|
源文件 |
|
源代码行号 |
|
待处理重启 |
false |
文档: shared_preload_libraries
shared_preload_libraries (PostgreSQL 9.4)
设置 |
|
单位 |
|
类别 |
客户端连接默认值 / 共享库预加载 |
简短描述 |
列出要预加载到服务器中的共享库。 |
额外描述 |
|
上下文 |
postmaster |
变量类型 |
字符串 |
来源 |
默认 |
最小值 |
|
最大值 |
|
枚举值 |
|
引导值 |
|
重置值 |
|
源文件 |
|
源代码行号 |
|
文档: shared_preload_libraries
shared_preload_libraries (PostgreSQL 9.3)
设置 |
|
单位 |
|
类别 |
资源使用 / 内核资源 |
简短描述 |
列出要预加载到服务器中的共享库。 |
额外描述 |
|
上下文 |
postmaster |
变量类型 |
字符串 |
来源 |
默认 |
最小值 |
|
最大值 |
|
枚举值 |
|
引导值 |
|
重置值 |
|
源文件 |
|
源代码行号 |
|
文档: shared_preload_libraries
shared_preload_libraries (PostgreSQL 9.2)
设置 |
|
单位 |
|
类别 |
资源使用 / 内核资源 |
简短描述 |
列出要预加载到服务器中的共享库。 |
额外描述 |
|
上下文 |
postmaster |
变量类型 |
字符串 |
来源 |
默认 |
最小值 |
|
最大值 |
|
枚举值 |
|
引导值 |
|
重置值 |
|
源文件 |
|
源代码行号 |
|
文档: shared_preload_libraries
shared_preload_libraries (PostgreSQL 9.1)
设置 |
|
单位 |
|
类别 |
资源使用 / 内核资源 |
简短描述 |
列出要预加载到服务器中的共享库。 |
额外描述 |
|
上下文 |
postmaster |
变量类型 |
字符串 |
来源 |
默认 |
最小值 |
|
最大值 |
|
枚举值 |
|
引导值 |
|
重置值 |
|
源文件 |
|
源代码行号 |
|
文档: shared_preload_libraries
shared_preload_libraries (PostgreSQL 9.0)
设置 |
|
单位 |
|
类别 |
资源使用 / 内核资源 |
简短描述 |
列出要预加载到服务器中的共享库。 |
额外描述 |
|
上下文 |
postmaster |
变量类型 |
字符串 |
来源 |
默认 |
最小值 |
|
最大值 |
|
枚举值 |
|
引导值 |
|
重置值 |
|
源文件 |
|
源代码行号 |
|
文档: shared_preload_libraries
shared_preload_libraries (PostgreSQL 8.4)
设置 |
|
单位 |
|
类别 |
资源使用 / 内核资源 |
简短描述 |
列出要预加载到服务器中的共享库。 |
额外描述 |
|
上下文 |
postmaster |
变量类型 |
字符串 |
来源 |
默认 |
最小值 |
|
最大值 |
|
枚举值 |
|
引导值 |
|
重置值 |
|
源文件 |
|
源代码行号 |
|
文档: shared_preload_libraries
shared_preload_libraries (PostgreSQL 8.3)
设置 |
|
单位 |
|
类别 |
资源使用 / 内核资源 |
简短描述 |
列出要预加载到服务器中的共享库。 |
额外描述 |
|
上下文 |
postmaster |
变量类型 |
字符串 |
来源 |
默认 |
最小值 |
|
最大值 |
|
文档: shared_preload_libraries
shared_preload_libraries (PostgreSQL 8.2)
设置 |
|
单位 |
|
类别 |
资源使用 / 内核资源 |
简短描述 |
列出要预加载到服务器中的共享库。 |
额外描述 |
|
上下文 |
postmaster |
变量类型 |
字符串 |
来源 |
默认 |
最小值 |
|
最大值 |
|
文档: shared_preload_libraries
更改历史记录
源代码
shared_preload_libraries
在 src/backend/utils/misc/guc.c 中定义
{
{"shared_preload_libraries", PGC_POSTMASTER, CLIENT_CONN_PRELOAD,
gettext_noop("Lists shared libraries to preload into server."),
NULL,
GUC_LIST_INPUT | GUC_LIST_QUOTE | GUC_SUPERUSER_ONLY
},
&shared_preload_libraries_string,
"",
NULL, NULL, NULL
},
并通过 src/backend/utils/init/miscinit.c 中的 process_shared_preload_libraries()
函数进行处理。
/*
* process any libraries that should be preloaded at postmaster start
*/
void
process_shared_preload_libraries(void)
{
process_shared_preload_libraries_in_progress = true;
load_libraries(shared_preload_libraries_string,
"shared_preload_libraries",
false);
process_shared_preload_libraries_in_progress = false;
}
请注意,逗号分隔字符串的基本解析由 SplitDirectoriesString()
(来自 src/backend/utils/adt/varlena.c)处理,这意味着可以提供的值的最大长度为 MAXPGPATH
- 1。