Dave Cramer wrote: > I'm thinking of the situation where one transaction occurs on more than > one backend, and there is > more than one transaction manager.
XA XIDs are *global* IDs, i.e. they are unique even with more than one TM involved. It's the responsibility of the TM to generate a globally-unique XID. If you have two different databases involved in the same global transaction, then yes, the two backends could be told to use the same global XID. That's normal. (they don't *have* to be given the same XID as they could be participating in two independent branches of the same global transaction, and in that case the global XIDs will have different branch qualifiers) It's even possible for one resource to do two different independent (local) transactions that are part of the same global transaction -- in that case, the local transactions will be given different XIDs though. But all of this allocation / management of XIDs is done by the TM, the individual resources don't need to do anything beyond associating particular transactions with client-supplied XIDs, which we already do AFAIK. -O ---------------------------(end of broadcast)--------------------------- TIP 6: Have you searched our list archives? http://archives.postgresql.org