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 1vvJE3-00D4ee-0y for pgsql-bugs@arkaria.postgresql.org; Wed, 25 Feb 2026 18:03:07 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1vvJE0-0083M5-0I for pgsql-bugs@arkaria.postgresql.org; Wed, 25 Feb 2026 18:03:04 +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 1vvJDz-0083Lv-2f for pgsql-bugs@lists.postgresql.org; Wed, 25 Feb 2026 18:03:03 +0000 Received: from mail-ej1-x62c.google.com ([2a00:1450:4864:20::62c]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.98.2) (envelope-from ) id 1vvJDw-00000001G4o-1MbV for pgsql-bugs@lists.postgresql.org; Wed, 25 Feb 2026 18:03:03 +0000 Received: by mail-ej1-x62c.google.com with SMTP id a640c23a62f3a-b883c8dfb00so1166285166b.1 for ; Wed, 25 Feb 2026 10:03:00 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1772042580; cv=none; d=google.com; s=arc-20240605; b=XNEEDvMaxjX+T/FCF3+vuGQmAKQl0Q6Dzn5rLGz92piBYUbNNUQPhlrA3bJ5jFTR87 CKDU7GE9F+MptC6ZEJBWxR0Rc/sd/YI+ftPE3rEcq1sqrKBvSTvJHeFNbEh0XnfBZZVv nelKX0T118TPrf+mkNdDRj8Z0Paf1ijfWqXkjTM0fdUwhLvfFZ1OVzXBccSXIkA5EOi7 y4MZFDtYaw0GeJpOoyGMxQqImtpSwymHQDp8zw/TGj5P9na0+EXauvMfaFxKz+lCDoua kn1kfl0lIgyLeMGlT7jmAo8qxXkGwoANfOtNEwIzHSylG/swLx8fxlbn0k2HJHO5nszE zf5w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:dkim-signature; bh=q0I0IToxI9qJvED6eO6cUYV61PHTpEC+zGpbVFJE/8A=; fh=VMuXpVNfh/KFYTXD5cE6XoEjEcbs6iteZp/7wJ5eFcY=; b=FpyLqdoS8ytsIpJchphkMhjdAy3UkWmxxMGvt9Dw+7bof8Z+WZ2rnPZke3VGpGVv+p ncUsnIq8eb1cPU9Npo3l9Jdxb1lGyvYwktJ5klN6Vx/uNCikssG6iSwkfsK83aYBQvJb JJjJwWBTwRDdShkAoOYuwnkc0wXTnleciiVHhfY8hhe+5nbS52qwNatnXL3O6gy9fo1Z +TZvgXNxUEqHe/qIBp+xhdr7Z3VPDBaiUNMAOA+++DjpCXkcG03caPouRrSm9lYKYQdb u+tJEnxWwqWnJgfkboham3otzBVLpKa+cLX3I4G2X5H+8AU987u1qyzY9caAhS24dW1x XTIA==; darn=lists.postgresql.org ARC-Authentication-Results: i=1; mx.google.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1772042580; x=1772647380; darn=lists.postgresql.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=q0I0IToxI9qJvED6eO6cUYV61PHTpEC+zGpbVFJE/8A=; b=kZ3M9HgqN3K1QKF2ifjuashToWSSPvxQwmolDgyjNYmtk9me5dHs9cxRoRR9ikHj40 TjOvAMMteNhW2nwkPHmp8nWuTmZpXqujHBcgFveBg2NA9Rz0Gi20Bd6UC/fsPV6t2Xnn O8dc0H7N9aiGqXOlv/E4cdastq2g4XHakIuibPz9JiiFYkpQ6nmflY/P7fRvpBLWbH2O V++6OuA3i/5XIDKG85xRjy+wjDGpEizRZDrfAWPk9jwgYnG5bBH8YrBMrps9uv9MiYzU 2Te1Q/ql4eSnEww9vfR156wE0u1qkyei/8b/74BoCG3qdWQmnUvSRXqieA4CM+xskvYT 7yng== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1772042580; x=1772647380; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=q0I0IToxI9qJvED6eO6cUYV61PHTpEC+zGpbVFJE/8A=; b=Ips7irdPaw/PySpvsL5tYPP7tHCMNN855fJRnSIF7h1p1y55ErpuiN9WLyzujzBIcK m1HIjo14Fj1jSpMF7cf8C8r2Q4GHny1PP+zFHHDr3S9EcSyGOWrku+xL/y+K5sa6phV1 pWrste8i2Wzf2i3+gUIebEBHW6Fkj4TWh7oZvLlDL18P8qwfNZ+O4X94BukBHoQ64ACT zTqdAK3wNHVpsKXS2dxe0J2wd0knMVxGub8kFj6LGp6Bhkjwb3/7t06X8Ndp55IYCjhr jC8Yqkj1zv2GFp49ZqFmD8RLivNJCX+hEaC10eEhERk7MyJnikAWkiejNObnJn9k1k09 JJyg== X-Forwarded-Encrypted: i=1; AJvYcCU5UXzMALBJJGHcY8xsqAU5Pdt0ZsjArnqZt7Kpbc/EVVC6yoaxb6wa9ZWMVYQHU+UNONkILYZ0ibYX@lists.postgresql.org X-Gm-Message-State: AOJu0YzVjgrUve8tUX6bn65mUN37VGdji8Ahg3V8XVWkBviJD1hH2dAE SHUPFmZEHKtNt7yNbOLwpDAHBawYmf3m+70j6Kr9UBQjnH/q4zbOXW2g8haGQdOh6e9emfLL5dR 8b5k0l8vB55dD/BENEvBBl3IZBDskTKw= X-Gm-Gg: ATEYQzxc74JrURaJGMEgRMFy2cUXLx2E5Ub3nw3wRaNKLbkgSTC+NQmvyXizGCjapf8 4zA9rN0/ZobdWQISHX/AIbCkz6GYkV7NmwWrlZr/jQgoyFDUxf/wZs101qmKshYSWzp/W7tLJXs 2K7caEEIHH3qm6TUBBHXRCIkW4EOEGIkoglwmkKz1EkKEJJ8s3SxMXk+TpUKfEm8/g74PJw+528 YxNpG7WfvttADl4ac4DEJ/Sc9fgx7MUFOfzReoft1IELRRRDrATnM+FobOyQy7mSvAo84R45cu4 0sjpCEa5iBZXlInksC5k4wOpVi+xLvOkj4utfVaV4QskgRVpFw== X-Received: by 2002:a17:907:3d51:b0:b93:4fe1:6ff8 with SMTP id a640c23a62f3a-b934fe18df6mr110637666b.36.1772042579489; Wed, 25 Feb 2026 10:02:59 -0800 (PST) MIME-Version: 1.0 References: <202502131716.7mgkcnrem2hn@alvherre.pgsql> <2939991.1740089974@sss.pgh.pa.us> <179448.1772033773@sss.pgh.pa.us> <265501.1772038216@sss.pgh.pa.us> <296083.1772041154@sss.pgh.pa.us> In-Reply-To: <296083.1772041154@sss.pgh.pa.us> From: Robert Haas Date: Wed, 25 Feb 2026 13:02:46 -0500 X-Gm-Features: AaiRm51Wb3patJ5YTx9_VCNdAJpJy3yX9mQuuZmr_NCCjw1ZcvTotbaMWXOeuag Message-ID: Subject: Re: Major Version Upgrade failure due to orphan roles entries in catalog To: Tom Lane Cc: =?UTF-8?Q?=C3=81lvaro_Herrera?= , Virender Singla , pgsql-bugs@lists.postgresql.org, Aniket Jha Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk On Wed, Feb 25, 2026 at 12:39=E2=80=AFPM Tom Lane wrote= : > Because the result of the restore will not match how things were > in the source database? True, we do not have any way to make them > match, but that doesn't mean that pg_dumpall has fulfilled all > expectations. That's a fair point. On the flip side, the grantor in v15- is basically a comment. From v16, it behaves in the way we'd normally expect: a role grant depends on the grantor in the same way that a table grant depends on the grantor in the table ACL, just with a different catalog representation. In v15-, it has no functional impact. > > Moreover, we'll emit essentially the same warning for the member case, > > where the warning does point to a problem that someone might want to > > think about correcting, and exactly the same warning against a v16+ > > database where it indicates that something has actually gone wrong. > > That's a fair point, but maybe it could be addressed by phrasing the > message differently for the different cases. I like that idea. I think the biggest danger here for users is actually that we have to convert the pre-v16 "it's a comment" catalog state into a v16+ "it's a real thing that works like the rest of the authorization system" catalog state, and there's no way to do that perfectly because we're starting from a busted catalog representation. It seems reasonable to somehow let people know that whatever we're doing is an approximation. If we can make the "invalid grantor from pre-v16" sound like "don't panic but we have to patch some stuff up so you can upgrade" and the "invalid grantor for v16+" and "invalid member" cases sound like "uh oh, it seems like something got corrupted" then I'm entirely happy with that state of affairs (assuming we also resume dumping the GRANT, of course). Thanks, --=20 Robert Haas EDB: http://www.enterprisedb.com