Can you please clarify, is lack of support for "LISTEN, UNLISTEN, and NOTIFY" with two-phase commits an architecture limitation or is this lacking implementation? The NOTIFY happens after the transaction commits and can't undo the transaction, so I can't think of any reason why this could interfere with the two-phase commit.
https://www.postgresql.org/docs/current/sql-prepare-transaction.html
> "It is not currently allowed to PREPARE a transaction that has executed any operations involving temporary tables or the session's temporary namespace, created any cursors WITH HOLD, or executed LISTEN, UNLISTEN, or NOTIFY. Those features are too tightly tied to the current session to be useful in a transaction to be prepared."
I can't see a work-around even by writing to an event queue table. The event queue table can't be populated by either during a two-phase commit so it would have to be polled negating the purpose of LISTEN / NOTIFY.
--
This private communication and any attachment(s) are protected by the expectation of privacy and is for the sole use of the intended recipient and contains privileged and/or confidential information. No monitoring of my communication or other means of surveillance, electronic and otherwise, is permitted and I reserve all my rights, without recourse and without prejudice, nunc pro tunc. I do not consent to anyone tampering with, altering, monitoring or delaying any incoming or outgoing communication.