On Thu, 2009-10-15 at 13:18 +0900, Itagaki Takahiro wrote:
> Simon Riggs <simon@2ndQuadrant.com> wrote:
>
> > > Is it possible to use WAL-skipping and BulkInsertState in ATRewriteTable() ?
> > > If ok, I'll submit a patch for the next commitfest.
> >
> > Yes
>
> Patch attached.
> This patch skip WAL writes during table rewrites from ALTER TABLE.
Looks fine to me, apart from
if (!XLogArchivingActive() || newrel->rd_istemp)hi_options |= HEAP_INSERT_SKIP_WAL;
I think the second condition is unnecessary, so just
if (!XLogArchivingActive())hi_options |= HEAP_INSERT_SKIP_WAL;
which is what COPY does. Temp tables are excluded in heap_insert()
-- Simon Riggs www.2ndQuadrant.com