↑↓ 选择 ↵ 打开 ⌫ 改范围 完整检索页

pgsql.cc 提供对 postgresql.org 官网内容的中文翻译,由 Pigsty 团队维护。

百科 / 配置参数 / 文件位置

CONFIGURATION PARAMETER文件位置

extension_destdir

设置加载扩展时要加在路径前的目录。(实测下游 pg_settings 简述。)

Path to prepend for extension loading.

字符串 会话(超级用户) 引入 9.5 于 18 移除 0 次默认值变更

类型
字符串string
上下文
会话(超级用户)超级用户可在会话内用 SET 修改
默认值
空字符串原始值 ''
分类
文件位置
引入版本
9.5
状态
于 18 移除

版本轨迹

相对 PostgreSQL 16 无变化。

默认值变迁

空字符串 9.5 – 17

已记录的默认值在 PostgreSQL 9.5–17 之间未变。带单位的取值换算成了可读形式,原始的 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 文件,却忘记路径设计中的共享库部分。
  • 只用构建用户测试,数据库服务账号却无法读取最终目录、文件或父路径。

演化历史

相邻两个大版本之间的差异,新的在前。版本号链到该版的快照。

  1. PostgreSQL 18 ← 17 移除此参数

    该版起不再存在

  2. PostgreSQL 15 ← 14 仅描述更新

    简述 Path to prepend for extension loading Path to prepend for extension loading.

  3. PostgreSQL 9.5 ← 9.4 新增此参数

    PostgreSQL 9.5 起可用

逐版本快照

每个收录版本里的 7 项事实,与上一个存在的版本不同的格子带底色。版本号链到该版。

版本 默认值单位上下文类型最小值最大值枚举值
9.5 空字符串 — 会话(超级用户) 字符串 — — —
9.6 空字符串 — 会话(超级用户) 字符串 — — —
10 空字符串 — 会话(超级用户) 字符串 — — —
11 空字符串 — 会话(超级用户) 字符串 — — —
12 空字符串 — 会话(超级用户) 字符串 — — —
13 空字符串 — 会话(超级用户) 字符串 — — —
14 空字符串 — 会话(超级用户) 字符串 — — —
15 空字符串 — 会话(超级用户) 字符串 — — —
16 空字符串 — 会话(超级用户) 字符串 — — —
17 空字符串 — 会话(超级用户) 字符串 — — —

参考资料

同类参数

参数 类型 上下文 默认值 版本变动 最近变更
File Locations 文件位置 7 个 ↗
config_file 字符串 重启生效 未设置 —
设置服务器主配置文件。 现存
data_directory 字符串 重启生效 未设置 —
设置服务器数据目录。 现存
extension_destdir 字符串 会话(超级用户) 空字符串 —
设置加载扩展时要加在路径前的目录。(实测下游 pg_settings 简述。) 于 18 移除
external_pid_file 字符串 重启生效 未设置 —
将 postmaster PID 写入指定文件。 现存
hba_file 字符串 重启生效 未设置 —
设置服务器的 HBA 配置文件。 现存
hosts_file 字符串 重启生效 未设置 —
设置服务器的 hosts 配置文件路径。 现存
ident_file 字符串 重启生效 未设置 —
设置服务器的 ident 配置文件。 现存