Compare commits
No commits in common. "6f5293d32504249ec040a84b65bbd0e7a899ae72" and "73c134dd83b705ae254a191340302c20ca0f28a0" have entirely different histories.
6f5293d325
...
73c134dd83
@ -1,7 +0,0 @@
|
||||
services:
|
||||
timescaledb:
|
||||
image: postgres:18
|
||||
ports:
|
||||
- 5432:5432
|
||||
environment:
|
||||
- POSTGRES_PASSWORD=postgres
|
||||
56
notes.md
56
notes.md
@ -8,7 +8,8 @@
|
||||
|
||||
```bash
|
||||
ssh grab-4
|
||||
docker exec client-demo-postgres-1 pg_dump -Fc -U postgres postgres > /tmp/backup_postgres.dump
|
||||
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
|
||||
exit
|
||||
|
||||
cd /tmp
|
||||
@ -24,11 +25,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='date DESC'
|
||||
timescaledb.orderby='time DESC'
|
||||
)
|
||||
|
||||
INSERT INTO mesure_ng ("date", id_captation, valeur)
|
||||
@ -36,11 +37,6 @@ 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
|
||||
@ -63,50 +59,10 @@ ORDER BY
|
||||
heure;
|
||||
```
|
||||
|
||||
### Exploit
|
||||
|
||||
```sql
|
||||
SELECT *
|
||||
FROM timescaledb_information.chunks
|
||||
WHERE hypertable_name = 'mesure_ng'
|
||||
```
|
||||
|
||||
`SELECT * FROM timescaledb_information.jobs`
|
||||
|
||||
### Continuous aggregates (WIP)
|
||||
|
||||
<https://www.tigerdata.com/docs/use-timescale/latest/continuous-aggregates/create-a-continuous-aggregate>
|
||||
|
||||
* CREATE MATERIALIZED VIEW
|
||||
* 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))
|
||||
* SELECT add_continuous_aggregate_policy
|
||||
* supprimer les "vieilles" données de mesure_ng
|
||||
Loading…
Reference in New Issue
Block a user