Свържете се с вашия екземпляр на PostgreSQL сървър, като използвате следната команда:
sudo -u postgres psql
Изберете базата данни, която искате да свържете с Chartio:
\c databasename;
Създайте нова роля за вашия потребител само за четене в Chartio:
CREATE ROLE chartio_read_only_user LOGIN PASSWORD 'secure_password';
Предоставете необходимите привилегии на новия потребител да се свърже с вашата
база данни:
GRANT CONNECT ON DATABASE exampledb TO chartio_read_only_user;
GRANT USAGE ON SCHEMA public TO chartio_read_only_user;
Изпълнете следната команда, за да генерирате заявките, които ще предоставят select
достъп на вашия нов потребител:
SELECT 'GRANT SELECT ON '||schemaname||'."'||tablename||'" TO chartio_read_only_user;' FROM pg_tables WHERE schemaname IN ('public') ORDER BY schemaname, tablename;
Ще видите списък с изрази GRANT, подобен на следния:
Копирайте изразите GRANT, генерирани от заявката, и след това ги поставете във вашия терминален прозорец. За да ограничите достъпа до подмножество от таблици, изпълнете операторите GRANT само за съответните таблици. За да ограничите достъпа до конкретни колони, моля, прочетете как да ограничите достъпа на PostgreSQL с помощта на схема.
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;
Вашият нов потребител само за четене вече има необходимите разрешения, за да може Chartio да се свърже с вашата база данни.