pg_waldump: Emit stats summary when interrupted by SIGINT
authorMichael Paquier <michael@paquier.xyz>
Thu, 2 Dec 2021 04:52:16 +0000 (13:52 +0900)
committerMichael Paquier <michael@paquier.xyz>
Thu, 2 Dec 2021 04:52:16 +0000 (13:52 +0900)
commitf2c52eeba919a1b191f60445001371bd7c53aaa9
tree83239dd1ac4fbab2155237cdc20778cf02154da1
parent0df9641d39057f431655b92b8a490b89c508a0b3
pg_waldump: Emit stats summary when interrupted by SIGINT

Previously, pg_waldump would not display its statistics summary if it
got interrupted by SIGINT (or say a simple Ctrl+C).  It gains with this
commit a signal handler for SIGINT, trapping the signal to exit at the
earliest convenience to allow a display of the stats summary before
exiting.  This makes the reports more interactive, similarly to strace
-c.

This new behavior makes the combination of the options --stats and
--follow much more useful, so as the user will get a report for any
invocation of pg_waldump in such a case.  Information about the LSN
range of the stats computed is added as a header to the report
displayed.

This implementation comes from a suggestion by Álvaro Herrera and
myself, following a complaint by the author of this patch about --stats
and --follow not being useful together originally.

As documented, this is not supported on Windows, though its support
would be possible by catching the terminal events associated to Ctrl+C,
for example (this may require a more centralized implementation, as
other tools could benefit from a common API).

Author: Bharath Rupireddy
Discussion: https://postgr.es/m/CALj2ACUUx3PcK2z9h0_m7vehreZAUbcmOky9WSEpe8TofhV=PQ@mail.gmail.com
doc/src/sgml/ref/pg_waldump.sgml
src/bin/pg_waldump/pg_waldump.c