record tele topic and content
[rtl433-sensors] / tele.sql
diff --git a/tele.sql b/tele.sql
new file mode 100644 (file)
index 0000000..30a7a1d
--- /dev/null
+++ b/tele.sql
@@ -0,0 +1,23 @@
+drop table tele;
+create table tele (
+       _id serial,
+       time timestamp without time zone default now(),
+       topic text not null,
+       json jsonb
+);
+
+CREATE OR REPLACE FUNCTION json_tele_fn()
+  RETURNS TRIGGER AS
+$func$
+BEGIN
+   NEW := jsonb_populate_record(NEW, NEW.json); -- or hstore alternative
+   NEW.time = NEW.json->'Time';
+   RETURN NEW;
+END
+$func$ LANGUAGE plpgsql;
+
+CREATE TRIGGER json_tele_trigger
+BEFORE INSERT OR UPDATE ON tele FOR EACH ROW
+EXECUTE PROCEDURE json_tele_fn();
+
+