Conéctese a su instancia de servidor PostgreSQL usando el siguiente comando:
sudo -u postgres psql
Seleccione la base de datos a la que le gustaría conectarse con Chartio:
\c databasename;
Cree un nuevo rol para su usuario de solo lectura de Chartio:
CREATE ROLE chartio_read_only_user LOGIN PASSWORD 'secure_password';
Otorgue los privilegios necesarios para que el nuevo usuario se conecte a su
base de datos:
GRANT CONNECT ON DATABASE exampledb TO chartio_read_only_user;
GRANT USAGE ON SCHEMA public TO chartio_read_only_user;
Ejecute el siguiente comando para generar las consultas que otorgarán acceso selecto
a su nuevo usuario:
SELECT 'GRANT SELECT ON '||schemaname||'."'||tablename||'" TO chartio_read_only_user;' FROM pg_tables WHERE schemaname IN ('public') ORDER BY schemaname, tablename;
Verá una lista de sentencias GRANT similar a la siguiente:
Copie las declaraciones GRANT generadas por la consulta y luego péguelas en la ventana de su terminal. Para restringir el acceso a un subconjunto de tablas, solo ejecute las sentencias GRANT para las tablas correspondientes. Para limitar el acceso a columnas específicas, lea cómo limitar el acceso a PostgreSQL mediante el 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;
Su nuevo usuario de solo lectura ahora tiene los permisos necesarios para que Chartio se conecte a su base de datos.