Confirming precedence order of Default for GUCs

Manav Kumar <mkumar@yugabyte.com>

From: Manav Kumar <mkumar@yugabyte.com>
To: pgsql-sql@lists.postgresql.org
Date: 2025-05-21T08:06:56Z
Lists: pgsql-sql
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