Re: replacing role-level NOINHERIT with a grant-level option
| От | Tom Lane |
|---|---|
| Тема | Re: replacing role-level NOINHERIT with a grant-level option |
| Дата | |
| Msg-id | 1066202.1654190251@sss.pgh.pa.us обсуждение исходный текст |
| Ответ на | replacing role-level NOINHERIT with a grant-level option (Robert Haas <robertmhaas@gmail.com>) |
| Ответы |
Re: replacing role-level NOINHERIT with a grant-level option
Re: replacing role-level NOINHERIT with a grant-level option |
| Список | pgsql-hackers |
Robert Haas <robertmhaas@gmail.com> writes:
> Is this a kind of change people would support? Here's a quick sketch:
> 1. Extend the GRANT role_name TO role_name [ WITH ADMIN OPTION ] with
> a new, optional clause, something like WITH NO INHERIT or WITH
> NOINHERIT or WITHOUT INHERIT.
> 2. Remove the INHERIT | NOINHERIT flag from CREATE ROLE and ALTER ROLE.
> 3. Replace pg_authid.rolinherit with pg_auth_members.inherit. Any
> place where we would have considered rolinherit, instead consider the
> inherit flag for the particular pg_auth_members entry at issue.
> 4. When dumping from an old version, dump all grants to NOINHERIT
> roles as non-inheritable grants.
Point 2 would cause every existing pg_dumpall script to fail, which
seems like kind of a large gotcha. Less unpleasant alternatives
could include
* Continue to accept the syntax, but ignore it, maybe with a WARNING
for the alternative that doesn't correspond to the new behavior.
* Keep pg_authid.rolinherit, and have it act as supplying the default
behavior for subsequent GRANTs to that role.
Perhaps there are other ways.
regards, tom lane
В списке pgsql-hackers по дате отправления: