Обсуждение: Confirming precedence order of Default for GUCs

Поиск
Список
Период
Сортировка

Confirming precedence order of Default for GUCs

От
Manav Kumar
Дата:
Hi Team, 
Can you please correct me regarding the precedence order of overriding the DEFAULT values for GUC's.

Is it right to say, GUC passed in the start up packet will override the default value set by using ALTER DATABASE/ROLE. ? 
I've verified by running locally. 
But in the https://arc.net/l/quote/qnpjwhcw (DOCS) it says ALTER DATABASE/ROLE can override the cmd line options passed in startup packet. 
Also just below that paragraph for Interaction with Shell, it says about startup/cmd line options only overriding the default set via alter system or postgresql.conf

Please correct me is it correct order of applying the defaults:

1. Using start up packet (i.e using env var or passing cmd line option)
2. Using alter database/role
3. Setting via postgresql.conf or using alter system

Looking forward to hearing the response. 
Thanks
Manav

Re: Confirming precedence order of Default for GUCs

От
Tom Lane
Дата:
Manav Kumar <mkumar@yugabyte.com> writes:
> Can you please correct me regarding the precedence order of overriding the
> DEFAULT values for GUC's.

The precedence order is determined by the GucSource enum:

https://github.com/postgres/postgres/blob/master/src/include/utils/guc.h#L111

            regards, tom lane



Re: Confirming precedence order of Default for GUCs

От
"David G. Johnston"
Дата:
On Wednesday, May 21, 2025, Manav Kumar <mkumar@yugabyte.com> wrote:
 
But in the https://arc.net/l/quote/qnpjwhcw (DOCS) it says ALTER DATABASE/ROLE can override the cmd line options passed in startup packet.

The docs do not say that and in fact do not describe how packet startup options interplay with user/database settings - at least not explicitly.

The fact Tom had to point to the source code for this suggests our documentation could use some improvement.

David J.