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 19)

设置
单位  
类别 客户端连接默认值 / 共享库预加载
简短描述 列出要预加载到服务器的共享库。
扩展描述  
上下文 postmaster
变量类型 string
来源 默认
最小值  
最大值  
枚举值  
启动值
重置值
源文件  
源行  
需要重启 false

文档shared_preload_libraries

shared_preload_libraries (PostgreSQL 18)

设置
单位  
类别 客户端连接默认值 / 共享库预加载
简短描述 列出要预加载到服务器的共享库。
扩展描述  
上下文 postmaster
变量类型 string
来源 默认
最小值  
最大值  
枚举值  
启动值
重置值
源文件  
源行  
需要重启 false

文档shared_preload_libraries

shared_preload_libraries (PostgreSQL 17)

设置
单位  
类别 客户端连接默认值 / 共享库预加载
简短描述 列出要预加载到服务器的共享库。
扩展描述  
上下文 postmaster
变量类型 string
来源 默认
最小值  
最大值  
枚举值  
启动值
重置值
源文件  
源行  
需要重启 false

文档shared_preload_libraries

shared_preload_libraries (PostgreSQL 16)

设置
单位  
类别 客户端连接默认值 / 共享库预加载
简短描述 列出要预加载到服务器的共享库。
扩展描述  
上下文 postmaster
变量类型 string
来源 默认
最小值  
最大值  
枚举值  
启动值
重置值
源文件  
源行  
需要重启 false

文档shared_preload_libraries

shared_preload_libraries (PostgreSQL 15)

设置
单位  
类别 客户端连接默认值 / 共享库预加载
简短描述 列出要预加载到服务器的共享库。
扩展描述  
上下文 postmaster
变量类型 string
来源 默认
最小值  
最大值  
枚举值  
启动值
重置值
源文件  
源行  
需要重启 false

文档shared_preload_libraries

shared_preload_libraries (PostgreSQL 14)

设置
单位  
类别 客户端连接默认值 / 共享库预加载
简短描述 列出要预加载到服务器的共享库。
扩展描述  
上下文 postmaster
变量类型 string
来源 默认
最小值  
最大值  
枚举值  
启动值
重置值
源文件  
源行  
需要重启 false

文档shared_preload_libraries

shared_preload_libraries (PostgreSQL 13)

设置
单位  
类别 客户端连接默认值 / 共享库预加载
简短描述 列出要预加载到服务器的共享库。
扩展描述  
上下文 postmaster
变量类型 string
来源 默认
最小值  
最大值  
枚举值  
启动值
重置值
源文件  
源行  
需要重启 false

文档shared_preload_libraries

shared_preload_libraries (PostgreSQL 12)

设置
单位  
类别 客户端连接默认值 / 共享库预加载
简短描述 列出要预加载到服务器的共享库。
扩展描述  
上下文 postmaster
变量类型 string
来源 默认
最小值  
最大值  
枚举值  
启动值
重置值
源文件  
源行  
需要重启 false

文档shared_preload_libraries

shared_preload_libraries (PostgreSQL 11)

设置
单位  
类别 客户端连接默认值 / 共享库预加载
简短描述 列出要预加载到服务器的共享库。
扩展描述  
上下文 postmaster
变量类型 string
来源 默认
最小值  
最大值  
枚举值  
启动值
重置值
源文件  
源行  
需要重启 false

文档shared_preload_libraries

shared_preload_libraries (PostgreSQL 10)

设置
单位  
类别 客户端连接默认值 / 共享库预加载
简短描述 列出要预加载到服务器的共享库。
扩展描述  
上下文 postmaster
变量类型 string
来源 默认
最小值  
最大值  
枚举值  
启动值
重置值
源文件  
源行  
需要重启 false

文档shared_preload_libraries

shared_preload_libraries (PostgreSQL 9.6)

设置
单位  
类别 客户端连接默认值 / 共享库预加载
简短描述 列出要预加载到服务器的共享库。
扩展描述  
上下文 postmaster
变量类型 string
来源 默认
最小值  
最大值  
枚举值  
启动值
重置值
源文件  
源行  
需要重启 false

文档shared_preload_libraries

shared_preload_libraries (PostgreSQL 9.5)

设置
单位  
类别 客户端连接默认值 / 共享库预加载
简短描述 列出要预加载到服务器的共享库。
扩展描述  
上下文 postmaster
变量类型 string
来源 默认
最小值  
最大值  
枚举值  
启动值
重置值
源文件  
源行  
需要重启 false

文档shared_preload_libraries

shared_preload_libraries (PostgreSQL 9.4)

设置
单位  
类别 客户端连接默认值 / 共享库预加载
简短描述 列出要预加载到服务器的共享库。
扩展描述  
上下文 postmaster
变量类型 string
来源 默认
最小值  
最大值  
枚举值  
启动值
重置值
源文件  
源行  

文档shared_preload_libraries

shared_preload_libraries (PostgreSQL 9.3)

设置
单位  
类别 资源使用 / 内核资源
简短描述 列出要预加载到服务器的共享库。
扩展描述  
上下文 postmaster
变量类型 string
来源 默认
最小值  
最大值  
枚举值  
启动值
重置值
源文件  
源行  

文档shared_preload_libraries

shared_preload_libraries (PostgreSQL 9.2)

设置
单位  
类别 资源使用 / 内核资源
简短描述 列出要预加载到服务器的共享库。
扩展描述  
上下文 postmaster
变量类型 string
来源 默认
最小值  
最大值  
枚举值  
启动值
重置值
源文件  
源行  

文档shared_preload_libraries

shared_preload_libraries (PostgreSQL 9.1)

设置
单位  
类别 资源使用 / 内核资源
简短描述 列出要预加载到服务器的共享库。
扩展描述  
上下文 postmaster
变量类型 string
来源 默认
最小值  
最大值  
枚举值  
启动值
重置值
源文件  
源行  

文档shared_preload_libraries

shared_preload_libraries (PostgreSQL 9.0)

设置
单位  
类别 资源使用 / 内核资源
简短描述 列出要预加载到服务器的共享库。
扩展描述  
上下文 postmaster
变量类型 string
来源 默认
最小值  
最大值  
枚举值  
启动值
重置值
源文件  
源行  

文档shared_preload_libraries

shared_preload_libraries (PostgreSQL 8.4)

设置
单位  
类别 资源使用 / 内核资源
简短描述 列出要预加载到服务器的共享库。
扩展描述  
上下文 postmaster
变量类型 string
来源 默认
最小值  
最大值  
枚举值  
启动值
重置值
源文件  
源行  

文档shared_preload_libraries

shared_preload_libraries (PostgreSQL 8.3)

设置  
单位  
类别 资源使用 / 内核资源
简短描述 列出要预加载到服务器的共享库。
扩展描述  
上下文 postmaster
变量类型 string
来源 默认
最小值  
最大值  

文档shared_preload_libraries

shared_preload_libraries (PostgreSQL 8.2)

设置  
单位  
类别 资源使用 / 内核资源
简短描述 列出要预加载到服务器的共享库。
扩展描述  
上下文 postmaster
变量类型 string
来源 默认
最小值  
最大值  

文档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。

分类

GUC配置项

另请参阅

local_preload_libraries, session_preload_libraries

反馈

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