Hi,
Currently, XLogFindNextRecord errormsg is ignored and callers will only output a generic 'could not find a valid record' message without details.
Additionally, invalid page header won't go through XLogReadRecord, leaving the error in state->errormsg_buf.
This patch propagates XLogFindNextRecord's error message to the callers and displays it. In case of an invalid page header, the errormsg is filled with errormsg_buf content.
With this patch, pg_waldump will now have the following output when reading a file with an invalid header:
pg_waldump: error: could not find a valid record after D80/5C000000: invalid magic number D116 in WAL segment 0000001400000D8000000017, LSN D80/5C000000, offset 0
Regards,
Anthonin Bonnefoy