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 1wUF9M-00126j-1D for pgsql-hackers@arkaria.postgresql.org; Tue, 02 Jun 2026 02:46: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 1wUF9K-00CJYP-2u for pgsql-hackers@arkaria.postgresql.org; Tue, 02 Jun 2026 02:46:38 +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 1wUF9K-00CJYG-1x for pgsql-hackers@lists.postgresql.org; Tue, 02 Jun 2026 02:46:38 +0000 Received: from mail-oo1-xc2f.google.com ([2607:f8b0:4864:20::c2f]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.98.2) (envelope-from ) id 1wUF9H-00000000mEl-4BM4 for pgsql-hackers@lists.postgresql.org; Tue, 02 Jun 2026 02:46:37 +0000 Received: by mail-oo1-xc2f.google.com with SMTP id 006d021491bc7-69e1eae4eb4so1675309eaf.2 for ; Mon, 01 Jun 2026 19:46:35 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1780368394; cv=none; d=google.com; s=arc-20240605; b=W+hINBiAWuLATV0If8M0HrXk+5vLHrDQAjSha4bFkQc56ET2psti5NxiqU7+XBQbMQ Qv5Uum2pPdCDAnyoTPY01qnZeJ0GdgX/6DxWAqo368+FrHZ0HMsa8wsRbiotp1dVL0xK rME1wniLG+I6w5TGwd1PWPvGhzLKkhF6cSYgPyZC7a4FlYso2yh0CyjnuqjKuCRjWaQ9 4PsKCczqTnpEnfdFQDf0M2f0VzsxVDw0my/+eQPzbSvWvuPFgmBE1wxhWoNmAWXMjBbI 4vcDIvIEn0ZwMgyFaE05LhqSg+Hh9MHXdqbY6MHn068qKF5o5s5uJ/povUgLYVRGrOIU 7+8A== 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=eLfuDrHqjolyYoUlerjJOJPI0ptrLT6TS56HIJR5N+g=; fh=mYdvbX08B0m4k6jqdEKrAvsp+tiub7CZzhFp+rPrGQs=; b=LbXEIR8O8iTvaj/lm6/LAu5d6bgqJPZIY30tPZsXkYINsywed1pnSjbe/eAA3Ysc7l +C631lJUf2U2ePXsYqTE86S0q29gW8AvOp/IgvvBRLX9KvKWMtTFTFvryf3wZhJolplY Y3FnERfXzhWgdXIY+DkppYdAba9LHo5j2+LsTjqBvqSM3bpV21Z5F7kFP9IPfAQxxHCt TkK6mv/ueEp5oKLnqMEz00npj9Nacnp1Su8ZPmLVuzgGCiVX5qkxZbFwuDEjXtYGWkOJ kM96Ucp3u1thhWZvgt3h45kXPDP+W7XYbkV1pnMkbRi8UoXXM5snDIZaQQug/92gggjV Rn0g==; 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=20251104; t=1780368394; x=1780973194; 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=eLfuDrHqjolyYoUlerjJOJPI0ptrLT6TS56HIJR5N+g=; b=EM0c/+NY76hrbFLbqjcg/egRwGiHp4pkNYPnMTeFnAML0Gv5hx+85bjgsr4p0aJ+qa 6PILmmLjzRJI2U1s7rdE22bahRhT96wtiRWKPB4xCGxtMe7cxz3oL8Nw7JhlNRrr7VCS P+5LNYyN0eaW/rtaT5JHRD1za+l3JDiaBCa4b2PktdY8jJdR2oWhzTDkHumTQwOYnZBZ KHQiuF/+pzWTuL4Yv7A+0kMdtJFWQTqAMLc12UDIB4KLupMWw/qdvxAWWY8oYzKmAvFc PeTatGJoJDv/qKlIqaDyv4ZAJfqW2Y38OmX0GuR90/JhnlEXC+ghRykV0wKEKikB53EX 6oSw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1780368394; x=1780973194; 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=eLfuDrHqjolyYoUlerjJOJPI0ptrLT6TS56HIJR5N+g=; b=OLdHJ5ZI4+vBNusFoxT/AM/XjRpp4YUCDkArW5WFPySohJZHXvCMWIVc13CegNhNG5 0To7Z08Wsp2GsTj4UqEQvIo1ifMWw7Hvgi/fwPQOslgIMupG4pIzn42lxnCmm+zKxAkV QIXrS6FiYrU8v0fFoHkuzi3826v0eaqXWAViQ14K9PiJK6e71zlaf46JhcX5BvJTEh/a 11ta5/nJBPCvpSOcP7y/1M9XxTzz1VpsXa4+6h0vHO/q5w5xrd2I1FrovoRiSg/+CWnc lTv9hY70d3n7KzVtdvv2ryF0G5QkVQ+Gx1+IDJh/kNbAXOgvRhHncgphcXFlrHdlond+ toEg== X-Gm-Message-State: AOJu0Ywojg5qFKDNCFUBucJnL4gUu//2Oob2vuNGDAgQCxWHNwsaGP6h amfqJ9VUfcDasjkc8dobTM+54gBf46LXlwSHeAYd9PIOr1/uga3tg6SUBMTGQq2/bPKz09eC5Wj xyMu093h2SKEXiQK/25LUxqVJHa/Qj0w= X-Gm-Gg: Acq92OGUwRrpgeEniIqPxHQvqUdhn1sA9S5PID+T7bbbkn4Y6CDB1aO+aDSjTBd4qOk cMUZ6E2cmE93v3XSP160nsp9aDIb0H5qwFE8if8Vwjl0ed6Pdn3hG8DWFn5wQOSV5GvyMeQoXVk w3Oc3Bfm4q1+u58xEoxx157YTaBZL7eFgKsV5dVKgwn21QRWi67FX7K0q5vSrgEUYwSMVjiFd3w hRlisUqv0NctAq92djbAIKK49GpBMPRLnacuKFhd3S4GNajYt+IEm0skHAnAmT8fXBd0+4R6N7Z ftaVe8xzO3GIizQsjd+DizmXzrjsBYKd3NHAa/cjG2N9nXsLAwbH X-Received: by 2002:a05:6820:8184:b0:69d:f5b8:e11e with SMTP id 006d021491bc7-69e1032df6amr6712505eaf.26.1780368393931; Mon, 01 Jun 2026 19:46:33 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: From: Fujii Masao Date: Tue, 2 Jun 2026 11:46:20 +0900 X-Gm-Features: AVHnY4LWtnnSqAE5GjUPfY22BjLZM_NP7J3mCDZTkBu0M0sXMFgJA5PAJd7PTJM Message-ID: Subject: Re: Fix column privileges for pg_subscription.subwalrcvtimeout To: Nisha Moond Cc: PostgreSQL Hackers 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 Mon, Jun 1, 2026 at 10:44=E2=80=AFPM Nisha Moond wrote: > > Hi Hackers, > > IIUC, all columns of pg_subscription, except subconninfo, are intended > to be readable by non-superusers as well. A comment in > system_views.sql also states: > "-- All columns of pg_subscription except subconninfo are publicly readab= le." > > However, 'subwalrcvtimeout' is currently not accessible: > Test: > postgres=3D# CREATE ROLE nisha LOGIN PASSWORD 'testpass'; > CREATE ROLE > postgres=3D# SET SESSION AUTHORIZATION nisha; > SET > postgres=3D> select subwalrcvtimeout from pg_subscription; > ERROR: permission denied for table pg_subscription > > It appears the column-level privileges for pg_subscription were not > updated when subwalrcvtimeout was added. > > Attached is a small fix patch to grant public access to this column, > consistent with the existing behavior of the other pg_subscription > columns. Thanks for the report and the patch! It looks good to me. Barring any objections, I'll commit it. For my own reference, since this changes the catalog, I'll need to update the catalog version when committin= g. BTW, should we add a regression test for column privileges on pg_subscripti= on to help catch similar issues in the future? For example, the test could ver= ify that subconninfo remains unreadable to non-superusers, while all other exis= ting columns remain publicly readable. That would make it easier to detect omiss= ions when new columns are added to pg_subscription. For example, SELECT count(*) =3D 0 AS ok FROM pg_attribute WHERE attrelid =3D 'pg_catalog.pg_subscription'::regclass AND attnum > 0 AND NOT attisdropped AND ((attname =3D 'subconninfo' AND has_column_privilege('regress_subscription_user_dummy', 'pg_catalog.pg_subscription', attname, 'SELECT')) OR (attname <> 'subconninfo' AND NOT has_column_privilege('regress_subscription_user_dummy', 'pg_catalog.pg_subscription', attname, 'SELECT'))); Regards, --=20 Fujii Masao