Re: how to list privileges on the database object itself via SQL?
От | Holger Jakobs |
---|---|
Тема | Re: how to list privileges on the database object itself via SQL? |
Дата | |
Msg-id | df6be05b-60ca-bb2c-4122-48dc03846837@jakobs.com обсуждение исходный текст |
Ответ на | how to list privileges on the database object itself via SQL? (richard coleman <rcoleman.ascentgl@gmail.com>) |
Список | pgsql-admin |
Am 26.04.23 um 20:05 schrieb Tom Lane: > richard coleman <rcoleman.ascentgl@gmail.com> writes: >> Thanks for that. It still seems rather weird that there isn't a more >> straightforward way to get access to that information. > You could just read the system catalog documentation: > > https://www.postgresql.org/docs/current/catalogs.html > > psql's queries are mostly useful as a shortcut to finding out > where to look. > >> Also the SQL generated by psql -E doesn't seem to work on earlier versions >> of PostgreSQL: > Yeah, you'd need to try it against a server of the vintage you > care about. (Also read the documentation of the correct version.) > >> Are you saying that the only place this information is stored >> is in an array in the datacl column of the pg_catalog.pg_database table? > Precisely. > >> If that's the case then I am going to be forced to either write code to >> parse out that array, or write a looping union of multiple >> "has_database_privilege()" calls. > You were already pointed at aclexplode(), which might help. > > select datname, a.* from pg_database, aclexplode(datacl) a; > > regards, tom lane > \df+ aclexplode in psql will show you more information about the function, which might help in make good use of it. -- Holger Jakobs, Bergisch Gladbach, Tel. +49-178-9759012
Вложения
В списке pgsql-admin по дате отправления: