类型: string
默认: $libdir
上下文: superuser
重新开始: false

如果需要打开一个可以动态装载的模块并且在CREATE FUNCTIONLOAD命令中指定的文件名没有目录部分(即名字中不包含斜线),那么系统将搜索这个路径以查找所需的文件。

dynamic_library_path的值必须是一个冒号分隔(或者在 Windows 上以分号分隔)的绝对目录路径的列表。如果一个列表元素以特殊字符串开始,$libdir会被替换为PostgreSQL包中已编译好的库目录。这里是PostgreSQL发布提供的模块被安装的位置(使用pg_config --pkglibdir来找到这个目录的名字)。例如:dynamic_library_path = '/usr/local/lib/postgresql:/home/my_project/lib:$libdir' 或者在 Windows 环境中:dynamic_library_path = 'C:\tools\postgresql;H:\my_project\lib;$libdir'

这个参数的默认值是'$libdir'。如果该值被设置为一个空字符串,则关闭自动路径搜索。

这个参数可以在运行时由超级用户修改,但是这样修改的设置只能保持到这个客户端连接的结尾,因此这个方法应该保留给开发目的。 我们建议在postgresql.conf配置文件中设置这个参数。

建议 [EN]

Primarily useful if you've written lots of custom C libraries for your installation and want to organize them into custom directories.

条评论