Mark Shuttleworth wrote: > Tom Lane wrote: >> (1) something (still not sure what --- Martin and Mark, I'd really like >> to know) was issuing random SIGTERMs to various postgres processes >> including autovacuum. >> > > This may be a misfeature in our test harness - I'll ask Stuart Bishop to > comment.
After a test is run, the test harness kills any outstanding connections so we can drop the test database. Without this, a failing test could leave open connections dangling causing the drop database to block. CREATE OR REPLACE FUNCTION _killall_backends(text) RETURNS Boolean AS $$ import os from signal import SIGTERM plan = plpy.prepare( "SELECT procpid FROM pg_stat_activity WHERE datname=$1", ['text'] ) success = True for row in plpy.execute(plan, args): try: plpy.info("Killing %d" % row['procpid']) os.kill(row['procpid'], SIGTERM) except OSError: success = False return success $$ LANGUAGE plpythonu; -- Stuart Bishop <[EMAIL PROTECTED]> http://www.canonical.com/ Canonical Ltd. http://www.ubuntu.com/
Description: OpenPGP digital signature