Evan Rempel wrote: > Alvaro Herrera wrote: >> Evan Rempel wrote: >> >>> Now to the question. >>> >>> Once the archive_command starts lying about its success, postgresql deletes >>> a number of the xlog files that it has been told have been successfuly archived. >>> Why does it do this? Can I control it? Can I turn it off? >> >> Because they're no longer needed. >> >> If you want to keep those files, make the archive_command not lie. > > > Normally posgres will rename the old WAL files that have been archived and are no longer needed, > keeping the number of WAL files constant. In this case, it actually deletes them. > Why is the behaviour different? Renaming files is done because the files will be reused in the future under the new name. However, after a long archiver failure, new files need to be created to hold the extra data. When the archiver is restored, those excess files can be deleted because they're not needed for recycling. (The number of files to keep for recycling is a function of checkpoint_segments.) -- Alvaro Herrera http://www.CommandPrompt.com/ The PostgreSQL Company - Command Prompt, Inc.