pg_controldata: Prevent division-by-zero errors

Peter Eisentraut <peter_e@gmx.net>

Commit: 4731d848f23e08a9396b4831d13fbb6dd460faf2
Author: Peter Eisentraut <peter_e@gmx.net>
Date: 2018-03-21T16:21:23Z
Releases: 11.0
pg_controldata: Prevent division-by-zero errors

If the control file is corrupted and specifies the WAL segment size
to be 0 bytes, calculating the latest checkpoint's REDO WAL file
will fail with a division-by-zero error.  Show it as "???" instead.

Also reword the warning message a bit and send it to stdout, like the
other pre-existing warning messages.

Add some tests for dealing with a corrupted pg_control file.

Author: Nathan Bossart <bossartn@amazon.com>, tests by me

Files