Implementing history of PostgreSQL table
I managed to implement it.
CREATE TABLE "ps_counters_history"( "id" serial PRIMARY KEY, "timestamp" timestamp NOT NULL DEFAULT clock_timestamp(), "psid" integer NOT NULL, "counter" bigint[] NOT NULL);CREATE OR REPLACE FUNCTION ps_counters_history_trigger() RETURNS trigger AS$BODY$ DECLARE table_name text; BEGIN table_name := 'ps_counters_history_' || to_char(CURRENT_DATE, 'yyyy_mm'); IF NOT EXISTS (SELECT 1 FROM pg_class WHERE relname = table_name) THEN EXECUTE 'CREATE TABLE IF NOT EXISTS ' || table_name || ' () INHERITS (ps_counters_history);'; END IF; EXECUTE 'INSERT INTO ' || table_name || '(psid, counter) VALUES ($1.psid, $1.counter);' USING NEW; RETURN NEW; END$BODY$ LANGUAGE plpgsql;CREATE TRIGGER ps_counters_history_triggerAFTER INSERT OR UPDATE ON ps_counters FOR EACH ROWEXECUTE PROCEDURE ps_counters_history_trigger();