On Wed, Jul 18, 2018 at 8:31 AM, Valery Kuzmin <valerij.kuz...@gmail.com>
wrote:

> Hi,
>
> Can multiple processes participate in a single transaction's execution?
> I need to do the following actions sequence:
> 1. Calling service begins transaction. At this step transaction
> manager generate new XID.
> 2. Calling service updates some data.
> 3. Need to detach a transaction from a service context before other
> service is called.
> 4. Called service resume transaction using XID.
> 5. Called service updates its data.
> 6. Calling service gets control, resume transaction using XID and does
> commit.
> How can the third and fourth step be implemented?
>

​Your original pgsql-general post was the right place for this but I see it
got no response​...

Basically no, if you need multiple service processes to share a session you
would need to share the persistent database connection between them at a
higher level (i.e., outside the database).  IOW, the physical connection
needs to be shared, not an XID.

Depending on the specifics of this orchestration two-phase commit might
provide some useful capabilities but its considerably harder to setup
reliably.

David J.

Reply via email to