Olá pessoal, obrigado pela respotas, mas tentem executar essa SQL no banco
de vocês:
grant select on tabelaX to public;
E depois a SQL:
select has_table_privilege('usuarioX', 'tabelaX', 'select');
Sendo que o usuarioX anteriormente não tinha grant de select na tabelaX,
pelo que entendi ele herdou de public.
Em seguinda:
REVOKE ALL PRIVILEGES ON tabelaX FROM public;
E finalmente:
select has_table_privilege('usuarioX', 'tabelaX', 'select'); --perdeu a
permissão.
Pelo que entendi todas as roles herdam o grants do public, mas quando vou
executar a query:
select has_table_privilege('public', 'tabelaX', 'select');
Dá um erro dizendo que a role public não existe.
Grato.
Abraços,
Em 27 de julho de 2011 11:49, Fabrízio de Royes Mello <
[email protected]> escreveu:
>
> Em 27 de julho de 2011 11:35, Carlos Madsen <[email protected]>escreveu:
>
> Olá pessoal tentei executar a seguinte SQL, "select
>> has_table_privilege('public','
>> tabelaX','select');" para saber se a role public tinha grant de select na
>> tabela "tabelaX".
>>
>> E ele diz que a role 'public' não existe, mas ela existe e é padrão do
>> postgres, se dou algum grant para a role public todos os usuários herdam
>> essas permissões.
>>
>>
> Creio que vc esteja fazendo confusão... não existe uma role padrão chamada
> "public" (em uma instalação inicial), a menos que vc crie uma com esse
> nome... o que existe por padrão é um esquema padrão denominado "public".
>
> Para vc saber qual role vc está usando na sua conexão faça:
>
> postgres@postgres=# select current_role;
> current_user
> --------------
> postgres
> (1 linha)
>
>
> Olha a utilização do has_table_privilege:
>
> postgres@bdteste=# select has_table_privilege('postgres', 'public.foo',
> 'select');
> has_table_privilege
> ---------------------
> t
> (1 linha)
>
>
> Para listar as "roles" da sua base vc pode consultar o catálogo com:
>
> SELECT * FROM pg_roles;
>
> --
> Fabrízio de Royes Mello
> >> Blog sobre TI: http://fabriziomello.blogspot.com
> >> Perfil Linkedin: http://br.linkedin.com/in/fabriziomello
>
>
> _______________________________________________
> pgbr-geral mailing list
> [email protected]
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>
>
--
Carlos Alberto Barros Cruz Westhead Madsen
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral