Thread: Two Phase Commit support

Two Phase Commit support

From
"Stephen J. Thompson"
Date:
Hello all,

Is it correct that postgresql can not support two phase commits? If not is
there any plans to do so? We are doing a large amount of development on EJB
servers and need to perform two phase commits between the database server and
the mom server.

Regards,

Stephen.


Re: Two Phase Commit support

From
Robert Treat
Date:
I'm not sure of the functionality your looking for, can you point me to
a definition of "two phased commits"?

Robert Treat

On Sat, 2002-10-26 at 06:53, Stephen J. Thompson wrote:
> Hello all,
>
> Is it correct that postgresql can not support two phase commits? If not is
> there any plans to do so? We are doing a large amount of development on EJB
> servers and need to perform two phase commits between the database server and
> the mom server.
>
> Regards,
>
> Stephen.
>
>
> ---------------------------(end of broadcast)---------------------------
> TIP 6: Have you searched our list archives?
>
> http://archives.postgresql.org




Re: Two Phase Commit support

From
Cristóvão Dalla Costa
Date:
Robert Treat wrote:

> I'm not sure of the functionality your looking for, can you point me to
> a definition of "two phased commits"?
>
> Robert Treat

He's probably updating/inserting data on many pgsql servers at once,
two-phase commits are the best-known algorithm to do it safely:

Phase 1: Perform queries on all servers, commit

-- wait for commit confirmation from all servers

Phase 2: If there have not been any errors, perform the "real" commit on
all servers; else perform a rollback and undo changes.

The commit from phase 1 isn't a real commit, although data is written to
disk, etc, the database still waits for the second commit to make the
changes visible.

I don't think there's any way to do it in Pgsql. Once you committed the
data the first time, the only way to undo the changes is to send a batch
of queries to reverse them.

Cristóvão

>
>
> On Sat, 2002-10-26 at 06:53, Stephen J. Thompson wrote:
>
> >Hello all,
> >
> >Is it correct that postgresql can not support two phase commits? If
> not is
> >there any plans to do so? We are doing a large amount of development
> on EJB
> >servers and need to perform two phase commits between the database
> server and
> >the mom server.
> >
> >Regards,
> >
> >Stephen.




Re: Two Phase Commit support

From
wsheldah@lexmark.com
Date:
I agree with Cristóvão. Also, two-phase commit only makes sense in the
context of multiple database servers which are replicating to each other in
real time. Once postgresql has replication in place then they should
probably start considering two-phase commit; unless they decide to roll out
both at once of course. ;-)

I continue to be impressed with the progress of the postgresql development
team, and how stable the released versions are. Keep up the good work!

Wes Sheldahl




Cristóvão Dalla Costa <cbraga@bsi.com.br>@postgresql.org on 10/28/2002
06:02:24 PM

Sent by:    pgsql-general-owner@postgresql.org


To:    Robert Treat <xzilla@users.sourceforge.net>
cc:    stephen@cass-ltd.co.uk, "pgsql-general@postgresql.org"
       <pgsql-general@postgresql.org>
Subject:    Re: [GENERAL] Two Phase Commit support


Robert Treat wrote:

> I'm not sure of the functionality your looking for, can you point me to
> a definition of "two phased commits"?
>
> Robert Treat

He's probably updating/inserting data on many pgsql servers at once,
two-phase commits are the best-known algorithm to do it safely:

<details snipped>

I don't think there's any way to do it in Pgsql. Once you committed the
data the first time, the only way to undo the changes is to send a batch
of queries to reverse them.

Cristóvão

>
>
> On Sat, 2002-10-26 at 06:53, Stephen J. Thompson wrote:
>
> >Hello all,
> >
> >Is it correct that postgresql can not support two phase commits? If
> not is
> >there any plans to do so? We are doing a large amount of development
> on EJB
> >servers and need to perform two phase commits between the database
> server and
> >the mom server.
> >
> >Regards,
> >
> >Stephen.




---------------------------(end of broadcast)---------------------------
TIP 3: if posting/reading through Usenet, please send an appropriate
subscribe-nomail command to majordomo@postgresql.org so that your
message can get through to the mailing list cleanly





Re: Two Phase Commit support

From
Medi Montaseri
Date:
I thought databases that support begin-end transactions use "two phase
commit" or some
derivative of it to achieve such operations.

Two Phase Commit is a technology used in distributed applications, to
assure that both
parties (client and server) are understanding each other and no
ambiguity about what just
took place exists.


Robert Treat wrote:

>I'm not sure of the functionality your looking for, can you point me to
>a definition of "two phased commits"?
>
>Robert Treat
>
>On Sat, 2002-10-26 at 06:53, Stephen J. Thompson wrote:
>
>
>>Hello all,
>>
>>Is it correct that postgresql can not support two phase commits? If not is
>>there any plans to do so? We are doing a large amount of development on EJB
>>servers and need to perform two phase commits between the database server and
>>the mom server.
>>
>>Regards,
>>
>>Stephen.
>>
>>
>>---------------------------(end of broadcast)---------------------------
>>TIP 6: Have you searched our list archives?
>>
>>http://archives.postgresql.org
>>
>>
>
>
>
>
>---------------------------(end of broadcast)---------------------------
>TIP 6: Have you searched our list archives?
>
>http://archives.postgresql.org
>
>




Re: Two Phase Commit support

From
Neil Conway
Date:
wsheldah@lexmark.com writes:
> I agree with Cristóvão. Also, two-phase commit only makes sense in the
> context of multiple database servers which are replicating to each other in
> real time. Once postgresql has replication in place then they should
> probably start considering two-phase commit; unless they decide to roll out
> both at once of course. ;-)

The Pgreplication project is in the process of implementing a new
eager, multi-master replication design that should be a lot more
scalable than 2PC -- see here for more info:

  http://citeseer.nj.nec.com/330257.html

BTW, the Pgreplication homepage is here:

  http://gborg.postgresql.org/project/pgreplication/projdisplay.php

Cheers,

Neil

--
Neil Conway <neilc@samurai.com> || PGP Key ID: DB3C29FC