Crate um usuário novo, somente leitura em postgres

4

Eu gostaria de criar um novo usuário em um banco de dados postgresql existente em uma máquina Ubuntu. Desejo conceder a esse usuário um acesso somente leitura a todas as tabelas.

Como faço isso? Preciso criar um novo usuário no Ubuntu também?

Obrigado,

Udi

    
por Adam Matan 30.08.2009 / 15:22

2 respostas

6

Referência retirada deste Artigo!

Script para criar um usuário somente leitura:

CREATE ROLE Read_Only_User WITH LOGIN PASSWORD 'Test1234' 
NOSUPERUSER INHERIT NOCREATEDB NOCREATEROLE NOREPLICATION VALID UNTIL 'infinity';

Atribua permissão a esse usuário somente leitura:

GRANT CONNECT ON DATABASE YourDatabaseName TO Read_Only_User;
GRANT USAGE ON SCHEMA public TO Read_Only_User;
GRANT SELECT ON ALL TABLES IN SCHEMA public TO Read_Only_User;
GRANT SELECT ON ALL SEQUENCES IN SCHEMA public TO Read_Only_User;
    
por 17.02.2016 / 12:52
3

Não há necessidade de criar um novo usuário no sistema operacional. Basta emitir:

CREATE USER newusername

no psql (ou pgadmin, ou qualquer outra ferramenta que você preferir) e você terá um novo usuário. O acesso deste usuário depende do que suas tabelas estão configuradas. Mas padrão, ele não terá permissões em nenhuma tabela, então você terá que CONCEDER isso. Se você já concedeu permissões ao grupo público, o usuário terá essas permissões desde o início.

    
por 30.08.2009 / 16:02