uns-log — Change Logger

Logs snapshot rows to PostgreSQL when any UNS topic value changes.

LanguageGo
TypeHTTP function
Scaffolded withfnkit go
Depends onValkey, PostgreSQL

What It Does

Compares current vs previous values. When any value changes, inserts a complete snapshot row into PostgreSQL. Unchanged values copied forward.

PostgreSQL Table

CREATE TABLE IF NOT EXISTS uns_log (
  id BIGSERIAL PRIMARY KEY, logged_at TIMESTAMPTZ DEFAULT NOW(),
  enterprise TEXT, site TEXT, area TEXT, line TEXT, tag TEXT,
  values JSONB NOT NULL, changed TEXT[] NOT NULL );

Quick Start

cd uns-log && cp .env.example .env && docker compose up -d
curl http://localhost:8080/uns-log | jq