Re: pgsql: Implement ALTER TABLE .. SET LOGGED / UNLOGGED - Mailing list pgsql-committers

From Andrew Dunstan
Subject Re: pgsql: Implement ALTER TABLE .. SET LOGGED / UNLOGGED
Date
Msg-id 53F8F390.2050309@dunslane.net
Whole thread Raw
In response to Re: pgsql: Implement ALTER TABLE .. SET LOGGED / UNLOGGED  (Andres Freund <andres@anarazel.de>)
List pgsql-committers
On 08/23/2014 12:47 PM, Andres Freund wrote:
> On 2014-08-23 17:28:38 +0100, Simon Riggs wrote:
>> On 23 August 2014 14:57, Andres Freund <andres@anarazel.de> wrote:
>>> On August 23, 2014 3:49:32 PM CEST, Simon Riggs <simon@2ndQuadrant.com> wrote:
>>>> On 22 August 2014 19:30, Alvaro Herrera <alvherre@alvh.no-ip.org>
>>>> wrote:
>>>>
>>>>> Implement ALTER TABLE .. SET LOGGED / UNLOGGED
>>>>>
>>>> When moving from unlogged to logged, where do we remove the init fork?
>>>>
>>>> Couldn't see the keywords fork or init anywhere in the patch, so maybe
>>>> its hidden somewhere.
>>> A new relfilenode is filled with the data - the old one, including the init fork, gets removed by the normal
mechanicsof rewriting rels. 
>> Why do we do that? Table rewrite takes hours.
> There was a long thread about it on -hackers. Doing it without a rewrite
> and without loosing transactional semantics is really rather hard. And
> having the capability of doing it with a rewrite is better than not
> having it at all.
>
>



I think this needs to be documented very clearly and explicitly. My
question about the mechanism was similar to Simon's, and I looked in
vain for any clue about it in the committed docs.

cheers

andrew


pgsql-committers by date:

Previous
From: Andres Freund
Date:
Subject: Re: pgsql: Implement ALTER TABLE .. SET LOGGED / UNLOGGED
Next
From: Tom Lane
Date:
Subject: pgsql: Fix another ancient memory-leak bug in relcache.c.