This was rather surprising - my synchronous commit was... not cancelled. Is this expected behaviour?
d5r5fdj6u5ieml=> begin; BEGIN d5r5fdj6u5ieml=> set synchronous_commit = 'on'; SET d5r5fdj6u5ieml=> insert into data values ('baz'); INSERT 0 1 d5r5fdj6u5ieml=> commit; ^CCancel request sent WARNING: canceling wait for synchronous replication due to user request DETAIL: The transaction has already committed locally, but might not have been replicated to the standby. COMMIT d5r5fdj6u5ieml=> select * from data; foo ----- bar baz (2 rows) d5r5fdj6u5ieml=> rollback; NOTICE: there is no transaction in progress ROLLBACK d5r5fdj6u5ieml=> -- Peter van Hardenberg San Francisco, California "Everything was beautiful, and nothing hurt." -- Kurt Vonnegut