Hi,
When tap tests are interrupted (e.g. with ctrl-c), we don't cancel running
postgres instances etc. That doesn't strike me as a good thing.
In contrast, the postgres instances started by pg_regress do terminate. I
assume this is because pg_regress starts postgres directly, whereas tap tests
largely start postgres via pg_ctl. pg_ctl will, as it should, start postgres
without a controlling terminal. Thus a ctrl-c won't be delivered to it.
ISTM we should at least install a SIGINT/TERM handler in Cluster.pm that does
the stuff we already do in END.
That still leaves us with some other potential processes around that won't
immediately exec, but it'd be much better already.
Greetings,
Andres Freund