Re: [PATCH] Logical decoding of TRUNCATE - Mailing list pgsql-hackers

From Noah Misch
Subject Re: [PATCH] Logical decoding of TRUNCATE
Date
Msg-id 20201224025836.GA4158910@rfd.leadboat.com
Whole thread Raw
In response to Re: [PATCH] Logical decoding of TRUNCATE  (Andres Freund <andres@anarazel.de>)
List pgsql-hackers
On Mon, Dec 21, 2020 at 09:42:47AM -0800, Andres Freund wrote:
> On 2020-12-20 15:54:31 -0800, Peter Geoghegan wrote:
> > On Sun, Dec 20, 2020 at 3:13 PM Andres Freund <andres@anarazel.de> wrote:
> > > Hm. Do I understand correctly that this problem is hit solely because
> > > the parallel mode code relies on there already have been a transaction
> > > snapshot set, thus avoiding the error? And that the code normally only
> > > works because GetTransactionSnapshot() will already have been called
> > > somewhere, before EnterParallelMode()?
> > 
> > It seems unlikely that InitializeParallelDSM() was ever intended to be
> > run in a background worker.
> 
> IDK, the environment in a bgworker shouldn't be that different from the
> normal query environment in a normal connection. And it's far from
> insane to want to be able to run a paralell query in a bgworker (and I
> *think* I have seen that work before). This case here seems more like
> an accidental dependency than anything to me, once that could perhaps
> even hint at problems in normal backends too.

Yeah.  SPI_execute("TRUNCATE foo", false, 0) has no trouble doing a parallel
index build in a bgworker.  Let's ignore intention and be pleased about that.



pgsql-hackers by date:

Previous
From: Li Japin
Date:
Subject: Re: Confused about stream replication protocol documentation
Next
From: Thomas Munro
Date:
Subject: Re: WIP: WAL prefetch (another approach)