diff --git a/db-schema/admin_user.sql b/db-schema/admin_user.sql
new file mode 100644
index 0000000000000000000000000000000000000000..2836726169de4279c43014b05dba3739a6d42053
--- /dev/null
+++ b/db-schema/admin_user.sql
@@ -0,0 +1 @@
+CREATE ROLE hdb_admin WITH LOGIN PASSWORD 'hdbpp';
diff --git a/db-schema/cluster.sql b/db-schema/cluster.sql
new file mode 100644
index 0000000000000000000000000000000000000000..baee7e7e396ee4cb344b0abf44f96e6218cbf59a
--- /dev/null
+++ b/db-schema/cluster.sql
@@ -0,0 +1,57 @@
+ALTER TABLE att_scalar_devboolean CLUSTER ON att_scalar_devboolean_att_conf_id_data_time_idx;
+ALTER TABLE att_array_devboolean CLUSTER ON att_array_devboolean_att_conf_id_data_time_idx;
+ALTER TABLE att_scalar_devuchar CLUSTER ON att_scalar_devuchar_att_conf_id_data_time_idx;
+ALTER TABLE att_array_devuchar CLUSTER ON att_array_devuchar_att_conf_id_data_time_idx;
+ALTER TABLE att_scalar_devshort CLUSTER ON att_scalar_devshort_att_conf_id_data_time_idx;
+ALTER TABLE att_array_devshort CLUSTER ON att_array_devshort_att_conf_id_data_time_idx;
+ALTER TABLE att_scalar_devushort CLUSTER ON att_scalar_devushort_att_conf_id_data_time_idx;
+ALTER TABLE att_array_devushort CLUSTER ON att_array_devushort_att_conf_id_data_time_idx;
+ALTER TABLE att_scalar_devlong CLUSTER ON att_scalar_devlong_att_conf_id_data_time_idx;
+ALTER TABLE att_array_devlong CLUSTER ON att_array_devlong_att_conf_id_data_time_idx;
+ALTER TABLE att_scalar_devulong CLUSTER ON att_scalar_devulong_att_conf_id_data_time_idx;
+ALTER TABLE att_array_devulong CLUSTER ON att_array_devulong_att_conf_id_data_time_idx;
+ALTER TABLE att_scalar_devlong64 CLUSTER ON att_scalar_devlong64_att_conf_id_data_time_idx;
+ALTER TABLE att_array_devlong64 CLUSTER ON att_array_devlong64_att_conf_id_data_time_idx;
+ALTER TABLE att_scalar_devulong64 CLUSTER ON att_scalar_devulong64_att_conf_id_data_time_idx;
+ALTER TABLE att_array_devulong64 CLUSTER ON att_array_devulong64_att_conf_id_data_time_idx;
+ALTER TABLE att_scalar_devfloat CLUSTER ON att_scalar_devfloat_att_conf_id_data_time_idx;
+ALTER TABLE att_array_devfloat CLUSTER ON att_array_devfloat_att_conf_id_data_time_idx;
+ALTER TABLE att_scalar_devdouble CLUSTER ON att_scalar_devdouble_att_conf_id_data_time_idx;
+ALTER TABLE att_array_devdouble CLUSTER ON att_array_devdouble_att_conf_id_data_time_idx;
+ALTER TABLE att_scalar_devstring CLUSTER ON att_scalar_devstring_att_conf_id_data_time_idx;
+ALTER TABLE att_array_devstring CLUSTER ON att_array_devstring_att_conf_id_data_time_idx;
+ALTER TABLE att_scalar_devstate CLUSTER ON att_scalar_devstate_att_conf_id_data_time_idx;
+ALTER TABLE att_array_devstate CLUSTER ON att_array_devstate_att_conf_id_data_time_idx;
+ALTER TABLE att_scalar_devencoded CLUSTER ON att_scalar_devencoded_att_conf_id_data_time_idx;
+ALTER TABLE att_array_devencoded CLUSTER ON att_array_devencoded_att_conf_id_data_time_idx;
+ALTER TABLE att_scalar_devenum CLUSTER ON att_scalar_devenum_att_conf_id_data_time_idx;
+ALTER TABLE att_array_devenum CLUSTER ON att_array_devenum_att_conf_id_data_time_idx;
+
+CLUSTER att_scalar_devboolean;
+CLUSTER att_array_devboolean;
+CLUSTER att_scalar_devuchar;
+CLUSTER att_array_devuchar;
+CLUSTER att_scalar_devshort;
+CLUSTER att_array_devshort;
+CLUSTER att_scalar_devushort;
+CLUSTER att_array_devushort;
+CLUSTER att_scalar_devlong;
+CLUSTER att_array_devlong;
+CLUSTER att_scalar_devulong;
+CLUSTER att_array_devulong;
+CLUSTER att_scalar_devlong64;
+CLUSTER att_array_devlong64;
+CLUSTER att_scalar_devulong64;
+CLUSTER att_array_devulong64;
+CLUSTER att_scalar_devfloat;
+CLUSTER att_array_devfloat;
+CLUSTER att_scalar_devdouble;
+CLUSTER att_array_devdouble;
+CLUSTER att_scalar_devstring;
+CLUSTER att_array_devstring;
+CLUSTER att_scalar_devstate;
+CLUSTER att_array_devstate;
+CLUSTER att_scalar_devencoded;
+CLUSTER att_array_devencoded;
+CLUSTER att_scalar_devenum;
+CLUSTER att_array_devenum;
\ No newline at end of file
diff --git a/db-schema/schema.sql b/db-schema/schema.sql
index 4445653dc54d73c6a63452994799f830d21e215c..8cab5645dc6e456b38f1f7065490b12efd7fef59 100755
--- a/db-schema/schema.sql
+++ b/db-schema/schema.sql
@@ -1,8 +1,8 @@
-DROP DATABASE IF EXISTS hdbpp;
+DROP DATABASE IF EXISTS hdb;
 
 -- Create the hdb database and use it
