更新时间:2024-11-12 GMT+08:00
分享

其他缺省

主要介绍数据库系统默认的库加载参数。

dynamic_library_path

参数说明:设置数据查找动态加载的共享库文件的路径。当需要打开一个可以动态装载的模块并且在CREATE FUNCTION或LOAD命令里面声明的名称没有目录部分时,系统将搜索这个目录以查找声明的文件,仅sysadmin用户可以访问。

参数类型:字符串

参数单位:

取值范围:用冒号分隔(Windows下是分号分隔)的绝对路径列表。

当一个路径名称以特殊变量$libdir为开头时,会替换为GaussDB发布提供的模块安装路径。例如:
1
dynamic_library_path = '/usr/local/lib/gaussdb:/opt/testgs/lib:$libdir'

设置为空字符串时,表示关闭自动路径搜索。

默认值:"$libdir"

设置方式:该参数属于SUSET类型参数,请参考表1中对应设置方法进行设置。

设置建议:推荐使用默认值。

设置不当的风险与影响:由于参数local_preload_librariesshared_preload_libraries配置的动态库的搜索路径也依赖此参数配置,如果设置此参数为空或其他非法路径会导致动态库加载失败,从而导致数据库服务异常。

local_preload_libraries

参数说明:指定一个或多个共享库,它们在开始连接前预先加载。多个共享库之间用逗号分隔,除了双引号内的库名,所有的库名都转换为小写。

  • 并非只有系统管理员才能更改此选项,因此只能加载安装的标准库目录下plugins子目录中的库文件,数据库管理员有责任确保该目录中的库都是安全的。local_preload_libraries中指定的项可以明确含有该目录,例如$libdir/plugins/mylib;也可以仅指定库的名称,例如mylib(等价于$libdir/plugins/mylib)。
  • 与shared_preload_libraries不同,在会话开始之前加载模块与在会话中使用到该模块的时候临时加载相比并不具有性能优势。相反,这个特性的目的是为了调试或者测量在特定会话中不明确使用LOAD加载的库。例如针对某个用户将该参数设为ALTER USER SET来进行调试。
  • 每一个支持GaussDB的库都有一个“magic block”用于确保兼容性,因此不支持GaussDB的库不能通过这个方法加载。

参数类型:字符串

参数单位:

取值范围:用逗号分隔的共享库列表,或空字符串。

默认值:""

设置方式:该参数属于BACKEND类型参数,请参考表1中对应设置方法进行设置。

设置建议:推荐使用默认值。

设置不当的风险与影响:当指定的库未找到时,连接会失败。若误设置出错(包括长度超过限制、非法目录等),会影响进程正常拉起。

相关文档