Aluisio Gouveia escreveu: > É possível permitir que um usuário conecte no banco e acesse objetos que > ele tem permissão, mas proibir a criação de novos objestos, se sim, como > fazer? > Geralmente é só revogar os privilégios do usuário no esquema onde estão os seus objetos. Veja:
euler=# create role foo login; CREATE ROLE euler=# create table bar (a int); CREATE TABLE euler=# revoke create on schema public from public; REVOKE euler=# \c - foo psql (8.4.0) Você está conectado ao banco de dados "euler" agora como usuário "foo". euler=> create table teste (a int); ERRO: permissão negada para esquema public euler=> insert into bar values(2); ERRO: permissão negada para relação bar euler=> \c - euler psql (8.4.0) Você está conectado ao banco de dados "euler" agora como usuário "euler". euler=# grant select,insert on bar to foo; GRANT euler=# \c - foo psql (8.4.0) Você está conectado ao banco de dados "euler" agora como usuário "foo". euler=> insert into bar values(2); INSERT 0 1 euler=> delete from bar; ERRO: permissão negada para relação bar euler=> \z Privilégios de acesso Esquema | Nome | Tipo | Privilégios de acesso | Column access privileges ---------+------+-------+-----------------------+-------------------------- public | bar | table | euler=arwdDxt/euler | : foo=ar/euler (1 row) -- Euler Taveira de Oliveira http://www.timbira.com/ _______________________________________________ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral