It occurs to me that at least on some OSes the WAL logs are being synced with O_SYNC or its ilk. In those cases the writes should be guaranteed to be written out in the order postgres wrote them. So if the tail end of the WAL entry is there (is there any sort of footer?) then the entire entry must be there. In that case is there any need to calculate the CRC at all?
I suppose it's a bit of a problem in that the database doing the replay might not know which sync method was used to write the entries. The format would have to stay the same. Some magic value would have to be defined to always be correct. -- greg ---------------------------(end of broadcast)--------------------------- TIP 9: the planner will ignore your desire to choose an index scan if your joining column's datatypes do not match