Thread

  1. Confirming precedence order of Default for GUCs

    Manav Kumar <mkumar@yugabyte.com> — 2025-05-21T08:06:56Z

    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
    
  2. Re: Confirming precedence order of Default for GUCs

    Tom Lane <tgl@sss.pgh.pa.us> — 2025-05-21T13:35:33Z

    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
    
    
    
    
  3. Re: Confirming precedence order of Default for GUCs

    David G. Johnston <david.g.johnston@gmail.com> — 2025-05-21T13:52:14Z

    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.