Connettiti alla tua istanza del server PostgreSQL usando il seguente comando:
sudo -u postgres psql
Seleziona il database che desideri connettere a Chartio:
\c databasename;
Crea un nuovo ruolo per il tuo utente di sola lettura Chartio:
CREATE ROLE chartio_read_only_user LOGIN PASSWORD 'secure_password';
Concedi al nuovo utente i privilegi necessari per connettersi al tuo
database:
GRANT CONNECT ON DATABASE exampledb TO chartio_read_only_user;
GRANT USAGE ON SCHEMA public TO chartio_read_only_user;
Esegui il comando seguente per generare le query che consentiranno a select
l'accesso al tuo nuovo utente:
SELECT 'GRANT SELECT ON '||schemaname||'."'||tablename||'" TO chartio_read_only_user;' FROM pg_tables WHERE schemaname IN ('public') ORDER BY schemaname, tablename;
Verrà visualizzato un elenco di istruzioni GRANT simile al seguente:
Copia le istruzioni GRANT generate dalla query e quindi incollale nella finestra del tuo terminale. Per limitare l'accesso a un sottoinsieme di tabelle, eseguire solo le istruzioni GRANT per le tabelle corrispondenti. Per limitare l'accesso a colonne specifiche, leggi come limitare l'accesso a PostgreSQL utilizzando lo schema.
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;
Il tuo nuovo utente di sola lettura ora dispone delle autorizzazioni necessarie affinché Chartio si connetta al tuo database.