From: | Tomas Vondra <tomas(at)vondra(dot)me> |
---|---|
To: | Egor Rogov <e(dot)rogov(at)postgrespro(dot)ru>, pgsql-docs(at)lists(dot)postgresql(dot)org |
Subject: | Re: Parallel index build for BRIN |
Date: | 2024-12-09 18:54:42 |
Message-ID: | 733bf5ec-2bb9-4e51-805d-b5e33a37609c@vondra.me |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-docs |
On 12/8/24 16:00, Egor Rogov wrote:
> Hi,
>
>
> On 17.11.2024 11:28, Egor Rogov wrote:
>> Hi everyone,
>>
>> This thread doesn't seem to have attracted attention, so let me try
>> again. Two documentation pages claim that B-tree is the only access
>> method that supports parallel building, which is no longer true. I
>> propose to fix it in a way like this:
>>
>> diff --git a/doc/src/sgml/config.sgml b/doc/src/sgml/config.sgml
>> index d54f9049569..b5b1580dee7 100644
>> --- a/doc/src/sgml/config.sgml
>> +++ b/doc/src/sgml/config.sgml
>> @@ -2835,7 +2835,7 @@ include_dir 'conf.d'
>> Sets the maximum number of parallel workers that can be
>> started by a single utility command. Currently, the parallel
>> utility commands that support the use of parallel workers are
>> - <command>CREATE INDEX</command> only when building a B-tree
>> index,
>> + <command>CREATE INDEX</command> when building a B-tree or
>> BRIN index,
>> and <command>VACUUM</command> without <literal>FULL</literal>
>> option. Parallel workers are taken from the pool of processes
>> established by <xref linkend="guc-max-worker-processes"/>,
>> limited
>> diff --git a/doc/src/sgml/ref/create_index.sgml b/doc/src/sgml/ref/
>> create_index.sgml
>> index 621bc0e253c..208389e8006 100644
>> --- a/doc/src/sgml/ref/create_index.sgml
>> +++ b/doc/src/sgml/ref/create_index.sgml
>> @@ -808,7 +808,7 @@ Indexes:
>> leveraging multiple CPUs in order to process the table rows faster.
>> This feature is known as <firstterm>parallel index
>> build</firstterm>. For index methods that support building indexes
>> - in parallel (currently, only B-tree),
>> + in parallel (currently, B-tree and BRIN),
>> <varname>maintenance_work_mem</varname> specifies the maximum
>> amount of memory that can be used by each index build operation as
>> a whole, regardless of how many worker processes were started.
>
>
> I've spotted another mention of B-tree being the only AM that supports
> parallel builds: comment in src/backend/catalog/index.c. As this mention
> is not visible to the users, I'd propose removing it altogether rather
> than fixing it. Updated patch is attached.
>
Thanks for noticing this and the patches. You're right, this should have
been updated with the BRIN parallel builds. I'll get this committed
sometime the week.
regards
--
Tomas Vondra
From | Date | Subject | |
---|---|---|---|
Next Message | Tom Lane | 2024-12-09 22:26:41 | Re: next method of Python iterators |
Previous Message | PG Doc comments form | 2024-12-09 16:25:28 | next method of Python iterators |