pg.ddx.io  pgsql-performance@postgresql.org mailing list archive  
help / color / mirror / Atom feed
From: Craig Ringer <craig@postnewspapers.com.au>
To: Jeff Davis <pgsql@j-davis.com>
Cc: Merlin Moncure <mmoncure@gmail.com>
Cc: elias ghanem <e.ghanem@acteos.com>
Cc: pgsql-performance@postgresql.org
Subject: Re: Is DBLINK transactional
Date: Sat, 13 Mar 2010 20:10:49 +0800
Message-ID: <4B9B80C9.4010004@postnewspapers.com.au> (raw)
In-Reply-To: <1268430857.32299.11.camel@monkey-cat.sm.truviso.com>
References: <201003121524.o2CFOD26012586@relay-ext.ornis.com>
	<b42b73151003120907n1f977887y6132a564af9260b3@mail.gmail.com>
	<1268430857.32299.11.camel@monkey-cat.sm.truviso.com>

On 13/03/2010 5:54 AM, Jeff Davis wrote:
> On Fri, 2010-03-12 at 12:07 -0500, Merlin Moncure wrote:
>> of course.  You can always explicitly open a transaction on the remote
>> side over dblink, do work, and commit it at the last possible moment.
>> Your transactions aren't perfectly synchronized...if you crash in the
>> precise moment between committing the remote and the local you can get
>> in trouble.  The chances of this are extremely remote though.
>
> If you want a better guarantee than that, consider using 2PC.

Translation in case you don't know: 2PC = two phase commit.

Note that you have to monitor "lost" transactions that were prepared for 
commit then abandoned by the controlling app and periodically get rid of 
them or you'll start having issues.

> The problem with things that are "extremely remote" possibilities are
> that they tend to be less remote than we expect ;)

... and they know just when they can happen despite all the odds to 
maximise the pain and chaos caused.

--
Craig Ringer



view thread (6+ messages)  latest in thread

Message-ID: <4B9B80C9.4010004@postnewspapers.com.au>
Permalink:  ../4B9B80C9.4010004@postnewspapers.com.au/
Also on:    postgresql.org/message-id/4B9B80C9.4010004@postnewspapers.com.au

 · 

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: pgsql-performance@postgresql.org
  Cc: craig@postnewspapers.com.au, pgsql@j-davis.com, mmoncure@gmail.com, e.ghanem@acteos.com
  Subject: Re: Is DBLINK transactional
  In-Reply-To: <4B9B80C9.4010004@postnewspapers.com.au>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox