1916 Audit Log B740c581

Implement database audit logging

tools-only 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_b740c581 commit 5c9b4fc6c3

Frequently asked questions

npx skillmds@latest add tools-only/1916-audit-log-b740c581