On 28 March 2017 at 10:53, Craig Ringer <craig@2ndquadrant.com> wrote:
> However, even once I add an option to force decoding of 2pc xacts with
> catalog changes to test_decoding, I cannot reproduce the expected
> locking issues so far. See tests in attached updated version, in
> contrib/test_decoding/sql/prepare.sql .
I haven't been able to create issues with CLUSTER, any ALTER TABLEs
I've tried, or anything similar.
An explicit AEL on pg_attribute causes the decoding stall, but you
can't do anything much else either, and I don't see how that'd arise
under normal circumstances.
If it's a sufficiently obscure issue I'm willing to document it as
"don't do that" or "use a command filter to prohibit that". But it's
more likely that I'm just not spotting the cases where the issue
arises.
Attempting to CLUSTER a system catalog like pg_class or pg_attribute
causes PREPARE TRANSACTION to fail with
ERROR: cannot PREPARE a transaction that modified relation mapping
and I didn't find any catalogs I could CLUSTER that'd also block decoding.
-- Craig Ringer http://www.2ndQuadrant.com/PostgreSQL Development, 24x7 Support, Training & Services