Username and Password
1
2
Grant DB User Permissions
GRANT SHOW DATABASES, SELECT ON *.* TO teleskope_roGRANT pg_read_all_data TO teleskope_roSELECT format('GRANT CONNECT ON DATABASE %I TO teleskope_ro;', datname)
FROM pg_database WHERE datname NOT IN ('template0','template1') \gexec
SELECT format('GRANT USAGE ON SCHEMA %I TO teleskope_ro;', nspname)
FROM pg_namespace WHERE nspname NOT IN ('pg_toast','pg_catalog','information_schema') \gexec
SELECT format('GRANT SELECT ON ALL TABLES IN SCHEMA %I TO teleskope_ro;', nspname)
FROM pg_namespace WHERE nspname NOT IN ('pg_toast','pg_catalog','information_schema') \gexecGRANT CONNECT TO teleskope_ro;
GRANT SELECT ANY TABLE TO teleskope_ro;
GRANT SELECT_CATALOG_ROLE TO teleskope_ro;GRANT VIEW ANY DATABASE TO teleskope_ro;
DECLARE @sql NVARCHAR(MAX);
SET @sql = '';
SELECT @sql +=
'USE [' + name + '];
CREATE USER teleskope_ro FOR LOGIN teleskope_ro;
GRANT SELECT TO teleskope_ro;
GRANT VIEW DATABASE STATE TO teleskope_ro;' + CHAR(13)
FROM sys.databases
WHERE state = 0 AND name NOT IN ('tempdb', 'model', 'msdb', 'rdsadmin');
EXEC sp_executesql @sql;ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT SELECT ON TABLES TO teleskope_ro;3
Last updated
Was this helpful?
