On 08/24/21 14:28, Robert Haas wrote: > cost would, I think, be quite terrible. If you really had to force > everything through an API, I think what you'd want to do is define an > API where code can look up a handle object for a GUC using the name of > the GUC, and then hold onto a pointer to the handle and use that for > future accesses, so that you don't have to keep incurring the expense > of a hash table hit on every access. But even if you did that, > preventing "unauthorized" writes to GUC variables would require a > function call for every access.
I don't think that's true of the second proposal in [0]. I don't foresee a noticeable runtime cost unless there is a plausible workload that involves very frequent updates to GUC settings that are also of interest to a bunch of extensions. Maybe I'll take a stab at a POC. Regards, -Chap [0] https://www.postgresql.org/message-id/6123C425.3080409%40anastigmatix.net