Products

Historia zmian wierszy

Śledzenie INSERT/UPDATE/DELETE w wybranych tabelach — wartości przed i po, autor zmiany, retencja.

This page is available in Polish only for now. The commands, code and API calls below are the same in every language — an English translation is on its way. Open the Polish page

Historia zmian zapisuje każdą zmianę wiersza w wybranych tabelach do audit.record_version — model zgodny z supa_audit. Włączasz ją per tabela w Baza danych → Historia zmian (właściciel lub admin organizacji).

Co jest zapisywane

KolumnaZnaczenie
opINSERT, UPDATE, DELETE lub TRUNCATE
record / old_recordwiersz po i przed zmianą (jsonb)
record_id / old_record_idklucz główny wiersza (jsonb, indeks GIN) — tabele bez klucza głównego są śledzone bez identyfikatora
changed_byidentyfikator użytkownika Auth (sub z JWT), gdy zmiana przyszła przez API
db_rolerola bazy (authenticated, service_role, postgres…)

W edytorze tabel zaznacz jeden wiersz i kliknij Historia zmian, aby zobaczyć jego wersje z porównaniem pól. Przycisk Historia na pasku narzędzi pokazuje ostatnie zmiany całej tabeli.

-- ostatnie zmiany zamówienia 42
select op, ts, changed_by, old_record, record
from audit.record_version
where table_name = 'orders' and (record_id ->> 'id' = '42' or old_record_id ->> 'id' = '42')
order by id desc;

Retencja i koszt

Każda zmiana to jeden dodatkowy INSERT. Retencja (np. 90 dni) usuwa starsze wersje codziennie o 3:17 zadaniem pg_cron hostbase-audit-retention. Wyłączenie śledzenia usuwa triggery, ale zachowuje zapisaną historię. Do logowania wykonywanych instrukcji (a nie wartości) służy pgaudit.