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