create user nome_usuario;
alter user nome_usuario with encrypted password 'digite_sua_senha_aqui';
GRANT SELECT ON ALL TABLES IN SCHEMA nome_do_schema TO nome_usuario;
o comando abaixo vai gerar os sqls para serem executados:
--SELECT, INSERT, UPDATE, DELETE
--select 'grant all on '||schemaname||'.'||tablename||' to usuario_bonito;'
select 'grant select on '||schemaname||'.'||tablename||' to nome_usuario;'
from pg_tables where schemaname in ('nome_do_shema', 'nome_do_schema2')
order by schemaname, tablename;
Além de dar permissão às tabelas também é necessário conceder permissão de acesso ao schema.
GRANT USAGE ON SCHEMA nome_do_schema to nome_usuario;
Vale muito a pena a leitura dos links abaixo: