Re: pg_rewind WAL segments deletion pitfall
Alexander Kukushkin <cyberdemn@gmail.com>
From: Alexander Kukushkin <cyberdemn@gmail.com>
To: Kyotaro Horiguchi <horikyota.ntt@gmail.com>
Cc: bungina@gmail.com, pgsql-hackers@lists.postgresql.org
Date: 2022-08-30T08:03:07Z
Lists: pgsql-bugs, pgsql-hackers
Hello Kyotaro, On Tue, 30 Aug 2022 at 09:51, Kyotaro Horiguchi <horikyota.ntt@gmail.com> wrote: > > > And as I said in a mail I sent just before, the patch looks too > complex. How about just comparing WAL file name aginst the last > common checkpoint's tli and lsn? We can tell filemap.c about the last > checkpoint and decide_file_action can compare the file name with it. > > It is sufficient to preserve WAL files if tli matches and the segment > number of the WAL file is equal to or later than the checkpoint > location. > What if the last common checkpoint was on a previous timeline? I.e., standby was promoted to primary, the timeline changed from 1 to 2, and after that the node crashed _before_ the CHECKPOINT after promote has finished. The next node will advance the timeline from 2 to 3. In this case, the last common checkpoint will be on timeline 1, and the check becomes more complex because we will have to consider both timelines, 1 and 2. Also, we need to take into account the divergency LSN. Files after it are not required. Regards, -- Alexander Kukushkin
Commits
-
Fix newly introduced 010_keep_recycled_wals.pl
- 2fb3919356fb 17.3 landed
- 50010c6f6c4d 16.7 landed
- 93d8d4fe1255 15.11 landed
- 1c5fe56bc259 14.16 landed
- b5be29ecafe1 18.0 landed
-
Avoid deleting critical WAL segments during pg_rewind
- ea1649c352f6 16.6 landed
- e28cf2fbc222 15.10 landed
- cb844d66b587 17.2 landed
- ba25358413e4 14.15 landed
- 90bcc7c2db1d 18.0 landed