Incorrect comment on pg_shadow view
Attached is a proposal to fix a comment in pg_authid.h. pg_shadow is not (and
obviously should not be) accessible by public:
postgres=# SELECT relname, relacl FROM pg_class WHERE relname IN ('pg_shadow', 'pg_group');
relname | relacl
-----------+------------------------------------------
pg_shadow | {postgres=arwdDxtm/postgres}
pg_group | {postgres=arwdDxtm/postgres,=r/postgres}
(2 rows)
--
Antonin Houska
Web: https://www.cybertec-postgresql.com
Attachments:
pg_authid_comment.difftext/x-diffDownload
diff --git a/src/include/catalog/pg_authid.h b/src/include/catalog/pg_authid.h
index e846d75731..b0dbdf2dd2 100644
--- a/src/include/catalog/pg_authid.h
+++ b/src/include/catalog/pg_authid.h
@@ -3,7 +3,7 @@
* pg_authid.h
* definition of the "authorization identifier" system catalog (pg_authid)
*
- * pg_shadow and pg_group are now publicly accessible views on pg_authid.
+ * pg_shadow and pg_group are now views on pg_authid.
*
*
* Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group
On 18 Oct 2024, at 13:50, Antonin Houska <ah@cybertec.at> wrote:
Attached is a proposal to fix a comment in pg_authid.h. pg_shadow is not (and
obviously should not be) accessible by public:
- * pg_shadow and pg_group are now publicly accessible views on pg_authid.
+ * pg_shadow and pg_group are now views on pg_authid.
I'm no native speaker but I don't interpret "publicly accessible" as readable
by the public role, rather that they are accessible via a user interface (in
this case SQL).
--
Daniel Gustafsson
Daniel Gustafsson <daniel@yesql.se> writes:
On 18 Oct 2024, at 13:50, Antonin Houska <ah@cybertec.at> wrote:
Attached is a proposal to fix a comment in pg_authid.h. pg_shadow is not (and
obviously should not be) accessible by public:
- * pg_shadow and pg_group are now publicly accessible views on pg_authid. + * pg_shadow and pg_group are now views on pg_authid.
I'm no native speaker but I don't interpret "publicly accessible" as readable
by the public role, rather that they are accessible via a user interface (in
this case SQL).
I think Antonin is right. pg_authid is just as accessible from SQL as
these views are. Also note the phrasing in the SGML documentation of
pg_shadow [1]https://www.postgresql.org/docs/devel/view-pg-shadow.html:
The name stems from the fact that this table should not be
readable by the public since it contains passwords. pg_user is a
publicly readable view on pg_shadow that blanks out the password
field.
regards, tom lane
[1]: https://www.postgresql.org/docs/devel/view-pg-shadow.html