On 29 May 2014 01:07, Bruce Momjian <bruce@momjian.us> wrote:
> On Wed, May 28, 2014 at 04:04:13PM +0100, Simon Riggs wrote:
>> On 28 May 2014 15:34, Fujii Masao <masao.fujii@gmail.com> wrote:
>>
>> >> Also, compress_backup_block GUC needs to be merged with full_page_writes.
>> >
>> > Basically I agree with you because I don't want to add new GUC very similar to
>> > the existing one.
>> >
>> > But could you imagine the case where full_page_writes = off. Even in this case,
>> > FPW is forcibly written only during base backup. Such FPW also should be
>> > compressed? Which compression algorithm should be used? If we want to
>> > choose the algorithm for such FPW, we would not be able to merge those two
>> > GUCs. IMO it's OK to always use the best compression algorithm for such FPW
>> > and merge them, though.
>>
>> I'd prefer a new name altogether
>>
>> torn_page_protection = 'full_page_writes'
>> torn_page_protection = 'compressed_full_page_writes'
>> torn_page_protection = 'none'
>>
>> this allows us to add new techniques later like
>>
>> torn_page_protection = 'background_FPWs'
>>
>> or
>>
>> torn_page_protection = 'double_buffering'
>>
>> when/if we add those new techniques
>
> Uh, how would that work if you want to compress the background_FPWs?
> Use compressed_background_FPWs?
We've currently got 1 technique for torn page protection, soon to have
2 and with a 3rd on the horizon and likely to receive effort in next
release.
It seems sensible to have just one parameter to describe the various
techniques, as suggested. I'm suggesting that we plan for how things
will look when we have the 3rd one as well.
Alternate suggestions welcome.
-- Simon Riggs http://www.2ndQuadrant.com/PostgreSQL Development, 24x7 Support, Training & Services