| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128 |
- SET statement_timeout = 0;
- SET lock_timeout = 0;
- SET idle_in_transaction_session_timeout = 0;
- SET client_encoding = 'UTF8';
- SET standard_conforming_strings = on;
- SELECT pg_catalog.set_config('search_path', '', false);
- SET check_function_bodies = false;
- SET xmloption = content;
- SET client_min_messages = warning;
- SET row_security = off;
- CREATE ROLE senslog NOSUPERUSER NOCREATEDB NOCREATEROLE INHERIT;
- CREATE ROLE analytics_app NOSUPERUSER NOCREATEDB NOCREATEROLE INHERIT LOGIN PASSWORD 'analytics';
- GRANT senslog TO analytics_app;
- CREATE DATABASE analytics WITH TEMPLATE = template0 ENCODING = 'UTF8' LOCALE_PROVIDER = 'libc' LOCALE = 'en_US.UTF-8';
- ALTER DATABASE analytics OWNER TO senslog;
- \connect analytics
- SET statement_timeout = 0;
- SET lock_timeout = 0;
- SET idle_in_transaction_session_timeout = 0;
- SET client_encoding = 'UTF8';
- SET standard_conforming_strings = on;
- SELECT pg_catalog.set_config('search_path', '', false);
- SET check_function_bodies = false;
- SET xmloption = content;
- SET client_min_messages = warning;
- SET row_security = off;
- SET default_tablespace = '';
- CREATE SCHEMA analytics;
- ALTER SCHEMA analytics OWNER TO senslog;
- ALTER SCHEMA public OWNER TO senslog;
- -- CREATE EXTENSION IF NOT EXISTS postgis WITH SCHEMA public;
- CREATE TYPE analytics.attribute_type AS ENUM ('MIN', 'MAX', 'AVG', 'VAL');
- CREATE TYPE analytics.threshold_mode AS ENUM ('LT', 'LE', 'GE', 'GT', 'NE', 'EQ');
- CREATE TYPE analytics.collector_type AS ENUM ('DOUBLE', 'MOLD');
- CREATE TYPE analytics.notify_trigger_mode AS ENUM ('INSTANT', 'ON_CHANGE', 'DISABLED');
- -- CREATE TYPE message_broker_type AS ENUM ('SENSLOG_ALERT');
- create table analytics.entity_source (
- id SERIAL PRIMARY KEY NOT NULL,
- unit_id BIGINT NOT NULL,
- sensor_id BIGINT NOT NULL,
- UNIQUE (unit_id, sensor_id)
- );
- alter table analytics.entity_source OWNER TO senslog;
- create table analytics.analytic_group (
- id SERIAL PRIMARY KEY NOT NULL,
- name VARCHAR(200) NOT NULL DEFAULT 'no_name',
- time_interval INTEGER NOT NULL, -- interval in seconds
- persistence BOOLEAN NOT NULL,
- collector_type analytics.collector_type
- );
- alter table analytics.analytic_group OWNER TO senslog;
- create table analytics.entity_source_to_analytic_group (
- id SERIAL PRIMARY KEY NOT NULL,
- entity_source_id BIGINT REFERENCES analytics.entity_source(id),
- analytic_group_id INTEGER REFERENCES analytics.analytic_group(id),
- time_created TIMESTAMP WITH TIME ZONE DEFAULT now() NOT NULL
- );
- alter table analytics.entity_source_to_analytic_group OWNER TO senslog;
- create table analytics.record (
- id SERIAL PRIMARY KEY NOT NULL,
- analytic_group_id INTEGER NOT NULL,
- attribute_type analytics.attribute_type NOT NULL,
- calculated_value DOUBLE PRECISION NOT NULL,
- time_interval INTEGER NOT NULL, -- interval in seconds
- time_stamp TIMESTAMP WITH TIME ZONE NOT NULL,
- time_created TIMESTAMP WITH TIME ZONE DEFAULT now() NOT NULL,
- UNIQUE (analytic_group_id, attribute_type, time_stamp)
- );
- alter table analytics.record OWNER TO senslog;
- create table analytics.threshold (
- id SERIAL PRIMARY KEY NOT NULL,
- analytic_group_id INTEGER NOT NULL,
- notify_trigger_mode analytics.notify_trigger_mode NOT NULL,
- attribute_type analytics.attribute_type NOT NULL,
- process_on_fail BOOLEAN NOT NULL
- );
- alter table analytics.threshold OWNER TO senslog;
- create table analytics.threshold_rule (
- id SERIAL PRIMARY KEY NOT NULL,
- threshold_id INTEGER NOT NULL REFERENCES analytics.threshold(id),
- threshold_mode analytics.threshold_mode NOT NULL,
- threshold_value DOUBLE PRECISION NOT NULL
- );
- alter table analytics.threshold_rule OWNER TO senslog;
- -- create table analytics.alert_broker (
- -- id SERIAL PRIMARY KEY NOT NULL,
- -- broker_type message_broker_type NOT NULL,
- -- config jsonb NOT NULL
- -- );
- --
- -- alter table analytics.alert_broker OWNER TO senslog;
- --
- -- create table analytics.notify_to_msg_broker (
- -- id SERIAL PRIMARY KEY NOT NULL,
- -- threshold_id integer REFERENCES analytics.thresholds(id),
- -- message_broker_id integer REFERENCES analytics.alert_broker(id),
- -- properties json NOT NULL
- -- );
- --
- -- alter table analytics.notify_to_msg_broker OWNER TO senslog;
|