Re: Enforce "max_wal_size/ min_wal_size must be at least twice wal_segment_size" limit while setting GUCs - Mailing list pgsql-hackers

From mahendrakar s
Subject Re: Enforce "max_wal_size/ min_wal_size must be at least twice wal_segment_size" limit while setting GUCs
Date
Msg-id CABkiuWrjK9R3G3yY-4tWBbwtDkepLhjPg3R1yANP2=OsLOQ6iw@mail.gmail.com
Whole thread Raw
In response to Re: Enforce "max_wal_size/ min_wal_size must be at least twice wal_segment_size" limit while setting GUCs  (rajesh singarapu <rajesh.rs0541@gmail.com>)
List pgsql-hackers
Hi Bharath,

+1.
This seems to be good idea to have checks on upper bound for the max_wal_size and min_wal_size. We have seen customers play with these parameters and ran into issues.
It will also be better to consider all the control parameters and have a min/max checks on them as well.

Thanks,
Mahendrakar.

On Sat, 21 May 2022 at 23:26, rajesh singarapu <rajesh.rs0541@gmail.com> wrote:
Hi Bharath,

Could you explain why min wal size must be at least twice but not
equal to wal_segment_size ?

thanks
Rajesh

On Sat, May 21, 2022 at 7:08 PM Bharath Rupireddy
<bharath.rupireddyforpostgres@gmail.com> wrote:
>
> Hi,
>
> Currently postgres allows setting any value for max_wal_size or
> min_wal_size, not enforcing "at least twice as wal_segment_size" limit
> [1]. This isn't a problem if the server continues to run, however, the
> server can't come up after a crash or restart or maintenance or
> upgrade (goes to a continuous restart loop with FATAL errors [1]).
>
> How about we add GUC check hooks for both max_wal_size and
> min_wal_size where we can either emit ERROR or WARNING if values are
> not "at least twice as wal_segment_size"?
>
> Thoughts?
>
> [1]
> FATAL:  "max_wal_size" must be at least twice "wal_segment_size"
> FATAL:  "min_wal_size" must be at least twice "wal_segment_size"
>
> [2]
> ./initdb -D data
> ./pg_ctl -D data -l logfile start
> ./psql -c "alter system set max_wal_size='2MB'" postgres
> ./psql -c "alter system set min_wal_size='2MB'" postgres
> ./psql -c "select pg_reload_conf()" postgres
> ./pg_ctl -D data -l logfile restart
>
> Regards,
> Bharath Rupireddy.
>
>


pgsql-hackers by date:

Previous
From: Thomas Munro
Date:
Subject: Re: tweak to a few index tests to hits ambuildempty() routine.
Next
From: Noah Misch
Date:
Subject: Re: tweak to a few index tests to hits ambuildempty() routine.