From: Tom Lane <tgl@sss.pgh.pa.us>
To: Nathan Bossart <nathandbossart@gmail.com>
Cc: pgsql-hackers@lists.postgresql.org, alex work <alexwork033@gmail.com>
Cc: Robert Haas <robertmhaas@gmail.com>
Subject: Re: Slow GRANT ROLE on PostgreSQL 16 with thousands of ROLEs
Date: Mon, 25 Mar 2024 11:08:39 -0400
Message-ID: <2490242.1711379319@sss.pgh.pa.us> (raw)
In-Reply-To: <20240325144743.GA2618709@nathanxps13>
References: <20240322005139.GA2060816@nathanxps13>
<806361.1711069194@sss.pgh.pa.us>
<20240322144739.GA2321246@nathanxps13>
<20240322145532.GA2346110@nathanxps13>
<907785.1711121266@sss.pgh.pa.us>
<20240322163952.GA2347986@nathanxps13>
<939945.1711126395@sss.pgh.pa.us>
<20240322165448.GA2350322@nathanxps13>
<20240322193506.GA2352051@nathanxps13>
<1084642.1711140109@sss.pgh.pa.us>
<20240325144743.GA2618709@nathanxps13>
Nathan Bossart <nathandbossart@gmail.com> writes:
> Are there any changes you'd like to see for the Bloom patch [0]? I'd like
> to see about getting that committed for v17. One thing that crossed my
> mind is creating a combined list/filter that transparently created a filter
> when necessary (for reuse elsewhere), but I'm not sure that's v17 material.
Yeah, that thought occurred to me too, but I think we ought to have a
few more use-cases in view before trying to write an API.
As for the patch, I agree it could go into v17, but I think there is
still a little bit of work to do:
* The magic constants (crossover list length and bloom filter size)
need some testing to see if there are better values. They should
probably be made into named #defines, too. I suspect, with little
proof, that the bloom filter size isn't particularly critical --- but
I know we pulled the crossover of 1000 out of thin air, and I have
no certainty that it's even within an order of magnitude of being a
good choice.
* Code needs more than zero comments.
* Is it worth trying to make a subroutine, or at least a macro,
so as not to have 2 copies of the code?
regards, tom lane
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: pgsql-general@postgresql.org
Cc: tgl@sss.pgh.pa.us, nathandbossart@gmail.com, alexwork033@gmail.com, robertmhaas@gmail.com
Subject: Re: Slow GRANT ROLE on PostgreSQL 16 with thousands of ROLEs
In-Reply-To: <2490242.1711379319@sss.pgh.pa.us>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox