Обсуждение: Confirming precedence order of Default for GUCs
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
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
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.