timescaledb/notes.md
2026-03-13 16:58:15 +01:00

1.7 KiB

timescaledb

https://github.com/timescale/timescaledb

Test

Récup datas

ssh grab-4
docker exec client-demo-postgres-1 pg_dump -Fc -U postgres postgres > /tmp/backup_postgres.dump
exit

cd /tmp
scp grab-4:/tmp/backup_postgres.dump .
pg_restore -c -x -t mesure -d postgres -h localhost -U postgres -W  backup_postgres.dump
# pg_restore -c -x -I mesure_idx1 -d postgres -h localhost -U postgres -W  backup_postgres.dump
# pg_restore -c -x -I mesure_idx2 -d postgres -h localhost -U postgres -W  backup_postgres.dump
pg_restore -c -x -t captation -d postgres -h localhost -U postgres -W  backup_postgres.dump

Exploit

SELECT *
FROM timescaledb_information.chunks
WHERE hypertable_name = 'mesure_ng'

SELECT * FROM timescaledb_information.jobs

WIP

Grafana

mixe de

sur le range :

SELECT *
FROM (

SELECT
  "date" AS time,
  valeur
FROM mesure_gauge
WHERE $__timeFilter("date")
AND $__range_s < 86400

UNION ALL

SELECT
  "date" AS time,
  average(valeur_temporelle)
FROM mesure_gauge_heure
WHERE $__timeFilter("date")
AND $__range_s BETWEEN 86400 AND 2592000

UNION ALL

SELECT
  "date" AS time,
  average(valeur_temporelle)
FROM mesure_gauge_jour
WHERE $__timeFilter("date")
AND $__range_s > 2592000

) t
ORDER BY time

et où est dans le passé

SELECT *
FROM (

  -- données récentes → brut
  SELECT
    mg."date" AS time,
    mg.valeur
  FROM mesure_gauge mg
  WHERE $__timeFilter(mg."date")
  AND $__to > now() - interval '7 days'

  UNION ALL

  -- données anciennes → agrégées
  SELECT
    mgh."date" AS time,
    average(mgh.valeur_temporelle) AS valeur
  FROM mesure_gauge_heure mgh
  WHERE $__timeFilter(mgh."date")
  AND $__to <= now() - interval '7 days'

) t
ORDER BY time;