>when you use json, then what is the benefit from your patch?
jsonisjust a syntax.This is onlypart of the patch. The mainfeatureisthatwe can directly, in a standardway,without the efforts of developers, translatecompositevaluesfromuserinterfaces like psql or postgresql.confintostructuresinCcode.Withthispatch, the configurationsystemgains the ability to correctlymanage the state of compositeobjects.This is importantwhenyouneed to change2 out of5fields at the same time so that the structureremainsconsistent. In addition, thenewconfigurationmoduletakes over themanagement of resourceswithin the framework,which can beimportantforstringsanddynamicarrays. There areother auxiliary features like hidden fields.
How common are composites in configuration? It goes against the simplicity of configuration.
And if you really need it - you can use plpgsql code and set_config function.
>It is not too big difference if I set value by SET command or by SELECT set_config()
Working with parameters is not limited to working within a session, otherwise the PGC_INTERNAL, PGC_POSTMASTER, and PGC_SIGHUP contexts would not be needed. My patch provides unified support for composite types and within such contexts. Example: you have a composite boot value and in the postgresql.conf file you need to change only 2 fields, and you need to do this at the same time to maintain the consistency of the structure. Now you would have to describe all the fields in one big line, and with the patch you can only describe the changed fields.
your patch does just parsing. At the end, you still need to validate values.