Username and Password
1
2
Grant DB User Permissions
MySQL or MariaDB
GRANT SHOW DATABASES, SELECT ON *.* TO teleskope
Postgres versions 14+
GRANT pg_read_all_data TO teleskope
Postgres versions < 14
SELECT format('GRANT CONNECT ON DATABASE %I TO teleskope;', datname) FROM pg_database \gexec
SELECT format('GRANT USAGE ON SCHEMA %I TO teleskope;', nspname) FROM pg_namespace \gexec
SELECT format('GRANT SELECT ON ALL TABLES IN SCHEMA %I TO teleskope;', nspname) FROM pg_namespace \gexec
Oracle SQL
CREATE USER teleskope IDENTIFIED BY "StrongPassword";
GRANT CONNECT TO teleskope_ro;
GRANT SELECT ANY TABLE TO teleskope_ro;
GRANT SELECT_CATALOG_ROLE TO teleskope_ro;
MS SQL
GRANT VIEW ANY DATABASE TO teleskope;
DECLARE @sql NVARCHAR(MAX);
SET @sql = '';
SELECT @sql +=
'USE [' + name + '];
CREATE USER teleskope FOR LOGIN teleskope;
GRANT SELECT TO teleskope;
GRANT VIEW DATABASE STATE TO teleskope;' + CHAR(13)
FROM sys.databases
WHERE state = 0 AND name NOT IN ('master', 'tempdb', 'model', 'msdb', 'rdsadmin');
EXEC sp_executesql @sql;
Last updated
Was this helpful?