-CREATE DATABASE hdbpp;
-\c hdbpp
+CREATE DATABASE hdb;
+\c hdb
 
 -- Add the timescaledb extension (Important)
 CREATE EXTENSION IF NOT EXISTS timescaledb CASCADE;
@@ -112,7 +112,7 @@ CREATE INDEX IF NOT EXISTS att_history_att_history_event_id_idx ON att_history_e
 CREATE TABLE IF NOT EXISTS att_history (
     att_conf_id integer NOT NULL,
     att_history_event_id integer NOT NULL,
-    event_time timestamp(6) with time zone,
+    event_time timestamp WITH TIME ZONE,
     details json,
     PRIMARY KEY (att_conf_id, event_time),
     FOREIGN KEY (att_conf_id) REFERENCES att_conf (att_conf_id),
@@ -125,7 +125,7 @@ CREATE INDEX IF NOT EXISTS att_history_att_conf_id_inx ON att_history (att_conf_
 -------------------------------------------------------------------------------
 CREATE TABLE IF NOT EXISTS att_parameter (
     att_conf_id integer NOT NULL,
-    recv_time timestamp with time zone NOT NULL,
+    recv_time timestamp WITH TIME ZONE NOT NULL,
     label text NOT NULL DEFAULT '',
     unit text NOT NULL DEFAULT '',
     standard_unit text NOT NULL DEFAULT '',
@@ -158,7 +158,7 @@ CREATE INDEX IF NOT EXISTS att_error_desc_att_error_desc_id_idx ON att_error_des
 -------------------------------------------------------------------------------
 CREATE TABLE IF NOT EXISTS att_scalar_devboolean (
     att_conf_id integer NOT NULL,
-    data_time timestamp with time zone NOT NULL,
+    data_time timestamp WITH TIME ZONE NOT NULL,
     value_r boolean,
     value_w boolean,
     quality smallint,
@@ -172,11 +172,11 @@ CREATE TABLE IF NOT EXISTS att_scalar_devboolean (
 COMMENT ON TABLE att_scalar_devboolean IS 'Scalar Boolean Values Table';
 CREATE INDEX IF NOT EXISTS att_scalar_devboolean_att_conf_id_idx ON att_scalar_devboolean (att_conf_id);
 CREATE INDEX IF NOT EXISTS att_scalar_devboolean_att_conf_id_data_time_idx ON att_scalar_devboolean (att_conf_id,data_time DESC);
-SELECT create_hypertable('att_scalar_devboolean', 'data_time', chunk_time_interval => interval '1 day', create_default_indexes => FALSE);
+SELECT create_hypertable('att_scalar_devboolean', 'data_time', chunk_time_interval => interval '28 day', create_default_indexes => FALSE);
 
 CREATE TABLE IF NOT EXISTS att_array_devboolean (
     att_conf_id integer NOT NULL,
-    data_time timestamp with time zone NOT NULL,
+    data_time timestamp WITH TIME ZONE NOT NULL,
     value_r boolean[],
     value_w boolean[],
     quality smallint,
@@ -190,11 +190,11 @@ CREATE TABLE IF NOT EXISTS att_array_devboolean (
 COMMENT ON TABLE att_array_devboolean IS 'Array Boolean Values Table';
 CREATE INDEX IF NOT EXISTS att_array_devboolean_att_conf_id_idx ON att_array_devboolean (att_conf_id);
 CREATE INDEX IF NOT EXISTS att_array_devboolean_att_conf_id_data_time_idx ON att_array_devboolean (att_conf_id,data_time DESC);
-SELECT create_hypertable('att_array_devboolean', 'data_time', chunk_time_interval => interval '1 day', create_default_indexes => FALSE);
+SELECT create_hypertable('att_array_devboolean', 'data_time', chunk_time_interval => interval '28 day', create_default_indexes => FALSE);
 
 CREATE TABLE IF NOT EXISTS att_scalar_devuchar (
     att_conf_id integer NOT NULL,
-    data_time timestamp with time zone NOT NULL,
+    data_time timestamp WITH TIME ZONE NOT NULL,
     value_r uchar,
     value_w uchar,
     quality smallint,
@@ -208,11 +208,11 @@ CREATE TABLE IF NOT EXISTS att_scalar_devuchar (
 COMMENT ON TABLE att_scalar_devuchar IS 'Scalar UChar Values Table';
 CREATE INDEX IF NOT EXISTS att_scalar_devuchar_att_conf_id_idx ON att_scalar_devuchar (att_conf_id);
 CREATE INDEX IF NOT EXISTS att_scalar_devuchar_att_conf_id_data_time_idx ON att_scalar_devuchar (att_conf_id,data_time DESC);
-SELECT create_hypertable('att_scalar_devuchar', 'data_time', chunk_time_interval => interval '1 day', create_default_indexes => FALSE);
+SELECT create_hypertable('att_scalar_devuchar', 'data_time', chunk_time_interval => interval '28 day', create_default_indexes => FALSE);
 
 CREATE TABLE IF NOT EXISTS att_array_devuchar (
     att_conf_id integer NOT NULL,
-    data_time timestamp with time zone NOT NULL,
+    data_time timestamp WITH TIME ZONE NOT NULL,
     value_r uchar[],
     value_w uchar[],
     quality smallint,
@@ -226,11 +226,11 @@ CREATE TABLE IF NOT EXISTS att_array_devuchar (
 COMMENT ON TABLE att_array_devuchar IS 'Array UChar Values Table';
 CREATE INDEX IF NOT EXISTS att_array_devuchar_att_conf_id_idx ON att_array_devuchar (att_conf_id);
 CREATE INDEX IF NOT EXISTS att_array_devuchar_att_conf_id_data_time_idx ON att_array_devuchar (att_conf_id,data_time DESC);
-SELECT create_hypertable('att_array_devuchar', 'data_time', chunk_time_interval => interval '1 day', create_default_indexes => FALSE);
+SELECT create_hypertable('att_array_devuchar', 'data_time', chunk_time_interval => interval '28 day', create_default_indexes => FALSE);
 
 CREATE TABLE IF NOT EXISTS att_scalar_devshort (
     att_conf_id integer NOT NULL,
-    data_time timestamp with time zone NOT NULL,
+    data_time timestamp WITH TIME ZONE NOT NULL,
     value_r smallint,
     value_w smallint,
     quality smallint,
@@ -244,11 +244,11 @@ CREATE TABLE IF NOT EXISTS att_scalar_devshort (
 COMMENT ON TABLE att_scalar_devshort IS 'Scalar Short Values Table';
 CREATE INDEX IF NOT EXISTS att_scalar_devshort_att_conf_id_idx ON att_scalar_devshort (att_conf_id);
 CREATE INDEX IF NOT EXISTS att_scalar_devshort_att_conf_id_data_time_idx ON att_scalar_devshort (att_conf_id,data_time DESC);
-SELECT create_hypertable('att_scalar_devshort', 'data_time', chunk_time_interval => interval '1 day', create_default_indexes => FALSE);
+SELECT create_hypertable('att_scalar_devshort', 'data_time', chunk_time_interval => interval '28 day', create_default_indexes => FALSE);
 
 CREATE TABLE IF NOT EXISTS att_array_devshort (
     att_conf_id integer NOT NULL,
-    data_time timestamp with time zone NOT NULL,
+    data_time timestamp WITH TIME ZONE NOT NULL,
     value_r smallint[],
     value_w smallint[],
     quality smallint,
@@ -262,11 +262,11 @@ CREATE TABLE IF NOT EXISTS att_array_devshort (
 COMMENT ON TABLE att_array_devshort IS 'Array Short Values Table';
 CREATE INDEX IF NOT EXISTS att_array_devshort_att_conf_id_idx ON att_array_devshort (att_conf_id);
 CREATE INDEX IF NOT EXISTS att_array_devshort_att_conf_id_data_time_idx ON att_array_devshort (att_conf_id,data_time DESC);
-SELECT create_hypertable('att_array_devshort', 'data_time', chunk_time_interval => interval '1 day', create_default_indexes => FALSE);
+SELECT create_hypertable('att_array_devshort', 'data_time', chunk_time_interval => interval '28 day', create_default_indexes => FALSE);
 
 CREATE TABLE IF NOT EXISTS att_scalar_devushort (
     att_conf_id integer NOT NULL,
-    data_time timestamp with time zone NOT NULL,
+    data_time timestamp WITH TIME ZONE NOT NULL,
     value_r ushort,
     value_w ushort,
     quality smallint,
@@ -280,11 +280,11 @@ CREATE TABLE IF NOT EXISTS att_scalar_devushort (
 COMMENT ON TABLE att_scalar_devushort IS 'Scalar UShort Values Table';
 CREATE INDEX IF NOT EXISTS att_scalar_devushort_att_conf_id_idx ON att_scalar_devushort (att_conf_id);
 CREATE INDEX IF NOT EXISTS att_scalar_devushort_att_conf_id_data_time_idx ON att_scalar_devushort (att_conf_id,data_time DESC);
-SELECT create_hypertable('att_scalar_devushort', 'data_time', chunk_time_interval => interval '1 day', create_default_indexes => FALSE);
+SELECT create_hypertable('att_scalar_devushort', 'data_time', chunk_time_interval => interval '28 day', create_default_indexes => FALSE);
 
 CREATE TABLE IF NOT EXISTS att_array_devushort (
     att_conf_id integer NOT NULL,
-    data_time timestamp with time zone NOT NULL,
+    data_time timestamp WITH TIME ZONE NOT NULL,
     value_r ushort[],
     value_w ushort[],
     quality smallint,
@@ -298,11 +298,11 @@ CREATE TABLE IF NOT EXISTS att_array_devushort (
 COMMENT ON TABLE att_array_devushort IS 'Array UShort Values Table';
 CREATE INDEX IF NOT EXISTS att_array_devushort_att_conf_id_idx ON att_array_devushort (att_conf_id);
 CREATE INDEX IF NOT EXISTS att_array_devushort_att_conf_id_data_time_idx ON att_array_devushort (att_conf_id,data_time DESC);
-SELECT create_hypertable('att_array_devushort', 'data_time', chunk_time_interval => interval '1 day', create_default_indexes => FALSE);
+SELECT create_hypertable('att_array_devushort', 'data_time', chunk_time_interval => interval '28 day', create_default_indexes => FALSE);
 
 CREATE TABLE IF NOT EXISTS att_scalar_devlong (
     att_conf_id integer NOT NULL,
-    data_time timestamp with time zone NOT NULL,
+    data_time timestamp WITH TIME ZONE NOT NULL,
     value_r integer,
     value_w integer,
     quality smallint,
@@ -316,11 +316,11 @@ CREATE TABLE IF NOT EXISTS att_scalar_devlong (
 COMMENT ON TABLE att_scalar_devlong IS 'Scalar Long Values Table';
 CREATE INDEX IF NOT EXISTS att_scalar_devlong_att_conf_id_idx ON att_scalar_devlong (att_conf_id);
 CREATE INDEX IF NOT EXISTS att_scalar_devlong_att_conf_id_data_time_idx ON att_scalar_devlong (att_conf_id,data_time DESC);
-SELECT create_hypertable('att_scalar_devlong', 'data_time', chunk_time_interval => interval '1 day', create_default_indexes => FALSE);
+SELECT create_hypertable('att_scalar_devlong', 'data_time', chunk_time_interval => interval '28 day', create_default_indexes => FALSE);
 
 CREATE TABLE IF NOT EXISTS att_array_devlong (
     att_conf_id integer NOT NULL,
-    data_time timestamp with time zone NOT NULL,
+    data_time timestamp WITH TIME ZONE NOT NULL,
     value_r integer[],
     value_w integer[],
     quality smallint,
@@ -334,11 +334,11 @@ CREATE TABLE IF NOT EXISTS att_array_devlong (
 COMMENT ON TABLE att_array_devlong IS 'Array Long Values Table';
 CREATE INDEX IF NOT EXISTS att_array_devlong_att_conf_id_idx ON att_array_devlong (att_conf_id);
 CREATE INDEX IF NOT EXISTS att_array_devlong_att_conf_id_data_time_idx ON att_array_devlong (att_conf_id,data_time DESC);
-SELECT create_hypertable('att_array_devlong', 'data_time', chunk_time_interval => interval '1 day', create_default_indexes => FALSE);
+SELECT create_hypertable('att_array_devlong', 'data_time', chunk_time_interval => interval '28 day', create_default_indexes => FALSE);
 
 CREATE TABLE IF NOT EXISTS att_scalar_devulong (
     att_conf_id integer NOT NULL,
-    data_time timestamp with time zone NOT NULL,
+    data_time timestamp WITH TIME ZONE NOT NULL,
     value_r ulong,
     value_w ulong,
     quality smallint,
@@ -352,11 +352,11 @@ CREATE TABLE IF NOT EXISTS att_scalar_devulong (
 COMMENT ON TABLE att_scalar_devulong IS 'Scalar ULong Values Table';
 CREATE INDEX IF NOT EXISTS att_scalar_devulong_att_conf_id_idx ON att_scalar_devulong (att_conf_id);
 CREATE INDEX IF NOT EXISTS att_scalar_devulong_att_conf_id_data_time_idx ON att_scalar_devulong (att_conf_id,data_time DESC);
-SELECT create_hypertable('att_scalar_devulong', 'data_time', chunk_time_interval => interval '1 day', create_default_indexes => FALSE);
+SELECT create_hypertable('att_scalar_devulong', 'data_time', chunk_time_interval => interval '28 day', create_default_indexes => FALSE);
 
 CREATE TABLE IF NOT EXISTS att_array_devulong (
     att_conf_id integer NOT NULL,
-    data_time timestamp with time zone NOT NULL,
+    data_time timestamp WITH TIME ZONE NOT NULL,
     value_r ulong[],
     value_w ulong[],
     quality smallint,
@@ -370,11 +370,11 @@ CREATE TABLE IF NOT EXISTS att_array_devulong (
 COMMENT ON TABLE att_array_devulong IS 'Array ULong Values Table';
 CREATE INDEX IF NOT EXISTS att_array_devulong_att_conf_id_idx ON att_array_devulong (att_conf_id);
 CREATE INDEX IF NOT EXISTS att_array_devulong_att_conf_id_data_time_idx ON att_array_devulong (att_conf_id,data_time DESC);
-SELECT create_hypertable('att_array_devulong', 'data_time', chunk_time_interval => interval '1 day', create_default_indexes => FALSE);
+SELECT create_hypertable('att_array_devulong', 'data_time', chunk_time_interval => interval '28 day', create_default_indexes => FALSE);
 
 CREATE TABLE IF NOT EXISTS att_scalar_devlong64 (
     att_conf_id integer NOT NULL,
-    data_time timestamp with time zone NOT NULL,
+    data_time timestamp WITH TIME ZONE NOT NULL,
     value_r bigint,
     value_w bigint,
     quality smallint,
@@ -388,11 +388,11 @@ CREATE TABLE IF NOT EXISTS att_scalar_devlong64 (
 COMMENT ON TABLE att_scalar_devlong64 IS 'Scalar Long64 Values Table';
 CREATE INDEX IF NOT EXISTS att_scalar_devlong64_att_conf_id_idx ON att_scalar_devlong64 (att_conf_id);
 CREATE INDEX IF NOT EXISTS att_scalar_devlong64_att_conf_id_data_time_idx ON att_scalar_devlong64 (att_conf_id,data_time DESC);
-SELECT create_hypertable('att_scalar_devlong64', 'data_time', chunk_time_interval => interval '1 day', create_default_indexes => FALSE);
+SELECT create_hypertable('att_scalar_devlong64', 'data_time', chunk_time_interval => interval '28 day', create_default_indexes => FALSE);
 
 CREATE TABLE IF NOT EXISTS att_array_devlong64 (
     att_conf_id integer NOT NULL,
-    data_time timestamp with time zone NOT NULL,
+    data_time timestamp WITH TIME ZONE NOT NULL,
     value_r bigint[],
     value_w bigint[],
     quality smallint,
@@ -406,11 +406,11 @@ CREATE TABLE IF NOT EXISTS att_array_devlong64 (
 COMMENT ON TABLE att_array_devlong64 IS 'Array Long64 Values Table';
 CREATE INDEX IF NOT EXISTS att_array_devlong64_att_conf_id_idx ON att_array_devlong64 (att_conf_id);
 CREATE INDEX IF NOT EXISTS att_array_devlong64_att_conf_id_data_time_idx ON att_array_devlong64 (att_conf_id,data_time DESC);
-SELECT create_hypertable('att_array_devlong64', 'data_time', chunk_time_interval => interval '1 day', create_default_indexes => FALSE);
+SELECT create_hypertable('att_array_devlong64', 'data_time', chunk_time_interval => interval '28 day', create_default_indexes => FALSE);
 
 CREATE TABLE IF NOT EXISTS att_scalar_devulong64 (
     att_conf_id integer NOT NULL,
-    data_time timestamp with time zone NOT NULL,
+    data_time timestamp WITH TIME ZONE NOT NULL,
     value_r ulong64,
     value_w ulong64,
     quality smallint,
@@ -424,11 +424,11 @@ CREATE TABLE IF NOT EXISTS att_scalar_devulong64 (
 COMMENT ON TABLE att_scalar_devulong64 IS 'Scalar ULong64 Values Table';
 CREATE INDEX IF NOT EXISTS att_scalar_devulong64_att_conf_id_idx ON att_scalar_devulong64 (att_conf_id);
 CREATE INDEX IF NOT EXISTS att_scalar_devulong64_att_conf_id_data_time_idx ON att_scalar_devulong64 (att_conf_id,data_time DESC);
-SELECT create_hypertable('att_scalar_devulong64', 'data_time', chunk_time_interval => interval '1 day', create_default_indexes => FALSE);
+SELECT create_hypertable('att_scalar_devulong64', 'data_time', chunk_time_interval => interval '28 day', create_default_indexes => FALSE);
 
 CREATE TABLE IF NOT EXISTS att_array_devulong64 (
     att_conf_id integer NOT NULL,
-    data_time timestamp with time zone NOT NULL,
+    data_time timestamp WITH TIME ZONE NOT NULL,
     value_r ulong64[],
     value_w ulong64[],
     quality smallint,
@@ -442,11 +442,11 @@ CREATE TABLE IF NOT EXISTS att_array_devulong64 (
 COMMENT ON TABLE att_array_devulong64 IS 'Array ULong64 Values Table';
 CREATE INDEX IF NOT EXISTS att_array_devulong64_att_conf_id_idx ON att_array_devulong64 (att_conf_id);
 CREATE INDEX IF NOT EXISTS att_array_devulong64_att_conf_id_data_time_idx ON att_array_devulong64 (att_conf_id,data_time DESC);
-SELECT create_hypertable('att_array_devulong64', 'data_time', chunk_time_interval => interval '1 day', create_default_indexes => FALSE);
+SELECT create_hypertable('att_array_devulong64', 'data_time', chunk_time_interval => interval '28 day', create_default_indexes => FALSE);
 
 CREATE TABLE IF NOT EXISTS att_scalar_devfloat (
     att_conf_id integer NOT NULL,
-    data_time timestamp with time zone NOT NULL,
+    data_time timestamp WITH TIME ZONE NOT NULL,
     value_r real,
     value_w real,
     quality smallint,
@@ -460,11 +460,11 @@ CREATE TABLE IF NOT EXISTS att_scalar_devfloat (
 COMMENT ON TABLE att_scalar_devfloat IS 'Scalar Float Values Table';
 CREATE INDEX IF NOT EXISTS att_scalar_devfloat_att_conf_id_idx ON att_scalar_devfloat (att_conf_id);
 CREATE INDEX IF NOT EXISTS att_scalar_devfloat_att_conf_id_data_time_idx ON att_scalar_devfloat (att_conf_id,data_time DESC);
-SELECT create_hypertable('att_scalar_devfloat', 'data_time', chunk_time_interval => interval '1 day', create_default_indexes => FALSE);
+SELECT create_hypertable('att_scalar_devfloat', 'data_time', chunk_time_interval => interval '28 day', create_default_indexes => FALSE);
 
 CREATE TABLE IF NOT EXISTS att_array_devfloat (
     att_conf_id integer NOT NULL,
-    data_time timestamp with time zone NOT NULL,
+    data_time timestamp WITH TIME ZONE NOT NULL,
     value_r real[],
     value_w real[],
     quality smallint,
@@ -478,11 +478,11 @@ CREATE TABLE IF NOT EXISTS att_array_devfloat (
 COMMENT ON TABLE att_array_devfloat IS 'Array Float Values Table';
 CREATE INDEX IF NOT EXISTS att_array_devfloat_att_conf_id_idx ON att_array_devfloat (att_conf_id);
 CREATE INDEX IF NOT EXISTS att_array_devfloat_att_conf_id_data_time_idx ON att_array_devfloat (att_conf_id,data_time DESC);
-SELECT create_hypertable('att_array_devfloat', 'data_time', chunk_time_interval => interval '1 day', create_default_indexes => FALSE);
+SELECT create_hypertable('att_array_devfloat', 'data_time', chunk_time_interval => interval '28 day', create_default_indexes => FALSE);
 
 CREATE TABLE IF NOT EXISTS att_scalar_devdouble (
     att_conf_id integer NOT NULL,
-    data_time timestamp with time zone NOT NULL,
+    data_time timestamp WITH TIME ZONE NOT NULL,
     value_r double precision,
     value_w double precision,
     quality smallint,
@@ -496,11 +496,11 @@ CREATE TABLE IF NOT EXISTS att_scalar_devdouble (
 COMMENT ON TABLE att_scalar_devdouble IS 'Scalar Double Values Table';
 CREATE INDEX IF NOT EXISTS att_scalar_devdouble_att_conf_id_idx ON att_scalar_devdouble (att_conf_id);
 CREATE INDEX IF NOT EXISTS att_scalar_devdouble_att_conf_id_data_time_idx ON att_scalar_devdouble (att_conf_id,data_time DESC);
-SELECT create_hypertable('att_scalar_devdouble', 'data_time', chunk_time_interval => interval '1 day', create_default_indexes => FALSE);
+SELECT create_hypertable('att_scalar_devdouble', 'data_time', chunk_time_interval => interval '14 day', create_default_indexes => FALSE);
 
 CREATE TABLE IF NOT EXISTS att_array_devdouble (
     att_conf_id integer NOT NULL,
-    data_time timestamp with time zone NOT NULL,
+    data_time timestamp WITH TIME ZONE NOT NULL,
     value_r double precision[],
     value_w double precision[],
     quality smallint,
@@ -514,11 +514,11 @@ CREATE TABLE IF NOT EXISTS att_array_devdouble (
 COMMENT ON TABLE att_array_devdouble IS 'Array Double Values Table';
 CREATE INDEX IF NOT EXISTS att_array_devdouble_att_conf_id_idx ON att_array_devdouble (att_conf_id);
 CREATE INDEX IF NOT EXISTS att_array_devdouble_att_conf_id_data_time_idx ON att_array_devdouble (att_conf_id,data_time DESC);
-SELECT create_hypertable('att_array_devdouble', 'data_time', chunk_time_interval => interval '1 day', create_default_indexes => FALSE);
+SELECT create_hypertable('att_array_devdouble', 'data_time', chunk_time_interval => interval '28 day', create_default_indexes => FALSE);
 
 CREATE TABLE IF NOT EXISTS att_scalar_devstring (
     att_conf_id integer NOT NULL,
-    data_time timestamp with time zone NOT NULL,
+    data_time timestamp WITH TIME ZONE NOT NULL,
     value_r text,
     value_w text,
     quality smallint,
@@ -532,11 +532,11 @@ CREATE TABLE IF NOT EXISTS att_scalar_devstring (
 COMMENT ON TABLE att_scalar_devstring IS 'Scalar String Values Table';
 CREATE INDEX IF NOT EXISTS att_scalar_devstring_att_conf_id_idx ON att_scalar_devstring (att_conf_id);
 CREATE INDEX IF NOT EXISTS att_scalar_devstring_att_conf_id_data_time_idx ON att_scalar_devstring (att_conf_id,data_time DESC);
-SELECT create_hypertable('att_scalar_devstring', 'data_time', chunk_time_interval => interval '1 day', create_default_indexes => FALSE);
+SELECT create_hypertable('att_scalar_devstring', 'data_time', chunk_time_interval => interval '28 day', create_default_indexes => FALSE);
 
 CREATE TABLE IF NOT EXISTS att_array_devstring (
     att_conf_id integer NOT NULL,
-    data_time timestamp with time zone NOT NULL,
+    data_time timestamp WITH TIME ZONE NOT NULL,
     value_r text[],
     value_w text[],
     quality smallint,
@@ -550,11 +550,11 @@ CREATE TABLE IF NOT EXISTS att_array_devstring (
 COMMENT ON TABLE att_array_devstring IS 'Array String Values Table';
 CREATE INDEX IF NOT EXISTS att_array_devstring_att_conf_id_idx ON att_array_devstring (att_conf_id);
 CREATE INDEX IF NOT EXISTS att_array_devstring_att_conf_id_data_time_idx ON att_array_devstring (att_conf_id,data_time DESC);
-SELECT create_hypertable('att_array_devstring', 'data_time', chunk_time_interval => interval '1 day', create_default_indexes => FALSE);
+SELECT create_hypertable('att_array_devstring', 'data_time', chunk_time_interval => interval '28 day', create_default_indexes => FALSE);
 
 CREATE TABLE IF NOT EXISTS att_scalar_devstate (
     att_conf_id integer NOT NULL,
-    data_time timestamp with time zone NOT NULL,
+    data_time timestamp WITH TIME ZONE NOT NULL,
     value_r integer,
     value_w integer,
     quality smallint,
@@ -568,11 +568,11 @@ CREATE TABLE IF NOT EXISTS att_scalar_devstate (
 COMMENT ON TABLE att_scalar_devstate IS 'Scalar State Values Table';
 CREATE INDEX IF NOT EXISTS att_scalar_devstate_att_conf_id_idx ON att_scalar_devstate (att_conf_id);
 CREATE INDEX IF NOT EXISTS att_scalar_devstate_att_conf_id_data_time_idx ON att_scalar_devstate (att_conf_id,data_time DESC);
-SELECT create_hypertable('att_scalar_devstate', 'data_time', chunk_time_interval => interval '1 day', create_default_indexes => FALSE);
+SELECT create_hypertable('att_scalar_devstate', 'data_time', chunk_time_interval => interval '28 day', create_default_indexes => FALSE);
 
 CREATE TABLE IF NOT EXISTS att_array_devstate (
     att_conf_id integer NOT NULL,
-    data_time timestamp with time zone NOT NULL,
+    data_time timestamp WITH TIME ZONE NOT NULL,
     value_r integer[],
     value_w integer[],
     quality smallint,
@@ -586,11 +586,11 @@ CREATE TABLE IF NOT EXISTS att_array_devstate (
 COMMENT ON TABLE att_array_devstate IS 'Array State Values Table';
 CREATE INDEX IF NOT EXISTS att_array_devstate_att_conf_id_idx ON att_array_devstate (att_conf_id);
 CREATE INDEX IF NOT EXISTS att_array_devstate_att_conf_id_data_time_idx ON att_array_devstate (att_conf_id,data_time DESC);
-SELECT create_hypertable('att_array_devstate', 'data_time', chunk_time_interval => interval '1 day', create_default_indexes => FALSE);
+SELECT create_hypertable('att_array_devstate', 'data_time', chunk_time_interval => interval '28 day', create_default_indexes => FALSE);
 
 CREATE TABLE IF NOT EXISTS att_scalar_devencoded (
     att_conf_id integer NOT NULL,
-    data_time timestamp with time zone NOT NULL,
+    data_time timestamp WITH TIME ZONE NOT NULL,
     value_r bytea,
     value_w bytea,
     quality smallint,
@@ -603,11 +603,11 @@ CREATE TABLE IF NOT EXISTS att_scalar_devencoded (
 COMMENT ON TABLE att_scalar_devencoded IS 'Scalar DevEncoded Values Table';
 CREATE INDEX IF NOT EXISTS att_scalar_devencoded_att_conf_id_idx ON att_scalar_devencoded (att_conf_id);
 CREATE INDEX IF NOT EXISTS att_scalar_devencoded_att_conf_id_data_time_idx ON att_scalar_devencoded (att_conf_id,data_time DESC);
-SELECT create_hypertable('att_scalar_devencoded', 'data_time', chunk_time_interval => interval '1 day', create_default_indexes => FALSE);
+SELECT create_hypertable('att_scalar_devencoded', 'data_time', chunk_time_interval => interval '28 day', create_default_indexes => FALSE);
 
 CREATE TABLE IF NOT EXISTS att_array_devencoded (
     att_conf_id integer NOT NULL,
-    data_time timestamp with time zone NOT NULL,
+    data_time timestamp WITH TIME ZONE NOT NULL,
     value_r bytea[],
     value_w bytea[],
     quality smallint,
@@ -620,13 +620,13 @@ CREATE TABLE IF NOT EXISTS att_array_devencoded (
 COMMENT ON TABLE att_array_devencoded IS 'Array DevEncoded Values Table';
 CREATE INDEX IF NOT EXISTS att_array_devencoded_att_conf_id_idx ON att_array_devencoded (att_conf_id);
 CREATE INDEX IF NOT EXISTS att_array_devencoded_att_conf_id_data_time_idx ON att_array_devencoded (att_conf_id,data_time DESC);
-SELECT create_hypertable('att_array_devencoded', 'data_time', chunk_time_interval => interval '1 day', create_default_indexes => FALSE);
+SELECT create_hypertable('att_array_devencoded', 'data_time', chunk_time_interval => interval '28 day', create_default_indexes => FALSE);
 
 -- The Enum tables are unique in that they store a value and text label for 
 -- each data point
 CREATE TABLE IF NOT EXISTS att_scalar_devenum (
     att_conf_id integer NOT NULL,
-    data_time timestamp with time zone NOT NULL,
+    data_time timestamp WITH TIME ZONE NOT NULL,
     value_r_label text,
     value_r smallint,
     value_w_label text,
@@ -642,11 +642,11 @@ CREATE TABLE IF NOT EXISTS att_scalar_devenum (
 COMMENT ON TABLE att_scalar_devenum IS 'Scalar Enum Values Table';
 CREATE INDEX IF NOT EXISTS att_scalar_devenum_att_conf_id_idx ON att_scalar_devenum (att_conf_id);
 CREATE INDEX IF NOT EXISTS att_scalar_devenum_att_conf_id_data_time_idx ON att_scalar_devenum (att_conf_id,data_time DESC);
-SELECT create_hypertable('att_scalar_devenum', 'data_time', chunk_time_interval => interval '1 day', create_default_indexes => FALSE);
+SELECT create_hypertable('att_scalar_devenum', 'data_time', chunk_time_interval => interval '28 day', create_default_indexes => FALSE);
 
 CREATE TABLE IF NOT EXISTS att_array_devenum (
     att_conf_id integer NOT NULL,
-    data_time timestamp with time zone NOT NULL,
+    data_time timestamp WITH TIME ZONE NOT NULL,
     value_r_label text[],
     value_r smallint[],
     value_w_label text[],
@@ -662,4 +662,5 @@ CREATE TABLE IF NOT EXISTS att_array_devenum (
 COMMENT ON TABLE att_array_devenum IS 'Array Enum Values Table';
 CREATE INDEX IF NOT EXISTS att_array_devenum_att_conf_id_idx ON att_array_devenum (att_conf_id);
 CREATE INDEX IF NOT EXISTS att_array_devenum_att_conf_id_data_time_idx ON att_array_devenum (att_conf_id,data_time DESC);
-SELECT create_hypertable('att_array_devenum', 'data_time', chunk_time_interval => interval '1 day', create_default_indexes => FALSE);
+SELECT create_hypertable('att_array_devenum', 'data_time', chunk_time_interval => interval '28 day', create_default_indexes => FALSE);
+
diff --git a/db-schema/users.sql b/db-schema/users.sql
new file mode 100644
index 0000000000000000000000000000000000000000..af066a66dcbbc5c7eace0d073e5ea4607bf0445a
--- /dev/null
+++ b/db-schema/users.sql
@@ -0,0 +1,27 @@
+-- Roles
+CREATE ROLE readonly;
+CREATE ROLE readwrite;
+
+-- Permissions - readonly
+GRANT CONNECT ON DATABASE hdb TO readonly;
+GRANT USAGE ON SCHEMA public TO readonly;
+GRANT SELECT ON ALL TABLES IN SCHEMA public TO readonly;
+ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT SELECT ON TABLES TO readonly;
+
+-- Permissions - readwrite
+GRANT CONNECT ON DATABASE hdb TO readwrite;
+GRANT USAGE ON SCHEMA public TO readonly;
+GRANT SELECT, INSERT, UPDATE, DELETE ON ALL TABLES IN SCHEMA public TO readwrite;
+ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT SELECT, INSERT, UPDATE, DELETE ON TABLES TO readwrite;
+GRANT USAGE ON ALL SEQUENCES IN SCHEMA public TO readwrite;
+ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT USAGE ON SEQUENCES TO readwrite;
+
+-- Users
+CREATE ROLE hdb_cfg_man WITH LOGIN PASSWORD 'hdbpp';
+GRANT readwrite TO hdb_cfg_man;
+
+CREATE ROLE hdb_event_sub WITH LOGIN PASSWORD 'hdbpp';
+GRANT readwrite TO hdb_event_sub;
+
+CREATE ROLE hdb_java_reporter WITH LOGIN PASSWORD 'hdbpp';
+GRANT readonly TO hdb_java_reporter;
\ No newline at end of file