Produkty
Historia zmian wierszy
Śledzenie INSERT/UPDATE/DELETE w wybranych tabelach — wartości przed i po, autor zmiany, retencja.
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
| Kolumna | Znaczenie |
|---|---|
op | INSERT, UPDATE, DELETE lub TRUNCATE |
record / old_record | wiersz po i przed zmianą (jsonb) |
record_id / old_record_id | klucz główny wiersza (jsonb, indeks GIN) — tabele bez klucza głównego są śledzone bez identyfikatora |
changed_by | identyfikator użytkownika Auth (sub z JWT), gdy zmiana przyszła przez API |
db_role | rola 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.