CREATE TABLE IF NOT EXISTS event_log ( event_id BIGSERIAL PRIMARY KEY, aggregate_id UUID NOT NULL, event_type TEXT NOT NULL, payload JSONB NOT NULL, occurred_at TIMESTAMPTZ NOT NULL DEFAULT now() ); CREATE INDEX idx_event_log_aggregate ON event_log (aggregate_id); CREATE INDEX idx_event_log_type ON event_log (event_type); CREATE INDEX idx_event_log_occurred ON event_log (occurred_at);