Re: [HACKERS] WAL logging problem in 9.4.3?

From: Kyotaro HORIGUCHI <horiguchi(dot)kyotaro(at)lab(dot)ntt(dot)co(dot)jp>
To: alvherre(at)2ndquadrant(dot)com
Cc: hlinnaka(at)iki(dot)fi, andrew(dot)dunstan(at)2ndquadrant(dot)com, michael(at)paquier(dot)xyz, pgsql-hackers(at)postgresql(dot)org
Subject: Re: [HACKERS] WAL logging problem in 9.4.3?
Date: 2018-07-17 09:24:22
Message-ID: 20180717.182422.96244544.horiguchi.kyotaro@lab.ntt.co.jp
Views: Raw Message | Whole Thread | Download mbox
Thread:
Lists: pgsql-hackers

Hello.

At Mon, 16 Jul 2018 16:14:09 -0400, Alvaro Herrera <alvherre(at)2ndquadrant(dot)com> wrote in <20180716201409(dot)2qfcneo4qkdwjvpv(at)alvherre(dot)pgsql>
> On 2018-Jul-12, Heikki Linnakangas wrote:
>
> > > > Thanks for the pointer. My tap test has been covering two out of
> > > > the three scenarios you have in your script. I have been able to
> > > > convert the extra as the attached, and I have added as well an
> > > > extra test with TRUNCATE triggers. So it seems to me that we want
> > > > to disable the optimization if any type of trigger are defined on
> > > > the relation copied to as it could be possible that these triggers
> > > > work on the blocks copied as well, for any BEFORE/AFTER and
> > > > STATEMENT/ROW triggers. What do you think?
> > >
> > > Yeah, this seems like the only sane approach.
> >
> > Doesn't have to be a trigger, could be a CHECK constraint, datatype
> > input function, etc. Admittedly, having a datatype input function that
> > inserts to the table is worth a "huh?", but I'm feeling very confident
> > that we can catch all such cases, and some of them might even be
> > sensible.
>
> A counterexample could be a a JSON compresion scheme that uses a catalog
> for a dictionary of keys. Hasn't this been described already? Also not
> completely out of the question for GIS data, I think (Not sure if
> PostGIS does this already.)

In the third case, IIUC, disabling bulk-insertion after any
WAL-logging insertion happend seems to work. The attached diff to
v2 patch makes the three TAP tests pass. It uses relcache to
store the last insertion XID but it will not be invalidated
during a COPY operation.

regards.

--
Kyotaro Horiguchi
NTT Open Source Software Center

Attachment Content-Type Size
wal-minimal-copy-truncate-v2-v3.diff text/x-patch 3.2 KB

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message ramsiddu007 2018-07-17 09:30:43 65279 Invisible ASCII Character
Previous Message Dean Rasheed 2018-07-17 09:09:15 Re: [HACKERS] PATCH: multivariate histograms and MCV lists