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 1rnTJt-00DSXd-Gg for pgsql-hackers@arkaria.postgresql.org; Fri, 22 Mar 2024 01:03:41 +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 1rnTJs-00HXMy-1k for pgsql-hackers@arkaria.postgresql.org; Fri, 22 Mar 2024 01:03:40 +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 1rnTJr-00HXMq-OM for pgsql-hackers@lists.postgresql.org; Fri, 22 Mar 2024 01:03:40 +0000 Received: from mail-io1-xd32.google.com ([2607:f8b0:4864:20::d32]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.94.2) (envelope-from ) id 1rnTJm-005lUZ-5J for pgsql-hackers@lists.postgresql.org; Fri, 22 Mar 2024 01:03:39 +0000 Received: by mail-io1-xd32.google.com with SMTP id ca18e2360f4ac-7c8060a8489so54254739f.0 for ; Thu, 21 Mar 2024 18:03:35 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1711069414; x=1711674214; darn=lists.postgresql.org; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to; bh=EGZhgfc9X7Vk1QFwNAeabfPZhuGykG1IDlwdi0IUB9w=; b=OUQlkhtHhR6XRIQ/uUQwi7f20W+BA2b4PZffmtP4EoTxSxlDrCRBfTB8KbtB8c4oHj rQpsYQB5LjzQToLmium41YxwiTL+jVP6bYFp3k4eO7Jc+nGhhzmhzCqnfGpLof7wfAOv lR1R8oxXMUKEUT0KGufJ4sK46oT6LmtZWl8qSxpSQ3sFJopB8oo8qw5UFeqR/z41+vP3 lGKd06hNKRTWZCoII19DBFFrT9zuppSFDQpypLZbtrsnrol3ydde1z4TMnzUnwQAgbl3 1eBLiuJG9LcZ5xjcjFvJRJZ4x6+g74sQMoGuNvoTaUXe0HmcqNZ8eHMPQWllTP8kReXu HWmg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1711069414; x=1711674214; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=EGZhgfc9X7Vk1QFwNAeabfPZhuGykG1IDlwdi0IUB9w=; b=kuajv4owpQJWUSBxYmEtWkiY8cXiUzJVEBFCdbFVEVJJxWM4VrxIJYsCcWVNedgKlK EQ/5J3GchN6VQtmqumxCnM+6wCvfEeVGJ8HZTnCBvZWwwZ25dMbi1FxX534L/sAfghk6 Anj6sgm58Kvitoxo40VhAh7dIRgOFU0OOzaFQ6pfNUU8pkb0rrvBgo4y/qivXI8DsVwc EXhsNFkMFIIDyMI0oO3ukLUgrxKo5oXx9ns9ipngXWb0gM8P2T0xKd5cXHxn+0djUoiK UaCAGoJIJdcVsXIwIimEw+X0k/oDgWGU1ZXKBELhDlhYN7kor85vaBS65YoIngb9S7x4 Uu5A== X-Gm-Message-State: AOJu0YwVU+PuwqA+ngJJpX+OqYWQg4Zn/ZqbrkCFNnpQSCy7VBf0ZW4y LbnmBUqXBy3/5OMqLg6sG3xhuS6NiZvwvXSsw4irbAzd4hPVoZTGIpHze1hf X-Google-Smtp-Source: AGHT+IHBjSb0kpsqE1P8CXltfVqkABLdhI0jS1i0lxxSkNw4ruREHyHZEDfBLaTp5d4bFzMtmlaulw== X-Received: by 2002:a5d:8910:0:b0:7cc:6e18:4627 with SMTP id b16-20020a5d8910000000b007cc6e184627mr1084761ion.20.1711069414554; Thu, 21 Mar 2024 18:03:34 -0700 (PDT) Received: from nathanxps13 (162-195-168-172.lightspeed.stlsmo.sbcglobal.net. [162.195.168.172]) by smtp.gmail.com with ESMTPSA id cg9-20020a0566381bc900b0047bd2709b90sm224219jab.91.2024.03.21.18.03.34 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 21 Mar 2024 18:03:34 -0700 (PDT) Date: Thu, 21 Mar 2024 20:03:32 -0500 From: Nathan Bossart To: Tom Lane Cc: pgsql-hackers@lists.postgresql.org, alex work , Robert Haas Subject: Re: Slow GRANT ROLE on PostgreSQL 16 with thousands of ROLEs Message-ID: <20240322010332.GA2109205@nathanxps13> References: <341186.1711037256@sss.pgh.pa.us> <619340.1711050134@sss.pgh.pa.us> <642442.1711053105@sss.pgh.pa.us> <20240321204012.GA1992418@nathanxps13> <20240322005139.GA2060816@nathanxps13> <806361.1711069194@sss.pgh.pa.us> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <806361.1711069194@sss.pgh.pa.us> List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk On Thu, Mar 21, 2024 at 08:59:54PM -0400, Tom Lane wrote: > However ... I just remembered that we have a Bloom filter implementation > in core now (src/backend/lib/bloomfilter.c). How about using that > to quickly reject (hopefully) most role OIDs, and only do the > list_member_oid check if the filter passes? Seems worth a try. I've been looking for an excuse to use that... -- Nathan Bossart Amazon Web Services: https://aws.amazon.com