From: | Heikki Linnakangas <heikki(dot)linnakangas(at)enterprisedb(dot)com> |
---|---|
To: | Simon Riggs <simon(at)2ndQuadrant(dot)com> |
Cc: | Itagaki Takahiro <itagaki(dot)takahiro(at)oss(dot)ntt(dot)co(dot)jp>, pgsql-hackers(at)postgresql(dot)org |
Subject: | Re: Skip WAL in ALTER TABLE |
Date: | 2009-11-04 12:25:13 |
Message-ID: | 4AF172A9.4020202@enterprisedb.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
Simon Riggs wrote:
> On Thu, 2009-10-15 at 13:18 +0900, Itagaki Takahiro wrote:
>> Simon Riggs <simon(at)2ndQuadrant(dot)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()
Yep.
Committed with the above and some other small changes. I moved the
initialization of BulkInsertState and hi_options outside the if-block.
Feels clearer this way, and they're only needed if newrel==true, not if
only needscan==true.
--
Heikki Linnakangas
EnterpriseDB http://www.enterprisedb.com
From | Date | Subject | |
---|---|---|---|
Next Message | Heikki Linnakangas | 2009-11-04 12:53:34 | Re: BUG #4961: pg_standby.exe crashes with no args |
Previous Message | Fujii Masao | 2009-11-04 10:40:19 | Re: BUG #4961: pg_standby.exe crashes with no args |