Připojte se k instanci serveru PostgreSQL pomocí následujícího příkazu:
sudo -u postgres psql
Vyberte databázi, kterou chcete připojit k Chartio:
\c databasename;
Vytvořte novou roli pro svého uživatele Chartio pouze pro čtení:
CREATE ROLE chartio_read_only_user LOGIN PASSWORD 'secure_password';
Udělte potřebná oprávnění, aby se nový uživatel mohl připojit k vaší
databázi:
GRANT CONNECT ON DATABASE exampledb TO chartio_read_only_user;
GRANT USAGE ON SCHEMA public TO chartio_read_only_user;
Spuštěním následujícího příkazu vygenerujte dotazy, které vašemu novému uživateli udělí
výběrový přístup:
SELECT 'GRANT SELECT ON '||schemaname||'."'||tablename||'" TO chartio_read_only_user;' FROM pg_tables WHERE schemaname IN ('public') ORDER BY schemaname, tablename;
Zobrazí se seznam prohlášení GRANT podobný následujícímu:
Zkopírujte příkazy GRANT vygenerované dotazem a vložte je do okna terminálu. Chcete-li omezit přístup k podmnožině tabulek, spusťte pouze příkazy GRANT pro odpovídající tabulky. Chcete-li omezit přístup ke konkrétním sloupcům, přečtěte si prosím, jak omezit přístup k PostgreSQL pomocí schématu.
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;
Váš nový uživatel pouze pro čtení má nyní potřebná oprávnění, aby se Chartio mohlo připojit k vaší databázi.