В этом запросе будут перечислены все таблицы во всех базах данных и схемах (раскомментируйте строки в WHERE
предложении, чтобы отфильтровать определенные базы данных, схемы или таблицы), с привилегиями, показанными в порядке, чтобы было легко увидеть, если предоставлена конкретная привилегия или нет:
SELECT grantee
,table_catalog
,table_schema
,table_name
,string_agg(privilege_type, ', ' ORDER BY privilege_type) AS privileges
FROM information_schema.role_table_grants
WHERE grantee != 'postgres'
GROUP BY 1, 2, 3, 4;
Пример вывода:
grantee |table_catalog |table_schema |table_name |privileges |
PUBLIC |adventure_works |pg_catalog |pg_sequence |SELECT |
PUBLIC |adventure_works |pg_catalog |pg_sequences |SELECT |
PUBLIC |adventure_works |pg_catalog |pg_settings |SELECT, UPDATE |
...