Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1tKIlu-007wYi-SH for pgsql-docs@arkaria.postgresql.org; Sun, 08 Dec 2024 15:00:35 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.94.2) (envelope-from ) id 1tKIls-001hOj-6j for pgsql-docs@arkaria.postgresql.org; Sun, 08 Dec 2024 15:00:33 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1tKIlr-001hOW-L6 for pgsql-docs@lists.postgresql.org; Sun, 08 Dec 2024 15:00:33 +0000 Received: from mail.postgrespro.ru ([93.174.131.139]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1tKIlp-001g0d-G1 for pgsql-docs@lists.postgresql.org; Sun, 08 Dec 2024 15:00:31 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=postgrespro.ru; s=mx2023; t=1733670026; bh=FspwOFs38qogIPUKgDXCeTw2OW9ePDHxB0zrJajWGh4=; h=Message-ID:Date:User-Agent:Subject:From:To:References:In-Reply-To: From; b=LF4L3ihYwulrtA5aYkfPem02trOuOySl9GovfuH9+5tB2MZg3GYMe1bonViHqhC6C 1+BIgKy6iXWLY/lAOSYkySiaiuhJn7iVNqOoEaiqQ+mZ3pUUH9EODiFcHKXvgk+Gvm rDkgq9nyVn2Npn6ppKCAgDHxC7jArtiJb/3FLSnjrw6xpXBawgtEqA0BNs9wYajGE5 Iq4GVnnErU+qsPQUeoaxkA45/p3MsPsKH5gOeYb7+vGfbagKWSJDEIaQUab70D217q oPFDb/U5362QnUz30VBLpshrOKTowfc1h+HLNzjhIV3htrkYVm1wWwB4dYh7zcRVgo Tgc+VEHGZ+CjA== Received: from [172.30.56.6] (unknown [213.171.56.12]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (Client did not present a certificate) (Authenticated sender: e.rogov@postgrespro.ru) by mail.postgrespro.ru (Postfix/587) with ESMTPSA id DA62E6013E for ; Sun, 8 Dec 2024 18:00:25 +0300 (MSK) Content-Type: multipart/mixed; boundary="------------IpLq4Sds0k0Tk5RJsMrwVk3d" Message-ID: <908b63e1-4b79-2889-98d1-1909cac39785@postgrespro.ru> Date: Sun, 8 Dec 2024 18:00:25 +0300 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:91.0) Gecko/20100101 Thunderbird/91.9.1 Subject: Re: Parallel index build for BRIN Content-Language: en-US From: Egor Rogov To: pgsql-docs@lists.postgresql.org References: <114e2d5d-125e-07d8-94aa-5ad175fb7443@postgrespro.ru> <009f4101-29a2-850e-6767-72a9104ec89a@postgrespro.ru> In-Reply-To: <009f4101-29a2-850e-6767-72a9104ec89a@postgrespro.ru> X-KSMG-AntiPhishing: NotDetected X-KSMG-AntiSpam-Interceptor-Info: not scanned X-KSMG-AntiSpam-Status: not scanned, disabled by settings X-KSMG-AntiVirus: Kaspersky Secure Mail Gateway, version 2.1.0.7854, bases: 2024/12/08 09:34:00 #26949385 X-KSMG-AntiVirus-Status: NotDetected, skipped X-KSMG-LinksScanning: not scanned, disabled by settings X-KSMG-Message-Action: skipped X-KSMG-Rule-ID: 1 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk This is a multi-part message in MIME format. --------------IpLq4Sds0k0Tk5RJsMrwVk3d Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit 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 > -         CREATE INDEX only when building a B-tree > index, > +         CREATE INDEX when building a B-tree or > BRIN index, >           and VACUUM without FULL >           option.  Parallel workers are taken from the pool of processes >           established by , > 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 parallel index >     build.  For index methods that support building indexes > -   in parallel (currently, only B-tree), > +   in parallel (currently, B-tree and BRIN), >     maintenance_work_mem 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, > Egor > > > On 05.11.2024 12:12, Egor Rogov wrote: >> Hi, >> >> Commit b4375717 introduced parallel CREATE INDEX for BRIN. I've >> noticed that a couple of documentation pages need to be updated >> accordingly. A small patch is attached. >> >> Thanks, >> Egor --------------IpLq4Sds0k0Tk5RJsMrwVk3d Content-Type: text/plain; charset=UTF-8; name="0001-Doc-and-comment-parallel-CREATE-INDEX-is-allowed-for.patch" Content-Disposition: attachment; filename*0="0001-Doc-and-comment-parallel-CREATE-INDEX-is-allowed-for.pa"; filename*1="tch" Content-Transfer-Encoding: base64 RnJvbSA2MjVmYTFmYmRjZTE3NDYyODVkMDBkZDI2YzYzMjg0NWFiNzc1YTUxIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBFZ29yIFJvZ292IDxlLnJvZ292QHBvc3RncmVzcHJv LnJ1PgpEYXRlOiBTdW4sIDggRGVjIDIwMjQgMTc6NDU6MTkgKzAzMDAKU3ViamVjdDogW1BB VENIXSBEb2MgYW5kIGNvbW1lbnQ6IHBhcmFsbGVsIENSRUFURSBJTkRFWCBpcyBhbGxvd2Vk IGZvciBCUklOCgpDb21taXQgYjQzNzU3MTcgaW50cm9kdWNlZCBwYXJhbGxlbCBpbmRleCBi dWlsZCBmb3IgQlJJTiwKYnV0IG1pc3NlZCB1cGRhdGluZyB0aGUgZG9jdW1lbnRhdGlvbiBh bmQgY29kZSBjb21tZW50IGFib3V0IGl0LgotLS0KIGRvYy9zcmMvc2dtbC9jb25maWcuc2dt bCAgICAgICAgICAgfCAyICstCiBkb2Mvc3JjL3NnbWwvcmVmL2NyZWF0ZV9pbmRleC5zZ21s IHwgMiArLQogc3JjL2JhY2tlbmQvY2F0YWxvZy9pbmRleC5jICAgICAgICB8IDMgKy0tCiAz IGZpbGVzIGNoYW5nZWQsIDMgaW5zZXJ0aW9ucygrKSwgNCBkZWxldGlvbnMoLSkKCmRpZmYg LS1naXQgYS9kb2Mvc3JjL3NnbWwvY29uZmlnLnNnbWwgYi9kb2Mvc3JjL3NnbWwvY29uZmln LnNnbWwKaW5kZXggZTBjODMyNWEzOWMuLjI0YmQ1MDRjMjEzIDEwMDY0NAotLS0gYS9kb2Mv c3JjL3NnbWwvY29uZmlnLnNnbWwKKysrIGIvZG9jL3NyYy9zZ21sL2NvbmZpZy5zZ21sCkBA IC0yODQzLDcgKzI4NDMsNyBAQCBpbmNsdWRlX2RpciAnY29uZi5kJwogICAgICAgICAgU2V0 cyB0aGUgbWF4aW11bSBudW1iZXIgb2YgcGFyYWxsZWwgd29ya2VycyB0aGF0IGNhbiBiZQog ICAgICAgICAgc3RhcnRlZCBieSBhIHNpbmdsZSB1dGlsaXR5IGNvbW1hbmQuICBDdXJyZW50 bHksIHRoZSBwYXJhbGxlbAogICAgICAgICAgdXRpbGl0eSBjb21tYW5kcyB0aGF0IHN1cHBv cnQgdGhlIHVzZSBvZiBwYXJhbGxlbCB3b3JrZXJzIGFyZQotICAgICAgICAgPGNvbW1hbmQ+ Q1JFQVRFIElOREVYPC9jb21tYW5kPiBvbmx5IHdoZW4gYnVpbGRpbmcgYSBCLXRyZWUgaW5k ZXgsCisgICAgICAgICA8Y29tbWFuZD5DUkVBVEUgSU5ERVg8L2NvbW1hbmQ+IHdoZW4gYnVp bGRpbmcgYSBCLXRyZWUgb3IgQlJJTiBpbmRleCwKICAgICAgICAgIGFuZCA8Y29tbWFuZD5W QUNVVU08L2NvbW1hbmQ+IHdpdGhvdXQgPGxpdGVyYWw+RlVMTDwvbGl0ZXJhbD4KICAgICAg ICAgIG9wdGlvbi4gIFBhcmFsbGVsIHdvcmtlcnMgYXJlIHRha2VuIGZyb20gdGhlIHBvb2wg b2YgcHJvY2Vzc2VzCiAgICAgICAgICBlc3RhYmxpc2hlZCBieSA8eHJlZiBsaW5rZW5kPSJn dWMtbWF4LXdvcmtlci1wcm9jZXNzZXMiLz4sIGxpbWl0ZWQKZGlmZiAtLWdpdCBhL2RvYy9z cmMvc2dtbC9yZWYvY3JlYXRlX2luZGV4LnNnbWwgYi9kb2Mvc3JjL3NnbWwvcmVmL2NyZWF0 ZV9pbmRleC5zZ21sCmluZGV4IDYyMWJjMGUyNTNjLi4yMDgzODllODAwNiAxMDA2NDQKLS0t IGEvZG9jL3NyYy9zZ21sL3JlZi9jcmVhdGVfaW5kZXguc2dtbAorKysgYi9kb2Mvc3JjL3Nn bWwvcmVmL2NyZWF0ZV9pbmRleC5zZ21sCkBAIC04MDgsNyArODA4LDcgQEAgSW5kZXhlczoK ICAgIGxldmVyYWdpbmcgbXVsdGlwbGUgQ1BVcyBpbiBvcmRlciB0byBwcm9jZXNzIHRoZSB0 YWJsZSByb3dzIGZhc3Rlci4KICAgIFRoaXMgZmVhdHVyZSBpcyBrbm93biBhcyA8Zmlyc3R0 ZXJtPnBhcmFsbGVsIGluZGV4CiAgICBidWlsZDwvZmlyc3R0ZXJtPi4gIEZvciBpbmRleCBt ZXRob2RzIHRoYXQgc3VwcG9ydCBidWlsZGluZyBpbmRleGVzCi0gICBpbiBwYXJhbGxlbCAo Y3VycmVudGx5LCBvbmx5IEItdHJlZSksCisgICBpbiBwYXJhbGxlbCAoY3VycmVudGx5LCBC LXRyZWUgYW5kIEJSSU4pLAogICAgPHZhcm5hbWU+bWFpbnRlbmFuY2Vfd29ya19tZW08L3Zh cm5hbWU+IHNwZWNpZmllcyB0aGUgbWF4aW11bQogICAgYW1vdW50IG9mIG1lbW9yeSB0aGF0 IGNhbiBiZSB1c2VkIGJ5IGVhY2ggaW5kZXggYnVpbGQgb3BlcmF0aW9uIGFzCiAgICBhIHdo b2xlLCByZWdhcmRsZXNzIG9mIGhvdyBtYW55IHdvcmtlciBwcm9jZXNzZXMgd2VyZSBzdGFy dGVkLgpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvY2F0YWxvZy9pbmRleC5jIGIvc3JjL2Jh Y2tlbmQvY2F0YWxvZy9pbmRleC5jCmluZGV4IDFjM2E5ZTA2ZDM3Li5mYzFjMmE4ZDAyNiAx MDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvY2F0YWxvZy9pbmRleC5jCisrKyBiL3NyYy9iYWNr ZW5kL2NhdGFsb2cvaW5kZXguYwpAQCAtMjk4OCw4ICsyOTg4LDcgQEAgaW5kZXhfYnVpbGQo UmVsYXRpb24gaGVhcFJlbGF0aW9uLAogCUFzc2VydChQb2ludGVySXNWYWxpZChpbmRleFJl bGF0aW9uLT5yZF9pbmRhbS0+YW1idWlsZGVtcHR5KSk7CiAKIAkvKgotCSAqIERldGVybWlu ZSB3b3JrZXIgcHJvY2VzcyBkZXRhaWxzIGZvciBwYXJhbGxlbCBDUkVBVEUgSU5ERVguICBD dXJyZW50bHksCi0JICogb25seSBidHJlZSBoYXMgc3VwcG9ydCBmb3IgcGFyYWxsZWwgYnVp bGRzLgorCSAqIERldGVybWluZSB3b3JrZXIgcHJvY2VzcyBkZXRhaWxzIGZvciBwYXJhbGxl bCBDUkVBVEUgSU5ERVguCiAJICoKIAkgKiBOb3RlIHRoYXQgcGxhbm5lciBjb25zaWRlcnMg cGFyYWxsZWwgc2FmZXR5IGZvciB1cy4KIAkgKi8KLS0gCjIuMzcuMSAoQXBwbGUgR2l0LTEz Ny4xKQoK --------------IpLq4Sds0k0Tk5RJsMrwVk3d--