Re: Enforce "max_wal_size/ min_wal_size must be at least twice wal_segment_size" limit while setting GUCs
От | Bharath Rupireddy |
---|---|
Тема | Re: Enforce "max_wal_size/ min_wal_size must be at least twice wal_segment_size" limit while setting GUCs |
Дата | |
Msg-id | CALj2ACUGKVVCHRpio--KxYsv1ME6+Y_ZwjrQw3S9fBPVzMFv9g@mail.gmail.com обсуждение исходный текст |
Ответ на | 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>) |
Список | pgsql-hackers |
On Sat, May 21, 2022 at 11:26 PM rajesh singarapu <rajesh.rs0541@gmail.com> wrote: > > 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" > Hi Bharath, > > Could you explain why min wal size must be at least twice but not > equal to wal_segment_size ? It is because postgres always needs/keeps at least one WAL file and the usage of max_wal_size/min_wal_size is in terms of number of WAL segments/WAL files. It doesn't make sense to set max_wal_size/min_wal_size to, say, 20MB (where wal_segment_size = 16MB) and expect the server to honor it and do something. Hence the 'at least twice' requirement. Regards, Bharath Rupireddy.
В списке pgsql-hackers по дате отправления: