On Mon, Jul 22, 2024 at 5:19 PM Pavel Luzanov <p.luzanov@postgrespro.ru> wrote:
> Visible but inaccessible objects in system catalogs increase the volume
> of command output unnecessarily. Why do I need to know the list of all
> schemas in the database if I only have access to the public schema?
> The same applies to inaccessible tables, views, functions, etc.
>
> Not for safety, but for convenience, it might be worth having a set of views
> that show only those rows of the system catalog (with *acl column) that
> the user has access to. Either as the object owner, or through the privileges.
> Directly or indirectly through role membership.
So, I wasn't actually aware that anyone had a big problem in this
area. I thought that most of the junk you might see in \d<whatever>
output would be hidden either because the objects you don't care about
are not in your search_path or because they are system objects. I
agree that doesn't help with schemas, but most people don't have a
huge number of schemas, and even if you do, you don't necessarily need
to look at the list all that frequently.
--
Robert Haas
EDB: http://www.enterprisedb.com