2013/12/11 Renato Sousa <[email protected]>
>
>
>
> Em 11 de dezembro de 2013 14:41, Rafael Fialho Corrêa <
> [email protected]> escreveu:
>
> Em 11 de dezembro de 2013 14:32, Renato Sousa <[email protected]>escreveu:
>>
>> Bom dia,
>>>
>>> Em 11 de dezembro de 2013 08:59, Matheus de Oliveira <
>>> [email protected]> escreveu:
>>>
>>>> Cara, que cliente de e-mail você usa? Suas mensagens sempre aparecem
>>>> estranhas. O gmail desagrupa elas do resto da thread.
>>>>
>>>> E o top-posting, não creio ser culpa do cliente de e-mail. =/
>>>>
>>> Uso o gmail mesmo. Realmente vc tem razão, é falta de atenção minha...
>>> Desculpe-me! :D
>>>
>>>>
>>>>
>>>> 2013/12/10 Ivan Leite <[email protected]>
>>>>
>>>>> Exemplo:
>>>>> GRANT USASE ON SCHEMA myschema FROM usuario;
>>>>>
>>>>
>>>> Bom, esse é um requisito se quiser que o "usuario" acesse qualquer
>>>> objeto dentro do esquema "myschema". Mas creio que o que você se referia
>>>> era o seguinte:
>>>>
>>>> GRANT SELECT ON ALL TABLES IN SCHEMA myschema TO usuario;
>>>>
>>>> O problema é que só funciona a partir do PostgreSQL 9.0.
>>>>
>>>> Ah, e é "TO" não "FROM", o último é para REVOKE. Não se preocupe, eu
>>>> sempre faço isso também, mas costumo fazer o contrário: usar TO no REVOKE.
>>>> ^^
>>>>
>>>>
>>>>
>>> Então, na verdade estou me confundindo com esse lance de schema. Estou
>>> bem acostumado com mysql e estou apanhando um pouco do pgsql!!!!
>>> Dei as permissões de select para cada uma das tabelas, porém o usuário
>>> ainda não consegue "ver" as tabelas! Tenho que dar permissão ao schema
>>> tbem ?
>>>
>>> Abraços,
>>>
>>> Renato
>>>
>>>
>> Desculpe a falta de gentileza, Renato, mas você leu o e-mail que você
>> mesmo respondeu antes de perguntar isso?
>> Todos os usuários precisam de permissão "usage" nos schemas criados além
>> do "public", para poder, tanto visualizar as tabelas, quanto exercer suas
>> permissões nas mesmas.
>>
>> []'s
>>
>> Olá Rafael,
>
> Não fui claro quanto a permissão do schema! Já havia concedido a
> permissão USAGE ao usuário, mas algo está errado.
>
> Qdo entro com o usuário user1 obtenho a saida abaixo:
>
> # psql -U user1 -d sbq
>
> Type "help" for help.
>
> sbq=> \dt
> List of relations
> Schema | Name | Type | Owner
> --------+-----------------------------+-------+----------
> sch1 | table1 | table | user1
> sch1 | table2 | table | user1
> .....
> sch1 | tableX | table | user1
>
>
> Porém, qdo entro com o usuario user2 não consigo ver as mesmas tabelas.
>
>
Aparece algum erro de permissão quando, como user2, você executa:
SELECT * FROM sch1.table1 LIMIT 1;
??
Se sim, qual erro?
Agora, quanto a não estar vendo as tabelas, pode ser simplesmente por causa
do valor do search_path, para confirmar entre como user1 e depois como
user2 e compare os resultados do seguinte comando:
SHOW search_path;
Se for diferente, você pode:
1) Configurar o search_path diretamente para o user2:
ALTER ROLE user2 SET search_path TO sch1,public, ...;
2) Listar as tabelas de um esquema no psql, mesmo fora do search_path:
\dt sch1.
Atenciosamente,
--
Matheus de Oliveira
Analista de Banco de Dados
Dextra Sistemas - MPS.Br nível F!
www.dextra.com.br/postgres
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral