postgres 配置参数中的点分隔符是什么意思?
what does the dot separator mean in postgres configuration parameters?
标题中总结了这个问题:
在 postgres 中命名配置参数时,点代表什么?
例如:
SET bar TO true;
结果为 ERROR: unrecognized configuration parameter "bar"
,但
SET foo.bar TO true;
结果 Query returned successfully ...
这是为什么?仅供参考,我正在使用 PostgreSQL 9.4
我没能在文档中找到明确的答案。
根据 http://www.postgresql.org/docs/9.4/static/sql-syntax-lexical.html :
The period (.) is used in numeric constants, and to separate schema,
table, and column names.
但这里似乎肯定不是这种情况,因为没有模式、table 或名称为 foo 的列。 Search_path 设置为默认值 (public)。
找到答案:
http://www.postgresql.org/docs/9.4/static/runtime-config-custom.html
Custom options have two-part names: an extension name, then a dot,
then the parameter name proper, much like qualified names in SQL. An
example is plpgsql.variable_conflict.
Because custom options may need to be set in processes that have not
loaded the relevant extension module, PostgreSQL will accept a setting
for any two-part parameter name.
标题中总结了这个问题: 在 postgres 中命名配置参数时,点代表什么?
例如:
SET bar TO true;
结果为 ERROR: unrecognized configuration parameter "bar"
,但
SET foo.bar TO true;
结果 Query returned successfully ...
这是为什么?仅供参考,我正在使用 PostgreSQL 9.4
我没能在文档中找到明确的答案。 根据 http://www.postgresql.org/docs/9.4/static/sql-syntax-lexical.html :
The period (.) is used in numeric constants, and to separate schema, table, and column names.
但这里似乎肯定不是这种情况,因为没有模式、table 或名称为 foo 的列。 Search_path 设置为默认值 (public)。
找到答案: http://www.postgresql.org/docs/9.4/static/runtime-config-custom.html
Custom options have two-part names: an extension name, then a dot, then the parameter name proper, much like qualified names in SQL. An example is plpgsql.variable_conflict.
Because custom options may need to be set in processes that have not loaded the relevant extension module, PostgreSQL will accept a setting for any two-part parameter name.