Audit Log

Implement database audit logging

tools-only fa7a456 3 files · 2.9 KB Updated 7 repo stars

File contents

Database Audit Logger

Track database changes for compliance and debugging.

Audit Strategies

  1. Trigger-Based: Database triggers on INSERT/UPDATE/DELETE
  2. Application-Level: Log in application code
  3. CDC (Change Data Capture): Stream changes
  4. Database Logs: Parse database transaction logs

Audit Table Template

CREATE TABLE audit_log (
  id SERIAL PRIMARY KEY,
  table_name VARCHAR(100) NOT NULL,
  operation VARCHAR(10) NOT NULL,
  old_data JSONB,
  new_data JSONB,
  user_id INTEGER,
  timestamp TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);

-- Trigger example
CREATE OR REPLACE FUNCTION audit_trigger()
RETURNS TRIGGER AS $$
BEGIN
  INSERT INTO audit_log (table_name, operation, old_data, new_data)
  VALUES (TG_TABLE_NAME, TG_OP, row_to_json(OLD), row_to_json(NEW));
  RETURN NEW;
END;
$$ LANGUAGE plpgsql;

When Invoked

Generate audit logging implementation for compliance tracking.

tools-only/X-Skills/tree/main/development/1916-audit-log_6ca91f53 commit fa7a456b18

Frequently asked questions

npx skillmds add tools-only/audit-log