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.96) (envelope-from ) id 1wMOQG-0002ov-0T for pgsql-bugs@arkaria.postgresql.org; Mon, 11 May 2026 11:03:40 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1wMOQE-000SM0-30 for pgsql-bugs@arkaria.postgresql.org; Mon, 11 May 2026 11:03:39 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1wMLHN-00GmdX-05 for pgsql-bugs@lists.postgresql.org; Mon, 11 May 2026 07:42:17 +0000 Received: from mahout.postgresql.org ([2001:4800:3e1:1::227]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.98.2) (envelope-from ) id 1wMLHI-00000001hRM-2kAM for pgsql-bugs@lists.postgresql.org; Mon, 11 May 2026 07:42:16 +0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=postgresql.org; s=20171124; h=Message-ID:Date:Reply-To:Cc:From:To:Subject: Content-Transfer-Encoding:MIME-Version:Content-Type:Sender:Content-ID: Content-Description:In-Reply-To:References; bh=RtzGYMpyrLhhceQMBrR1M1uK0YEUxl17J0+NNFBfdcU=; b=ooKh2Nq/VUXaWjriEQ0m2tEUcX Xj0o9PcROp8FDYaeuc5h580B8xyfV7air60Bm/r3eKHnQ4zZ9FleXv78AgjbVj3ORSXC1exB1ANkJ OOxo/OIKxzS2czhFAuvSAgoyphdVBcsd/tZ0iJx8q98aAdp96yOue4ncBSeMPKe9WOvwPgF2QyNlH GJz/EiGx4BUAdgobkPuQWx5HHJZ6oe/R+X6ABTxLVn/123utDbSq6omyOxOyE4aKW8/iMC5Em4fmM u/+HLYnK2IGciBjI6DqODPdugcoRLT8xf2OUIPmB5qEleyzIOXj0J60wwVdKA40hAOuSVsp9CzLWX a0JPM+Ug==; Received: from wrigleys.postgresql.org ([2a02:16a8:dc51::60]) by mahout.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1wMLHA-003jtp-2k for pgsql-bugs@lists.postgresql.org; Mon, 11 May 2026 07:42:06 +0000 Received: from localhost ([127.0.0.1] helo=wrigleys.postgresql.org) by wrigleys.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1wMLH9-0099NU-0e for pgsql-bugs@lists.postgresql.org; Mon, 11 May 2026 07:42:03 +0000 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Subject: BUG #19475: VACUUM on a partition still warns after MAINTAIN is granted on the partitioned parent To: pgsql-bugs@lists.postgresql.org From: PG Bug reporting form Cc: 798604270@qq.com Reply-To: 798604270@qq.com, pgsql-bugs@lists.postgresql.org Date: Mon, 11 May 2026 07:41:42 +0000 Message-ID: <19475-513aa13168f22afe@postgresql.org> X-Auto-Response-Suppress: All Auto-Submitted: auto-generated List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk The following bug has been logged on the website: Bug reference: 19475 Logged by: Chi Zhang Email address: 798604270@qq.com PostgreSQL version: 18.3 Operating system: Ubuntu 24.04 Description: =20 Hi, I tested the current PostgreSQL master at commit 901ed9b352b (postgres --version reports PostgreSQL 19devel). The current branch already contains commit ff9618e82a466fc9c635f9f087776e57b21e4f14, whose commit message says: =E2=80=9CFor partitions, allow the maintenance command if the user has the = MAINTAIN privilege on the partition or any parent.=E2=80=9D However, the following test case still produces a permission warning when VACUUM is run directly on a partition after granting MAINTAIN only on its partitioned parent. Reproduction: ``` CREATE TABLE parent (a int) PARTITION BY RANGE (a); CREATE TABLE child PARTITION OF parent FOR VALUES FROM (0) TO (100); INSERT INTO parent VALUES (1), (2), (3); GRANT MAINTAIN ON parent TO main_role; SET client_min_messages =3D warning; SET ROLE main_role; VACUUM child; -- WARNING: permission denied to vacuum "child", skipping it ```