CONFIGURATION PARAMETER文件位置
extension_destdir
设置加载扩展时要加在路径前的目录。(实测下游 pg_settings 简述。)
Path to prepend for extension loading.
字符串 会话(超级用户) 引入 9.5 于 18 移除 0 次默认值变更
- 类型
- 字符串string
- 上下文
- 会话(超级用户)超级用户可在会话内用 SET 修改
- 默认值
空字符串原始值 ''- 分类
- 文件位置
- 引入版本
- 9.5
- 状态
- 于 18 移除
版本轨迹
相对 PostgreSQL 16 无变化。
默认值变迁
默认值自 PostgreSQL 9.5 起没有变过。带单位的取值换算成了可读形式,原始的 boot_val 与单位写在悬浮提示里。
手册说明
本站手册未收录此参数的说明。
机制详解
版本矩阵证明,Debian/PGDG 二进制从 PG9.5 到 PG17 暴露 extension_destdir。穷尽 PostgreSQL 上游 GUC 源码的 pickaxe 也找不到引入提交,因为该名称来自 Debian 的 extension_destdir 打包补丁,而不是 PostgreSQL 上游源码树。
该补丁在服务器寻找扩展 control/SQL 文件以及函数背后的动态库时,加上类似 DESTDIR 的暂存根目录。Debian 的 pg_virtualenv 用它在文件安装到最终系统路径前测试软件包;它明确服务于打包与构建测试,并不是通用生产扩展搜索路径。
从 PG18 起,应使用上游 extension_control_path 管理 control/SQL 文件,并用 dynamic_library_path 管理共享库,或把扩展安装到标准位置。启动新版本前,要从配置文件、ALTER SYSTEM、角色/数据库设置和生成模板中彻底删除 extension_destdir。
调优建议
按典型负载给出的取值思路,不是放之四海皆准的配方:实际取值要看数据量、并发度与硬件。
-
OLTP在线事务处理
把它视为下游迁移债务,而不是调优项。应以受支持路径打包扩展,用数据库服务账号测试 extension_control_path 与 dynamic_library_path,并在升级 PG18 前删除旧键。
-
OLAP分析与批处理
ETL 与分析扩展栈同样要迁移,包括 worker 和备用库;应按最终文件布局演练 CREATE EXTENSION、ALTER EXTENSION UPDATE、恢复与故障转移。
-
小规格低配实例与开发机
优先使用标准软件包位置。单节点几乎不会从重建 Debian 构建暂存机制中获益,而未知 GUC 足以阻止现代服务器启动。
常见问题
- 把 extension_destdir 写成 PostgreSQL 上游参数,或为它伪造上游引入提交。
- 在 PG18+ 继续下发该下游名称,而实测包已经不再识别它。
- 只迁移扩展 control 文件,却忘记路径设计中的共享库部分。
- 只用构建用户测试,数据库服务账号却无法读取最终目录、文件或父路径。
演化历史
相邻两个大版本之间的差异,新的在前。版本号链到该版的快照。
-
PostgreSQL 18 ← 17 移除此参数
该版起不再存在
-
PostgreSQL 15 ← 14 仅描述更新
简述
Path to prepend for extension loadingPath to prepend for extension loading. -
PostgreSQL 9.5 ← 9.4 新增此参数
PostgreSQL 9.5 起可用
逐版本快照
每个收录版本里的 7 项事实,与上一个存在的版本不同的格子带底色。版本号链到该版。
| 版本 | 默认值 | 单位 | 上下文 | 类型 | 最小值 | 最大值 | 枚举值 |
|---|---|---|---|---|---|---|---|
| 9.5 | 空字符串 |
— |
会话(超级用户) |
字符串 |
— |
— |
— |
| 9.6 | 空字符串 |
— |
会话(超级用户) |
字符串 |
— |
— |
— |
| 10 | 空字符串 |
— |
会话(超级用户) |
字符串 |
— |
— |
— |
| 11 | 空字符串 |
— |
会话(超级用户) |
字符串 |
— |
— |
— |
| 12 | 空字符串 |
— |
会话(超级用户) |
字符串 |
— |
— |
— |
| 13 | 空字符串 |
— |
会话(超级用户) |
字符串 |
— |
— |
— |
| 14 | 空字符串 |
— |
会话(超级用户) |
字符串 |
— |
— |
— |
| 15 | 空字符串 |
— |
会话(超级用户) |
字符串 |
— |
— |
— |
| 16 | 空字符串 |
— |
会话(超级用户) |
字符串 |
— |
— |
— |
| 17 | 空字符串 |
— |
会话(超级用户) |
字符串 |
— |
— |
— |
参考资料
同类参数
| 参数 | 类型 | 上下文 | 默认值 | 版本变动 | 最近变更 |
|---|---|---|---|---|---|
config_file |
字符串 | 重启生效 | 未设置 |
— | |
| 设置服务器主配置文件。 | 现存 | ||||
data_directory |
字符串 | 重启生效 | 未设置 |
— | |
| 设置服务器数据目录。 | 现存 | ||||
extension_destdir |
字符串 | 会话(超级用户) | 空字符串 |
— | |
| 设置加载扩展时要加在路径前的目录。(实测下游 pg_settings 简述。) | 于 18 移除 | ||||
external_pid_file |
字符串 | 重启生效 | 未设置 |
— | |
| 将 postmaster PID 写入指定文件。 | 现存 | ||||
hba_file |
字符串 | 重启生效 | 未设置 |
— | |
| 设置服务器的 HBA 配置文件。 | 现存 | ||||
hosts_file |
字符串 | 重启生效 | 未设置 |
— | |
| 设置服务器的 hosts 配置文件路径。 | 现存 | ||||
ident_file |
字符串 | 重启生效 | 未设置 |
— | |
| 设置服务器的 ident 配置文件。 | 现存 | ||||