Re: pgsql: Make WAL segment size configurable at initdb time.

From: David Steele <david(at)pgmasters(dot)net>
To: Andres Freund <andres(at)anarazel(dot)de>
Cc: pgsql-committers(at)postgresql(dot)org
Subject: Re: pgsql: Make WAL segment size configurable at initdb time.
Date: 2018-11-10 02:45:18
Message-ID: f572c66f-1840-b789-04e2-b767f4765c3a@pgmasters.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers pgsql-hackers

On 10/5/18 1:03 PM, David Steele wrote:
> Hi Andres,
>
> On 10/5/18 5:54 PM, Andres Freund wrote:
>> On 2018-09-20 11:48:08 -0400, David Steele wrote:
>>
>>> diff --git a/doc/src/sgml/config.sgml b/doc/src/sgml/config.sgml
>>> index e1073ac6d3..3bfd172441 100644
>>> --- a/doc/src/sgml/config.sgml
>>> +++ b/doc/src/sgml/config.sgml
>>> @@ -8440,10 +8440,8 @@ dynamic_library_path =
>>> 'C:\tools\postgresql;H:\my_project\lib;$libdir'
>>>         </term>
>>>         <listitem>
>>>          <para>
>>> -        Reports the number of blocks (pages) in a WAL segment file.
>>> -        The total size of a WAL segment file in bytes is equal to
>>> -        <varname>wal_segment_size</varname> multiplied by
>>> <varname>wal_block_size</varname>;
>>> -        by default this is 16MB.  See <xref
>>> linkend="wal-configuration"/> for
>>> +        Reports the size of write ahead log segments.
>>> +        The default value is 16MB. See <xref
>>> linkend="wal-configuration"/> for
>>>           more information.
>>>          </para>
>>>         </listitem>
>>
>> Why is this actually more correct? You mean because we have a conversion
>> that does the mb conversion at display time?
>
> In pre-11 versions of Postgres, you get this:
>
> postgres=# select setting, unit from pg_settings where name =
> 'wal_segment_size';
>  setting | unit
> ---------+------
>  2048    | 8kB
>
> But in v11 you get this:
>
> select setting, unit from pg_settings where name = 'wal_segment_size';
>  setting  | unit
> ----------+------
>  16777216 | B
>
> So, while the WAL segment size used to be expressed in terms of 8K pages
> it is now expressed in terms of absolute bytes.  This seemed to me to be
> a very deliberate change in the original commit so I guessed it was done
> for clarity, but that the docs didn't get the message.

Thoughts on this?

I know it's minor in the grand scheme of things but it caused me some
confusion when I was updating pgBackRest for v11 and I imagine it might
do the same for others.

--
-David
david(at)pgmasters(dot)net

In response to

Responses

Browse pgsql-committers by date

  From Date Subject
Next Message Tom Lane 2018-11-10 03:04:24 pgsql: Fix error-cleanup mistakes in exec_stmt_call().
Previous Message Tom Lane 2018-11-10 01:42:57 pgsql: Fix missing role dependencies for some schema and type ACLs.

Browse pgsql-hackers by date

  From Date Subject
Next Message Tom Lane 2018-11-10 03:05:08 Re: repeated procedure call error
Previous Message Andres Freund 2018-11-10 01:41:46 Re: Does slot_deform_tuple need to care about dropped columns?