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 1vrjXC-003BLj-10 for pgsql-admin@arkaria.postgresql.org; Sun, 15 Feb 2026 21:20:06 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1vrjXA-002MAd-2i for pgsql-admin@arkaria.postgresql.org; Sun, 15 Feb 2026 21:20:04 +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 1vrjXA-002MAU-1N for pgsql-admin@lists.postgresql.org; Sun, 15 Feb 2026 21:20:04 +0000 Received: from mail-dy1-x132e.google.com ([2607:f8b0:4864:20::132e]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.98.2) (envelope-from ) id 1vrjX7-00000000mpj-40WF for pgsql-admin@lists.postgresql.org; Sun, 15 Feb 2026 21:20:03 +0000 Received: by mail-dy1-x132e.google.com with SMTP id 5a478bee46e88-2ba9c484e5eso2382855eec.1 for ; Sun, 15 Feb 2026 13:20:02 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1771190400; cv=none; d=google.com; s=arc-20240605; b=V/asZsRa4Ot0h8fhqG6ceWYft253Ad1SaOht4gues2hszEC4ncMhJoY0ZaVF/EfgMr 1JG2YQqhxhq9d1VoOwg67r7gMfLhWQhwq4c35D3lvy0Y2wyU+92bBQP+6oIXDNSmICSq Oa/EneMy7LuLzQOr/dXFvqmpZbAFQsDBGh80cgZJXH5UpS/x2WNAoo2lL+55C9MDtlH+ fGK3w/SZFKrHiEtPdjHoWq3TZLEOUgGfDJDd5N9wfUXI77aD/aq4LyFa8wvCB3tNIu4T hRSdYOxIRCAHb3mNFWwiI4GBwrGpVVSESddXG3Z52NYq7xMLOJQOLXeN1cDy8qCRHMi0 60JQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=to:subject:message-id:date:from:mime-version:dkim-signature; bh=7v1gtISzMl98C+1C+derp/sDFJdVqw3fRfGygP+cMN4=; fh=druxZHa2fk4e6MLibibygn9AWWgeaAPo4m8Gpo2MBXU=; b=ezwWXciBESJznPrHpBbSpy2lnDI2LtQ6yFjGmfvfHkN0eluF9jsjm5nNY/3zG4f5WL mvscmBDTzfFM4rbRUDOtA19rgpX50xAj07tLh15eAFQW7xz4reCW5RQrKvu6pOdDN31z p8t6tcwtT5pA/XUr1oKkenz4s+m9rgR6Jz8Fg2In0DZGL7PUexQFyx1vx1eoT8eq8yOv wp9V17lbqDvFWhYKbIUmxxNfIBwzfn0P/1uOBSCJ7+NAz3+Wspu0OOC3o+m65wx0hW14 muHSStsRivll9/ax1HE6yARaL8HNNg6+ZxAc2Uodqc8mvJvTtRXpcRiphjnQhAQZufHT 3PRg==; 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=1771190400; x=1771795200; darn=lists.postgresql.org; h=to:subject:message-id:date:from:mime-version:from:to:cc:subject :date:message-id:reply-to; bh=7v1gtISzMl98C+1C+derp/sDFJdVqw3fRfGygP+cMN4=; b=kIK1dEVvlCQQQ8m6+J0fueHvZuTGrcXpiFvoHrY6IE02uYqQ8y8ME8JrK5aa1d/yHL phHIrGTnBtF3+YfccWZj8Iwtce2+EJR3/I3nUyGZSOzWScui2agHarFDr0+2bVVJq4rY G/HtFfx0s7d2X8R2XnQ+osPYVFbOg9Z7ew0AMZaOdqXLit0mrtER1htMldjvHOXvmf5U iAkUqY2bwVoyoIZhxJ7Ok0qWTFNYjw5Ow2AOrIQL5m3TbHPKFeWsozQTcjjcC7RSVl0Q qf2gmvpa20PzEuesQvD76Ek1fYSheumYFltrgH9Ymra01oqQQ5dlWoJtAdEwPDLyqz47 RczA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1771190400; x=1771795200; h=to:subject:message-id:date:from:mime-version:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=7v1gtISzMl98C+1C+derp/sDFJdVqw3fRfGygP+cMN4=; b=wepDZ2Prdm6i+zz+UcBeTYKCCx7d5xdFXzF8MwZgluZhD5v3uv9aHvFza2ibWpsatv SCbc+Rxd8sDmsL0ViWcq1BqkKGq1brcApVW/NzsLtLfhr6haxJeRXYgmTkXdTzKuJ695 ijln2KwXTX65YJWmQ1cfkIbhotP3B91KAqQOaqmIs9t/FbIOW46VOKnMF+DEgFktoptf EqRRYNp2YTpVArKWytW2TIi4QKBkPdN03djjmq5NITHW7JWGG+bS0YxiUeqUlDebODC4 bl8N8YTLmwy5LLEdjxxgee/Im4xcxbcR/O825rHqeDIyXqxplpadN8tnbii0ecpAlVQt Mm+w== X-Gm-Message-State: AOJu0Yy9dMzJ0jmfr89MPJH1Rugo1yIIHsp5sFBhvUZICd24THAg3fjS GSz1NhUcDBoUHh7T3uLR2dAaCMKgBezzqBb+VR6vY0dpdaMRYUlxhSiLodGKXlxY/cs9PhFn+xp +r0SrJuExFFvgJuIGgYCjYWGeT0kxCSv38nV20RA= X-Gm-Gg: AZuq6aKEFgob4ieg+tynqnxBXjp8LV2/Cbi0667xY9LeTm9z/WdJHtlV0Jbatmrbb6E jFgukZWr+g9Wh391sALM/+URumY4cgbx1iqLLSvOFut92J5XH7BztMnaXrnju78iXT0brX/9TCu T0dfLkIAtKuanVC8Jeo/QNkqY6lw+NlbhSFosYrLyIfoYyf68+yC6d5Aw1Fn4o65B3vEZyNyhu0 MmEun3zDMIalBEM/wkCP+4G3sbMD7CrYbMhQfoehHVr3JVUDTgEX/UIcV5ZSIMgk1eDLECmgd3Y PZLtoPs= X-Received: by 2002:a05:7300:d718:b0:2a4:65b5:9868 with SMTP id 5a478bee46e88-2bac980c0b5mr2381141eec.38.1771190400541; Sun, 15 Feb 2026 13:20:00 -0800 (PST) MIME-Version: 1.0 From: Edwin UY Date: Mon, 16 Feb 2026 10:19:22 +1300 X-Gm-Features: AaiRm53rQ6FsRRf0_ZD6MJFB7IKGqzOoSFHEA-v5bYafEKgnEKVI1B77tTihUW8 Message-ID: Subject: has_table_privilege To: Pgsql-admin Content-Type: multipart/alternative; boundary="000000000000a76c03064ae366a8" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --000000000000a76c03064ae366a8 Content-Type: text/plain; charset="UTF-8" Is there no shortcut alternative to using select has_table_privilegeso it will just check all possible privileges? select has_table_privilege('user_or_role','table_name','update'); select has_table_privilege('user_or_role','table_name','select,insert'); I thought when running select has_table_privilege('user_or_role','table_name','select,insert,update,delete'); it will enumerate the privilege. Isn't it not supposed to? --000000000000a76c03064ae366a8 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable

Is there no shortcut alternative t= o using select has_table_privilegeso it will just check all possible privileges?

select has_table_privilege= ('user_or_role','table_name','update');
select h= as_table_privilege('user_or_role','table_name','select,= insert');=C2=A0

I th= ought when running=C2=A0 select has_table_privilege('user_or_role','table_name','= ;select,insert,update,delete'); it will enumerate the privilege. Isn= 9;t it not supposed to?

=



--000000000000a76c03064ae366a8--