extension_control_path
英文手册覆盖始于 PostgreSQL 7.4. 来源历史与运行验证各自保留独立版本边界。
当前阅读 PG 18·选择有来源记录的版本
- boot val
- $system
- category
- Client Connection Defaults / Other Defaults
- context
- superuser
- documented
- true
- enumvals
- 未知
- extra desc
- The remaining extension script and secondary control files are then loaded from the same directory where the primary control file was found.
- lang
- en
- max val
- 未知
- metadata version
- 18
- min val
- 未知
- name
- extension_control_path
- short desc
- Sets the path for extension control files.
- source
- pg-settings-source-snapshot
- unit
- 未知
- vartype
- string
版本定义 PG 18
搜索扩展的路径,特别是扩展控制文件()。其余扩展脚本和辅助控制文件会从找到主控制文件的同一目录中加载。详情请参见第 36.17.1 节。name.control
extension_control_path 的值必须是绝对目录路径列表,各路径以冒号分隔(在 Windows 上使用分号)。如果某个列表元素以特殊字符串 $system 开头,则 $system 会被替换为编译时确定的 PostgreSQL 扩展目录,也就是标准版 PostgreSQL 所提供扩展的安装位置。(可使用 pg_config --sharedir 查找该目录名称。)例如:
extension_control_path = '/usr/local/share/postgresql:/home/my_project/share:$system'
或者在 Windows 环境中:
extension_control_path = 'C:\tools\postgresql;H:\my_project\share;$system'
请注意,指定的每个路径元素都应当包含一个 extension 子目录,其中放置 .control 和 .sql 文件;系统会自动为每个路径元素追加 extension 后缀。
该参数的默认值是 '$system'。如果将其设置为空字符串,也会视为默认的 '$system'。
如果配置路径中的多个目录中存在同名扩展,则只会使用路径中最先找到的那个。
该参数可以由超级用户和具有适当SET权限的用户在运行时更改,但这种方式下的设置只会持续到客户端连接结束,因此这种方法应保留用于开发目的。推荐在postgresql.conf中设置该参数。
请注意,如果设置此参数以便从非标准位置加载扩展,通常还需要将dynamic_library_path设置为相应的位置,例如:
extension_control_path = '/usr/local/share/postgresql:$system' dynamic_library_path = '/usr/local/lib/postgresql:$libdir'
比较版本
来源引用
定义来源
center · PostgreSQL 18 · english-manuals:9d53152d15b249da98f84c32ca123ac4405bbc5d73306d5717ba26df05452fee
正文语言: zh-Hans · 2026-09-11@29c86d9