↑↓ 选择↵ 打开⌫ 切换范围完整搜索

PG.CENTER 连接 PostgreSQL 文档、百科与生态知识。由 Pigsty 维护。

支持中的版本: 当前版本 (18) / 17 / 16 / 15 / 14
开发中的版本: 19 / 20devel
已结束支持的版本: 13 / 12 / 11 / 10 / 9.6 / 9.5 / 9.4 / 9.3 / 9.2 / 9.1 / 9.0 / 8.4 / 8.3 / 8.2 / 8.1
历史版本。 PostgreSQL 8.4 已结束支持。 请参阅 当前版本手册.

18.14. 自定义选项 #

这个特性允许附加模块(例如过程语言)向PostgreSQL添加系统通常不认识的参数。这样便能以标准方式配置扩展模块。

custom_variable_classes (string) #

这个变量以逗号分隔列表的形式指定用于自定义变量的一个或多个类名。自定义变量是一个PostgreSQL本身通常不知道、但被某个附加模块使用的变量。这种变量的名称必须由一个类名、一个点号和一个变量名组成。custom_variable_classes指定一个特定安装中使用的所有类名。此参数只能在postgresql.conf文件中或在服务器命令行上设置。

在postgresql.conf中设置自定义变量的困难在于,该文件必须在附加模块被载入之前读取,因此自定义变量通常会被当作未知变量而拒绝。当设置了custom_variable_classes时,服务器将接受每个指定类中任意变量的定义。这些变量会被当作占位符,在定义它们的模块被载入之前没有任何功能。当一个特定类的模块被载入时,它会为其类名加入正确的变量定义,根据那些定义转换任何占位符值,并对该类中剩下的任何无法识别的占位符发出警告。

下面是一个在使用自定义变量时postgresql.conf可能包含内容的例子:

custom_variable_classes = 'plpgsql,plperl'
plpgsql.variable_conflict = use_variable
plperl.use_strict = true
plruby.use_strict = true        # generates error: unknown class name

报告文档问题

阅读 上游文档. 反馈更正前请先核对 当前版本手册.