From f9f6681d20fdf216861592dc4dd86b8a4ea7d36b Mon Sep 17 00:00:00 2001 From: Dusan Vojacek Date: Sun, 5 Apr 2026 02:52:35 +0200 Subject: [PATCH] fix persmiion --- db/views/R__z_postgrest_ems_anon_grants.sql | 24 +++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/db/views/R__z_postgrest_ems_anon_grants.sql b/db/views/R__z_postgrest_ems_anon_grants.sql index 907f376..794847a 100644 --- a/db/views/R__z_postgrest_ems_anon_grants.sql +++ b/db/views/R__z_postgrest_ems_anon_grants.sql @@ -1,4 +1,28 @@ -- PostgREST ems_anon: SELECT na views (repeatable – po R__vw_* ve stejném Flyway běhu). +-- +-- Po importu DB dumpu bez cluster rolí často chybí samotná role; V009 pak na cílovém +-- clusteru neběžela. Tento blok je idempotentní a při změně souboru znovu spáruje granty. + +DO $$ BEGIN + IF NOT EXISTS (SELECT FROM pg_roles WHERE rolname = 'ems_anon') THEN + CREATE ROLE ems_anon NOLOGIN; + END IF; +END $$; + +GRANT USAGE ON SCHEMA ems TO ems_anon; + +-- Tabulky (stejné jako V009 + V020; idempotentní – bezpečné po importu DB bez rolí) +GRANT SELECT ON ems.market_interval_price TO ems_anon; +GRANT SELECT ON ems.planning_run TO ems_anon; +GRANT SELECT ON ems.planning_interval TO ems_anon; +GRANT SELECT ON ems.forecast_pv_interval TO ems_anon; +GRANT SELECT ON ems.forecast_pv_run TO ems_anon; +GRANT SELECT ON ems.operating_mode_def TO ems_anon; +GRANT SELECT ON ems.site_operating_mode TO ems_anon; +GRANT SELECT ON ems.site_operating_mode_log TO ems_anon; +GRANT SELECT ON ems.ev_session TO ems_anon; +GRANT SELECT ON ems.asset_vehicle TO ems_anon; +GRANT SELECT ON ems.ev_arrival_stats TO ems_anon; GRANT SELECT ON ems.vw_site_status TO ems_anon; GRANT SELECT ON ems.vw_site_effective_price TO ems_anon;