From: | Melvin Davidson <melvin6925(at)gmail(dot)com> |
---|---|
To: | chris <chrisk(at)pgsqlrocket(dot)com> |
Cc: | Postgres General <pgsql-general(at)postgresql(dot)org> |
Subject: | Re: gathering ownership and grant permissions |
Date: | 2018-02-16 20:05:35 |
Message-ID: | CANu8FixFyQE29pP9DZV-Z_E+QXFAsmW9S6KboiC75SEL70Ba7g@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
On Fri, Feb 16, 2018 at 2:47 PM, chris <chrisk(at)pgsqlrocket(dot)com> wrote:
> HI,
>
> I would like to know if there is a better way to grab the grant
> permissions as well as the "owner to" of a table.
>
> I can currently do this through a pg_dumb with greps for "^grant" and
> "^alter" but than I need to do a word search of those lines looking for the
> specific answers which gets much more involved.
>
> I essentially need to know what grant command was ran and use that grant
> permission to set to a variable for a script.
>
> Ex: GRANT ALL ON TABLE testing TO bob; then set only the "all" to a
> variable.
>
> And then same for the ALTER .... OWNER TO bob.
>
> This is on postgresl 9.6.
>
> Thank you,
>
> Chris
>
>
>
*>... is a better way to grab the grant permissions as well as the "owner
to" of a table. *
*Chris, see if the query below will help. Note, you need to execute as a
superuser.SELECT n.nspname, c.relname,
o.rolname AS owner, array_to_string(ARRAY[c.relacl], '|') as
permits FROM pg_class c JOIN pg_namespace n ON (n.oid =
c.relnamespace) JOIN pg_authid o ON (o.oid = c.relowner)WHERE n.nspname
not like 'pg_%' AND n.nspname not like 'inform_%' AND relkind =
'r'ORDER BY 1;*
--
*Melvin Davidson*
I reserve the right to fantasize. Whether or not you
wish to share my fantasy is entirely up to you.
From | Date | Subject | |
---|---|---|---|
Next Message | chris | 2018-02-16 20:13:32 | Re: gathering ownership and grant permissions |
Previous Message | Tim Cross | 2018-02-16 20:04:51 | Re: Database health check/auditing |