> 5 сент. 2017 г., в 15:42, Chris Travers <chris.trav...@adjust.com> написал(а): > > On Tue, Sep 5, 2017 at 2:40 PM, Vladimir Borodin <r...@simply.name > <mailto:r...@simply.name>> wrote: > >> 5 сент. 2017 г., в 14:04, Michael Paquier <michael.paqu...@gmail.com >> <mailto:michael.paqu...@gmail.com>> написал(а): >> >>> For example, in archive_command we put WALs for archiving from >>> pg_xlog/pg_wal into another directory inside PGDATA and than another cron >>> task makes real archiving. This directory ideally should be skipped by >>> pg_rewind, but it would not be handled by proposed change. >> >> I would be curious to follow the reasoning for such a two-phase >> archiving (You basically want to push it in two places, no? But why >> not just use pg_receivexlog then?). This is complicated to handle from >> the point of view of availability and backup reliability + durability. > > We do compress WALs and send them over network. Doing it via archive_command > in single thread is sometimes slower than new WALs are written under heavy > load. > > How would this work when it comes to rewinding against a file directory?
Very bad, of course. Sometimes we get 'could not remove file "/var/lib/postgresql/9.6/data/wals/00000001000000C3000000C6": No such file or directory’ while running pg_rewind ($PGDATA/wals is a directory where archive_command copies WALs). That’s why I want to solve the initial problem. Both proposed solutions (using only needed files and skipping files through glob/regex) are fine for me, but not the initial patch. -- May the force be with you… https://simply.name