shared_preload_libraries

确定在 PostgreSQL 启动时要加载哪些库的服务器配置参数

shared_preload_libraries 是一个 服务器配置参数,用于确定在 PostgreSQL 启动时要加载哪些库。任何使用共享内存的库都*必须*通过此参数加载。

shared_preload_librariesPostgreSQL 7.4 中添加(作为 preload_libraries)。

默认值

shared_preload_libraries 的默认值为:''(空字符串)。

用法

通常 shared_preload_libraries 只包含每个库的名称,在这种情况下,假设库位于 LIBDIR/postgresql/ 中(其中 LIBDIRpg_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_librariessrc/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。

分类

GUC 配置项

另请参阅

local_preload_librariessession_preload_libraries

反馈

提交任何关于“shared_preload_libraries”的评论、建议或更正 此处