Conecte-se à sua instância do servidor PostgreSQL usando o seguinte comando:
sudo -u postgres psql
Selecione o banco de dados que você gostaria de conectar ao Chartio:
\c databasename;
Crie uma nova função para seu usuário somente leitura do Chartio:
CREATE ROLE chartio_read_only_user LOGIN PASSWORD 'secure_password';
Conceda os privilégios necessários para que o novo usuário se conecte ao seu
banco de dados:
GRANT CONNECT ON DATABASE exampledb TO chartio_read_only_user;
GRANT USAGE ON SCHEMA public TO chartio_read_only_user;
Execute o seguinte comando para gerar as consultas que concederão acesso
de seleção ao seu novo usuário:
SELECT 'GRANT SELECT ON '||schemaname||'."'||tablename||'" TO chartio_read_only_user;' FROM pg_tables WHERE schemaname IN ('public') ORDER BY schemaname, tablename;
Você verá uma lista de instruções GRANT semelhantes à seguinte:
Copie as instruções GRANT geradas pela consulta e cole-as na janela do terminal. Para restringir o acesso a um subconjunto de tabelas, execute apenas as instruções GRANT para as tabelas correspondentes. Para limitar o acesso a colunas específicas, leia como limitar o acesso ao PostgreSQL usando o esquema.
GRANT SELECT ON public."album" TO chartio_read_only_user;
GRANT SELECT ON public."artist" TO chartio_read_only_user;
GRANT SELECT ON public."customer" TO chartio_read_only_user;
GRANT SELECT ON public."employee" TO chartio_read_only_user;
GRANT SELECT ON public."genre" TO chartio_read_only_user;
GRANT SELECT ON public."invoice" TO chartio_read_only_user;
GRANT SELECT ON public."invoiceline" TO chartio_read_only_user;
GRANT SELECT ON public."mediatype" TO chartio_read_only_user;
GRANT SELECT ON public."playlist" TO chartio_read_only_user;
GRANT SELECT ON public."playlisttrack" TO chartio_read_only_user;
GRANT SELECT ON public."track" TO chartio_read_only_user;
Seu novo usuário somente leitura agora tem as permissões necessárias para que o Chartio se conecte ao seu banco de dados.