40 lines
1.6 KiB
SQL
40 lines
1.6 KiB
SQL
-- Leitura da identidade e dos privilégios. Não grava.
|
|
|
|
select project_name, project_ref
|
|
from adaptador_guard.adapter_project_identity();
|
|
|
|
select p.proname, p.prosecdef, p.proconfig
|
|
from pg_catalog.pg_proc p
|
|
join pg_catalog.pg_namespace n on n.oid = p.pronamespace
|
|
where n.nspname = 'adaptador_guard'
|
|
order by p.proname;
|
|
|
|
select c.relname, c.relrowsecurity, c.relforcerowsecurity
|
|
from pg_catalog.pg_class c
|
|
join pg_catalog.pg_namespace n on n.oid = c.relnamespace
|
|
where n.nspname = 'adaptador_guard'
|
|
and c.relkind = 'r'
|
|
order by c.relname;
|
|
|
|
select 'public' as papel,
|
|
has_schema_privilege('public', 'adaptador_guard', 'usage') as uso,
|
|
has_table_privilege('public', 'adaptador_guard.project_identity', 'select') as leitura,
|
|
has_table_privilege('public', 'adaptador_guard.project_identity', 'update') as alteracao,
|
|
has_function_privilege('public', 'adaptador_guard.adapter_project_identity()', 'execute') as executar
|
|
union all
|
|
select r.rolname,
|
|
has_schema_privilege(r.oid, 'adaptador_guard', 'usage'),
|
|
has_table_privilege(r.oid, 'adaptador_guard.project_identity', 'select'),
|
|
has_table_privilege(r.oid, 'adaptador_guard.project_identity', 'update'),
|
|
has_function_privilege(r.oid, 'adaptador_guard.adapter_project_identity()', 'execute')
|
|
from pg_catalog.pg_roles r
|
|
where r.rolname in ('anon', 'authenticated', 'service_role', 'app_user', 'adaptador_web', 'adaptador_worker')
|
|
order by papel;
|
|
|
|
select item
|
|
from pg_catalog.pg_db_role_setting s
|
|
cross join lateral unnest(s.setconfig) as item
|
|
where s.setdatabase = (select oid from pg_catalog.pg_database where datname = current_database())
|
|
and s.setrole = 0
|
|
order by item;
|