Tem vários artigos na internet falando como realizar o procedimento, mas a maioria não funciona nas versões 9+, então, compartilho aqui como consegui fazer funcionar:
Usuário: readonly
Senha: readonly
Banco de Dados: foo
CREATE USER readonly WITH ENCRYPTED PASSWORD 'readonly'; GRANT USAGE ON SCHEMA public to readonly; ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT SELECT ON TABLES TO readonly; -- repita o codigo abaixo para cada banco de dados GRANT CONNECT ON DATABASE foo to readonly; \c foo -- o codigo abaixo concede o privilegio em novas tabelas geradas no banco "foo" ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT ALL ON TABLES TO readonly; GRANT USAGE ON SCHEMA public to readonly; GRANT SELECT ON ALL SEQUENCES IN SCHEMA public TO readonly; GRANT SELECT ON ALL TABLES IN SCHEMA public TO readonly;
Fonte: StackOverflow
setembro 16th, 2019 on 08:57
Isso não funcionou.