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

From: Andres Freund <andres(at)anarazel(dot)de>
To: David Steele <david(at)pgmasters(dot)net>
Cc: pgsql-committers(at)postgresql(dot)org
Subject: Re: pgsql: Make WAL segment size configurable at initdb time.
Date: 2018-11-10 03:30:52
Message-ID: 20181110033052.xmmozibdapwvenkx@alap3.anarazel.de
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers pgsql-hackers

On 2018-11-09 21:45:18 -0500, David Steele wrote:
> 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.

Sorry for forgetting this, pushed.

I kinda wonder whether we should move a few GUCs out of the
<sect1 id="runtime-config-preset">
section. Or adapt its description. Because a significant portion of its
contents don't accurately seem to be described by
The following <quote>parameters</quote> are read-only, and are determined
when <productname>PostgreSQL</productname> is compiled or when it is
installed.
right?

Greetings,

Andres Freund

In response to

Responses

Browse pgsql-committers by date

  From Date Subject
Next Message Andres Freund 2018-11-10 03:30:53 pgsql: docs: Adapt wal_segment_size docs to fc49e24fa69.
Previous Message Tom Lane 2018-11-10 03:04:24 pgsql: Fix error-cleanup mistakes in exec_stmt_call().

Browse pgsql-hackers by date

  From Date Subject
Next Message David Steele 2018-11-10 03:50:44 Re: pgsql: Make WAL segment size configurable at initdb time.
Previous Message Tom Lane 2018-11-10 03:05:08 Re: repeated procedure call error