Thank you for your question!
Composite parameters in a configuration system are needed to describe complex 
objects that have many interrelated parameters. Such examples already exist in 
PostgreSQL: synchronous_standby_names or primary_conninfo. And with these 
parameters, there are some difficulties for both developers and DBMS 
administrators.
For administrators: * The value of such parameters can only be written in full 
as a string and there is no way to access individual fields or substructure. * 
Each such parameter has its own syntax (compare the syntax description of 
synchronous_standby_names and primary_conninfo) 
For developers: * For each composite parameter, you need to write your own 
parser that will parse the string value, instead of just describing the logic.
Personally, I needed to describe the cluster configuration. A cluster consists 
of nodes interconnected by some logic. And it turns out that in the current 
system, I need to write 1 more parser for this parameter, and the user will 
have to learn 1 more syntax.
This patch creates a unified approach to creating composite options, provides a 
unified syntax for values of composite types, adds the ability to work with 
fields and substructures, and eliminates the need for developers to write their 
own parsers for each composite parameter.
Best regards
Anton Chumak

 

Reply via email to