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 1vvJvf-00Dcnx-2y for pgsql-bugs@arkaria.postgresql.org; Wed, 25 Feb 2026 18:48:11 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1vvJvd-008GxV-2O for pgsql-bugs@arkaria.postgresql.org; Wed, 25 Feb 2026 18:48:09 +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.96) (envelope-from ) id 1vvJvd-008GxN-1Y for pgsql-bugs@lists.postgresql.org; Wed, 25 Feb 2026 18:48:09 +0000 Received: from mail-ej1-x62c.google.com ([2a00:1450:4864:20::62c]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.98.2) (envelope-from ) id 1vvJva-00000001A8L-06MB for pgsql-bugs@lists.postgresql.org; Wed, 25 Feb 2026 18:48:08 +0000 Received: by mail-ej1-x62c.google.com with SMTP id a640c23a62f3a-b90bb0e8376so10089966b.0 for ; Wed, 25 Feb 2026 10:48:07 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1772045284; cv=none; d=google.com; s=arc-20240605; b=PLTpewWrfN8wrKmxAkY3f7/5NtsdAz20HvDuuBw5bd0REGfOmvUoCvSrA787l/psrB HXRBcp8dJV8kb9HjMGvc8yA408FrBycpd/JT4uHK/PlN9u/I/e3+zivn7A3X01ugfWTw dE+NdOeLFoYNPfV58rhCqXvs0tYShQaZbuFSEY8jBowMgE8zs01o3b7djRuwWLrqSCvn s4iDo529K6qrG3uMH4RFiEaUJ6FY3Dq7NhW+uAYzXi1J4xXd8oEVKD/1tbcgX6uqyhN0 BPs2HWTWYi8ArqqyRHcZJlPws0NtI3stYu9dhgg5aYkhqDYO1sm3fAkBq3AIQTpVT6X/ PErA== 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=xlThqy1P08sSwy2HQOip7mFsQuu/gemcSnVMfWnLwoI=; fh=xwd5hYV5EyVtrr8uH65RU7OPC1gbQ1XvB1fyCcR3mHs=; b=A4EcyjLXlRp61h9biVWN2fA8qYXQIYtwAaHKuCdC4HIdZqNs9tLtngJJJxsonUCnym y/jRq1/kLIoA9Ey41N74PmhSuwDveGhI3w3EYFeyCwkeXH/P6ATJNbN63ckDGLUERx7p QlpCopxV08QZCDTBzBe6kPmf+f3QJ+DgOz6dXVplrjnCZ70/5r2coPEPYEqpP4s1iox9 8SGMzSMQ1MCV5HYRX6g53cf47kDwVxtfuv8XIK/h8njYpuRUbT/uLKxOoS1Owo6ukufv 1T87qWs36JKIn+3XJeX61eKqLA6Lb5qtYyHt1aeOr2pYHxVi8Ngh7hySyEmkNPoFMCtu aWrQ==; 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=1772045284; x=1772650084; 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=xlThqy1P08sSwy2HQOip7mFsQuu/gemcSnVMfWnLwoI=; b=iV8q9D4GsPbeJ0c/3WVU70EGpb9ScCTSKwDVA4UeoTR1q3b+QRx36RyhSW935J1rIC 7vXYFWWBE1jIdkmh15x4Fqw8BA21249gbmU6y0Ec9WnzV41kQF/xogZODR/OpO7yZzYV WtkXJAOPSAa5gn/dWCdTyk90XKH+3LmFDxK/kiS0lY2GzbwtMIjkKBVbf6D4NSE5oz+a DyOgcjtiZJBtSTm02cZQ+7f8eM2ktYYMWdZ0tjZ0kVUIdfbWwtZHb9yeq/5BqXyNZpWE ofdaFXUvA127yaDiou05o4rOS2BQdPcwDucdVFKmIomE0Sl6+r3PBL4j8bp2lBCca2V9 QeGg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1772045284; x=1772650084; 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=xlThqy1P08sSwy2HQOip7mFsQuu/gemcSnVMfWnLwoI=; b=uslH+D89W9D+Zj7OwJzuROUQ0Y58x9QUEwzPOYy6P3hTVkYEfPMpUBK1+btbXTUb5w QPQT7OusgrumrTfGwpCcyTre/O6EgvVa7SJWz4K+H95aR7o8b9zKYiUpDmJbBY/U86Gj hx6S9Ktv4dP9m6b/v3QQ0h9JX5DA4hNcZzAa/xlbtsRlapzWFD0sBVFbAePCvA8RNAy6 meWPSnpegZCRERyihcbgE9HeOHTC38c6CQBuIvjrL2dvQ8PzqQsf+Bi5c96tMLY/PBVh loX8kmFWVqp0/WHUhGUYoO+GdwuxZX+ImsAkQeXNRlL05PX9bFMbUfUO8TFjG827DnjR RsvA== X-Forwarded-Encrypted: i=1; AJvYcCUxv0XtMYhOz/IJOU7o2s9VbYS/JifZ6p3ToEE7YU/XR1KixcCjJ5HMMgzgD/BlO+ERMby61BuU37rL@lists.postgresql.org X-Gm-Message-State: AOJu0YxN/Lc/EXIyuibHUVLXKN17Rj+1WhulKqKsfYvvaQfH0Ycu6rim pGARuovxnP1wC5fA1Dzi9snAopvmzvUhGyk9ipeKQg5gqRT0JVX9/JGdDJExL1LMoEk3/LUS6ug 0WrL33r1iFhyeydTIA0Cs5BQWf9xzvPU= X-Gm-Gg: ATEYQzxdx+q4FttC5Y+lqFlag3NTyMD2fiUY60VfVUWFUcEbUD+IttXAtvibPxiIVEr x+cLoY76xHS+pIm1YprH1mTM9e1YPRrn0b/jtqncuou+jmQuVtF+vS/tr4RcJNDFZKy/Kj6W9kF a37sbvbfSmjqlEXWDcNf6s6AJ4YQYsd69cdI+3MMFWLdqii6osFYa4HOWSSJo8rsShkwZZKjn2E EzdUXHHC+rph/hMUQdRzY6mjw5mtAkCp9g1GYp+rOTWKe+Szaccb16qiE4Fqvh7KeP0R4mtaLNW yw6b3sy4gYBDquPst4xl2VV4NtruhNdXjxex/9c= X-Received: by 2002:a17:907:e158:b0:b93:514c:b420 with SMTP id a640c23a62f3a-b9356f9d0d8mr5404566b.13.1772045284124; Wed, 25 Feb 2026 10:48:04 -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> <301798.1772044229@sss.pgh.pa.us> In-Reply-To: <301798.1772044229@sss.pgh.pa.us> From: Robert Haas Date: Wed, 25 Feb 2026 13:47:52 -0500 X-Gm-Features: AaiRm51pnqDhZ6N7Ek82BepcN3ZglMRfSbkuoSQDQQS5RloTt-68NiUbs-rMxPI 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 1:30=E2=80=AFPM Tom Lane wrote: > missing grantor, source version >=3D 16: > > "role grant of R1 to R2 was granted by missing role with OID nnn" > with detail > "We'll dump the GRANT without a GRANTED BY clause, but this shouldn't hap= pen." > > missing grantor, source version < 16: > > "role grant of R1 to R2 was granted by missing role with OID nnn" > with detail > "This state isn't unusual. We'll dump the GRANT without a GRANTED BY cla= use." > > (We have pg_log_warning_detail back to v16, so it's okay to rely on > a detail message.) I feel like this could use more word-smithing, > but it's covering more or less the right ground IMO. Yeah, I agree both that it's directionally correct and that more word-smithing might help. I feel like your main message is better than your detail, but I'm not sure exactly what would be an improvement. Sometimes I find it helpful to play with the message level and the primary message wording as a way of indicating the gravity, e.g. info: dumping grant of role \"%s\" to role \"%s\" without GRANTED BY, because role with OID %u no longer exists vs. warning: grant of role \"%s\" to \"%s\" has invalid grantor OID %u detail: this grant will be dumped without GRANTED BY --=20 Robert Haas EDB: http://www.enterprisedb.com