42 lines
899 B
SQL
42 lines
899 B
SQL
create extension if not exists timescaledb;
|
|
|
|
create table application_t (
|
|
id serial not null primary key,
|
|
label text not null unique,
|
|
attributes jsonb
|
|
);
|
|
|
|
create table sensor_type_t (
|
|
id serial not null primary key,
|
|
label text not null unique,
|
|
variable text not null,
|
|
unit text not null,
|
|
converter text not null,
|
|
attributes jsonb
|
|
);
|
|
|
|
create table sensor_t (
|
|
id serial not null primary key,
|
|
label text not null,
|
|
application int references application_t(id),
|
|
sensor_type int references sensor_type_t(id),
|
|
attributes jsonb,
|
|
unique (label, application)
|
|
);
|
|
|
|
create table measurement_t (
|
|
time timestamp without time zone not null,
|
|
application text not null,
|
|
sensor_type text not null,
|
|
sensor text not null,
|
|
variable text not null,
|
|
unit text not null,
|
|
value double precision not null,
|
|
attributes jsonb
|
|
);
|
|
|
|
select create_hypertable('measurement_t', 'time');
|
|
|
|
|
|
|