Postgres requested WAL segment has already been removed (however it is actually in the slave's directory) I am using repmgr as my replication tool. On the slave I keep getting an error:


  requested WAL segment  has already been removed


When I check the Master indeed it is not there; however, it is in the slave's directories both in pg_xlogs and pg_xlogs/archive_status. I can't understand why it would be looking for this file if it's already in the slave?

In fact it has xlogs going past the requested one. The solutions in What to do with WAL files for Postgres Slave reset are for a slightly different problem. They seem to be for a scenario where the master deletes a log file before the slave receives it. In my case it is very much present on the slave and several other files in the sequence after the one being requested. 

This also tells me I do not need to increase the keep wal segments option as it didn't seem to fall behind?
I simply took a gamble and copied the one file back to the master which was missing. It worked i still don't know what caused the issue.