pgsql.cc 提供对 postgresql.org 官网内容的中文翻译,由 Pigsty 团队维护。
这个特性被设计用来允许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
译文有误、术语不当或页面显示问题,请到译文仓库 pgsty/pgdoc 报告译文问题。 英文原文本身的问题,请在当前版本的对应页面向上游反馈;上游不再修订已结束维护的版本。