Re: BUG #15631: Generated as identity field in a temporary table with on commit drop corrupts system catalogs

From: Michael Paquier <michael(at)paquier(dot)xyz>
To: Peter Eisentraut <peter(dot)eisentraut(at)2ndquadrant(dot)com>
Cc: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, dnsl48(at)gmail(dot)com, pgsql-bugs(at)lists(dot)postgresql(dot)org
Subject: Re: BUG #15631: Generated as identity field in a temporary table with on commit drop corrupts system catalogs
Date: 2019-04-25 00:59:24
Message-ID: 20190425005924.GF8552@paquier.xyz
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

Hi Peter,

On Tue, Mar 26, 2019 at 11:45:27AM +0900, Michael Paquier wrote:
> On Wed, Mar 13, 2019 at 10:28:11AM +0100, Peter Eisentraut wrote:
>> /* Need CCI between commands */
>> - if (lnext(l) != NULL)
>> CommandCounterIncrement();
>
> Hmm. We could actually live with this suggestion, and this impacts
> only CREATE TABLE and ALTER TABLE statements. I would still add a CCI
> after the internal dependency between the identity sequence and its
> root table is recorded though as there could be other callers of the
> internal sequence API, so a CCI only in utility.c may not be enough.

Is there something else you are considering for this patch? This
previous suggestion looks fine to live with, at least for me. Tom,
perhaps you have some extra input on the matter and would prefer a
more restrictive location for the CCI?

>> I think we should also make the implicitly created sequence temporary.
>> Even though the permanent sequence is cleaned up properly, we should
>> avoid having those sequences write to the WAL.
>
> Indeed, sounds good to me.

This is at least v13 material, so I would suggest to discard this item
for now.
--
Michael

In response to

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message Amit Langote 2019-04-25 02:21:41 Re: BUG #15672: PostgreSQL 11.1/11.2 crashed after dropping a partition table
Previous Message Tom Lane 2019-04-24 23:27:10 Re: BUG #15672: PostgreSQL 11.1/11.2 crashed after dropping a partition table