Re: BDR: Transactions with global lock

From: Craig Ringer <craig(at)2ndquadrant(dot)com>
To: Salvatore Tomaselli <salvatore(dot)tomaselli(at)cryptzone(dot)com>
Cc: "pgsql-general(at)postgresql(dot)org" <pgsql-general(at)postgresql(dot)org>
Subject: Re: BDR: Transactions with global lock
Date: 2016-09-04 23:28:56
Message-ID: CAMsr+YHDESt_UA4Ppm3m_u2wz52eSgsMc6diS2cOu2ZvAdfcnQ@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

On 31 August 2016 at 22:38, Salvatore Tomaselli
<salvatore(dot)tomaselli(at)cryptzone(dot)com> wrote:
> Hello,
>
> I have been looking around in the documentation and I didn't find anything, so I wonder if there is support in bdr for having transactions that happen while the global lock is acquired and get replicated everywhere before the transaction ends.
>
> Is there a way to achieve this?

The purpose of the global DDL lock to to prevent that.

If you ALTER a table on one node, say by ALTERing the type of a
column, while you continue to do write transactions to that table on
other nodes, when the other nodes' data replicates to the node that
does the DROP it won't make sense anymore. What value should be in the
new column?

BDR 1.0 adds a weaker DDL lock mode that is used for types of DDL
where that is not a concern. It only blocks other concurrent DDL. But
for DDL that alters tables it's necessary to block concurrent DML.

BTW, now that it's clear in-core logical replication is going in
another direction there's now a bdr-list(at)2ndquadrant(dot)com mailing list;
see https://groups.google.com/a/2ndquadrant.com/forum/#!forum/bdr-list
.

--
Craig Ringer http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Training & Services

In response to

Browse pgsql-general by date

  From Date Subject
Next Message Patrick B 2016-09-05 02:57:50 Get date timestamp(3) without time zone column - PGSQL 9.5
Previous Message Patrick B 2016-09-04 20:37:34 Re: 2.5TB Migration from SATA to SSD disks - PostgreSQL 9.2