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

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 9.1 已结束支持。 2016-10-27. 请参阅 当前版本手册.

18.16. 自定义选项 #

这个特性被设计用来允许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

报告文档问题

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