Stellen Sie mit dem folgenden Befehl eine Verbindung zu Ihrer PostgreSQL-Serverinstanz her:
sudo -u postgres psql
Wählen Sie die Datenbank aus, die Sie mit Chartio verbinden möchten:
\c databasename;
Erstellen Sie eine neue Rolle für Ihren schreibgeschützten Chartio-Benutzer:
CREATE ROLE chartio_read_only_user LOGIN PASSWORD 'secure_password';
Erteilen Sie dem neuen Benutzer die erforderlichen Berechtigungen, um sich mit Ihrer
Datenbank zu verbinden:
GRANT CONNECT ON DATABASE exampledb TO chartio_read_only_user;
GRANT USAGE ON SCHEMA public TO chartio_read_only_user;
Führen Sie den folgenden Befehl aus, um die Abfragen zu generieren, die Ihrem neuen Benutzer
ausgewählten Zugriff gewähren:
SELECT 'GRANT SELECT ON '||schemaname||'."'||tablename||'" TO chartio_read_only_user;' FROM pg_tables WHERE schemaname IN ('public') ORDER BY schemaname, tablename;
Sie sehen eine Liste mit GRANT-Anweisungen ähnlich der folgenden:
Kopieren Sie die von der Abfrage generierten GRANT-Anweisungen und fügen Sie sie dann in Ihr Terminalfenster ein. Um den Zugriff auf eine Teilmenge von Tabellen einzuschränken, führen Sie die GRANT-Anweisungen nur für die entsprechenden Tabellen aus. Um den Zugriff auf bestimmte Spalten einzuschränken, lesen Sie bitte, wie man den PostgreSQL-Zugriff mithilfe von Schemas einschränkt.
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;
Ihr neuer schreibgeschützter Benutzer verfügt jetzt über die erforderlichen Berechtigungen, damit Chartio eine Verbindung zu Ihrer Datenbank herstellen kann.