Subject: prevent users from SELECT-ing from pg_roles/pg_database

From: Andreas Joseph Krogh <[email-masked]>
Date: Fri, 24 May 2024 17:51:59 +0200 (CEST)

Hi, is there a way to prevent a user/role from SELECT-ing from certain 
system-tables?

I'd like the contents of pg_{user,roles,database} to not be visible to all 
users.

Thanks.

--
Andreas Joseph Krogh
CTO / Partner - Visena AS
Mobile: +47 909 56 963
[email-masked] <mailto:[email-masked]>
www.visena.com <https://www.visena.com>
 <https://www.visena.com>

---

From: Muhammad Salahuddin Manzoor <[email-masked]>
Date: Fri, 24 May 2024 21:28:20 +0500

Greetings,

To prevent a user or role from selecting data from certain system tables in
PostgreSQL, you can revoke the default select permissions on those tables.
Here’s how you can do it:

   1. Revoke SELECT permission on the system tables from the public role.
   2. Grant SELECT permission only to specific roles that need it.

Here’s a step-by-step guide on how to achieve this:

Salahuddin.

On Fri, 24 May 2024, 20:52 Andreas Joseph Krogh, <[email-masked]> wrote:

> *Andreas Joseph Krogh*
> [email-masked]