类型: string
上下文: superuser
重新开始: false
以来: 9.4

这个变量指定一个或者多个要在连接开始时预载入的共享库。只有超级用户更够更改这个设置。它包含一个由逗号分隔的库名列表,其中每个名称都会按sql-load命令的方式解析。项之间的空格会被忽略,如果需要在库名中包含空格或者逗号,请把库名放在双引号内。这个参数只在连接开始时起效。后续的改变没有效果。如果指定的库没有找到,连接尝试将会失败。只有超级用户能够更改这个设置。

这个特性的意图是允许在特定会话中载入调试用的或者测量性能的库,而不需要显式的给出一个 LOAD命令。例如,通过用ALTER ROLE SET设置这个参数可以 为一个给定用户名下的所有会话启用auto-explain。还有,无需重启 服务器就能更改这个参数(但是只有新会话启动时才会生效),这样可以以这种方式更容易地增 加新模块,即便它们会应用到所有会话。

shared_preload_libraries不同,相对于在库被第一次使用 时载入它,在会话开始时载入库并没有什么性能优势。不过,当使用连接池时这样做还是有一些 优势。

建议 [EN]

Special uses for debugging or for loading application-specific extensions.

条评论