From 6f5293d32504249ec040a84b65bbd0e7a899ae72 Mon Sep 17 00:00:00 2001 From: Raymond Bourges Date: Thu, 12 Mar 2026 19:41:44 +0100 Subject: [PATCH] FEAT : maj doc --- notes.md | 56 ++++++++++++++++++++++++++++++++++++++++++++++++++------ 1 file changed, 50 insertions(+), 6 deletions(-) diff --git a/notes.md b/notes.md index d90e29a..80bd0f6 100644 --- a/notes.md +++ b/notes.md @@ -8,8 +8,7 @@ ```bash ssh grab-4 -docker exec -t client-demo-postgres-1 pg_dump -Fc -U postgres -d postgres -f /tmp/backup_postgres.dump -docker cp client-demo-postgres-1:/tmp/backup_postgres.dump /tmp/backup_postgres.dump +docker exec client-demo-postgres-1 pg_dump -Fc -U postgres postgres > /tmp/backup_postgres.dump exit cd /tmp @@ -25,11 +24,11 @@ pg_restore -c -x -I mesure_idx2 -d postgres -h localhost -U postgres -W backup_ CREATE TABLE mesure_ng ( "date" TIMESTAMPTZ, id_captation INT NOT NULL, - valeur float4 NOT NULL, + valeur float4 NOT NULL ) WITH ( tsdb.hypertable, timescaledb.segmentby = 'id_captation', - timescaledb.orderby='time DESC' + timescaledb.orderby='date DESC' ) INSERT INTO mesure_ng ("date", id_captation, valeur) @@ -37,6 +36,11 @@ INSERT INTO mesure_ng ("date", id_captation, valeur) FROM mesure ``` +### Compression des données (stockage en colonnes) + +`SELECT add_columnstore_policy('mesure_ng', INTERVAL '15 days')` + + ### Ex. de requête ```sql @@ -59,10 +63,50 @@ ORDER BY heure; ``` +### Exploit + +```sql +SELECT * +FROM timescaledb_information.chunks +WHERE hypertable_name = 'mesure_ng' +``` + +`SELECT * FROM timescaledb_information.jobs` + ### Continuous aggregates (WIP) * CREATE MATERIALIZED VIEW -* SELECT add_continuous_aggregate_policy -* supprimer les "vieilles" données de mesure_ng \ No newline at end of file +* CALL add_continuous_aggregate_policy +* supprimer les "vieilles" données de mesure_ng (add_retention_policy ?) + +#### Exemples + +##### Gauges + +CREATE MATERIALIZED VIEW sensor_hourly +WITH (timescaledb.continuous) +AS +SELECT + time_bucket('1 hour', time) AS bucket, + sensor_id, + average( + time_weight('linear', "date", valeur) + ) AS moyenne_temporelle, + percentile_agg(value) AS pct +FROM sensor_data +GROUP BY bucket, sensor_id; + +Puis + +SELECT + bucket, + sensor_id, + approx_percentile(0.95, pct) AS p95, + approx_percentile(0.99, pct) AS p99 +FROM sensor_hourly; + +##### Index + +delta(counter_agg(time, value)) \ No newline at end of file