Re: Making table reloading easier - Mailing list pgsql-hackers

From Michael Paquier
Subject Re: Making table reloading easier
Date
Msg-id CAB7nPqSE29q667HTmcpaCBsc38am7V7UgnpA-b2TbmmOeU7HQA@mail.gmail.com
Whole thread Raw
In response to Re: Making table reloading easier  (Corey Huinker <corey.huinker@gmail.com>)
List pgsql-hackers
On Thu, Nov 3, 2016 at 11:37 PM, Corey Huinker <corey.huinker@gmail.com> wrote:
>>   ALTER TABLE my_table
>>   DISABLE INDEX ALL;
>
> +1
> This very thing came up in a conversation with PeterG early last year. I was
> in favor then and I was surprised that the only thing standing in the way
> was a lack of ALTER TABLE syntax.
> Creating temporary data structures to mimic existing metadata structures is
> a pain.

As long as the exclusive lock is kept until the end of the transaction
that would make it. I got scared when reading $subject that you were
going to propose a ENABLE ALL. This command should be a no-opt outside
a transaction block though.

>> It'd be even better to also add a REINDEX flag to COPY, where it
>> disables indexes and re-creates them after it finishes. But that could
>> be done separately.
>
> I'm iffy on the COPY change. If we add index rebuilding, why not disabling
> as well? If the COPY fails, what state do we leave the indexes in?

Yeah, I am -1 on that. Leaving the indexes in an unclean state would
force the users to REINDEX anyway afterwards.
-- 
Michael



pgsql-hackers by date:

Previous
From: "Karl O. Pinc"
Date:
Subject: Re: Patch to implement pg_current_logfile() function
Next
From: Michael Paquier
Date:
Subject: Re: WAL consistency check facility