Files
adaptador-planilhas/scripts/sql/verify-project-identity.sql
T
Ferraz Fagundes a4f0a2f649
ci / lint, typecheck, testes e build (push) Canceled after 0s
ci / Postgres e Redis reais (push) Canceled after 0s
ci / imagem Docker Linux (push) Canceled after 0s
fix(db): implementa identidade persistente segura para homologacao
2026-10-19 23:39:05 -03:00

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;