Reins
Reins

Reputation: 1109

what does the dot separator mean in postgres configuration parameters?

The question is pretty much summed up in the title: What does the dot stand for when naming a configuration parameter in postgres?

For example:

SET bar TO true;

results in ERROR: unrecognized configuration parameter "bar", but

SET foo.bar TO true;

results in Query returned successfully ...

Why is that? FYI, I am using PostgreSQL 9.4

I haven't been able to find a clear answer to this in the documentation. As per 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.

But that certainly doesn't seem to be the case here, as there is no schema, table or column with the name foo. Search_path is set to default (public).

Upvotes: 2

Views: 864

Answers (1)

Reins
Reins

Reputation: 1109

Found the answer: 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.

Upvotes: 3

Related Questions