27 lines
1.3 KiB
Plaintext
27 lines
1.3 KiB
Plaintext
---
|
||
description: TimescaleDB continuous aggregates – komentáře a Flyway (EMS)
|
||
globs: db/**/*.sql
|
||
alwaysApply: false
|
||
---
|
||
|
||
# Timescale continuous aggregate v EMS
|
||
|
||
## Komentáře u CA (kritické)
|
||
|
||
Continuous aggregate vytvořený jako `CREATE MATERIALIZED VIEW … WITH (timescaledb.continuous)` **není** v systémovém katalogu PostgreSQL evidovaný jako běžný **materialized view**.
|
||
|
||
- **Nepoužívat** `COMMENT ON MATERIALIZED VIEW ems.<název_ca> …` → chyba SQL state **42809** („is not a materialized view“).
|
||
- **Použít** `COMMENT ON VIEW ems.<název_ca> …` — stejný vzor jako u `telemetry_inverter_hourly` v migraci **V011**.
|
||
|
||
Samotné **wrapper view** nad CA (např. `vw_telemetry_15m_7d` v repeatable `R__vw_telemetry_15m_7d.sql`) komentovat standardně `COMMENT ON VIEW`.
|
||
|
||
## Struktura repa
|
||
|
||
- **Definice CA + `add_continuous_aggregate_policy`**: verzovaná migrace `db/migration/V0xx__*.sql` (po aplikaci na DB neměnit — nová V migrace).
|
||
- **Definice čtecího view nad CA**: raději **repeatable** `db/views/R__vw_*.sql`, aby šla měnit jedna aktuální verze bez nové V migrace.
|
||
- **PostgREST**: `GRANT SELECT` na view v `db/views/R__z_postgrest_ems_anon_grants.sql`, ne na samotný CA.
|
||
|
||
## Odkaz v dokumentaci
|
||
|
||
Detailněji: `docs/04-modules/telemetry.md` (sekce o continuous aggregates a dashboardu).
|