2015-05-22 6:55 GMT+02:00 Fujii Masao <masao.fujii@gmail.com>: > > This problem happens when WAL record is stored in separate two WAL files and > there is no valid latter WAL file in the standby. In your case, the former file > is 0000000400004C4D00000090 and the latter is 0000000400004C4D00000091. > > In this case, the first half of WAL record can be read from the former WAL file, > but the remaining half not because no valid latter file exists in the standby. > Then the standby tries to retrieve the latter WAL file via replication. > The problem here is that the standby tries to start the replication from the > starting point of WAL record, i.e., that's the location of the former WAL file. > So the already-read WAL file is requested via replication. > (..)
I currently have wal_keep_segments set to 0. Setting this to higher value will help? As I understand: master won't delete segment and could stream it to slave on request - so it will help.
It definitely helps, but the issue could still happen.