-- Herkunft jeder Sitzung (Mod oder Log-Fallback), damit sich beide Quellen nicht doppeln ALTER TABLE sessions ADD COLUMN source text NOT NULL DEFAULT 'push'; -- Zeitpunkt der Beobachtung des aktuellen Namens: verspätete ältere Ereignisse ändern ihn nicht mehr ALTER TABLE players ADD COLUMN name_seen_at timestamptz; UPDATE players p SET name_seen_at = (SELECT max(seen_at) FROM name_history h WHERE h.uuid = p.uuid AND h.name = p.name); -- "letzte Aktualisierung" ohne Tabellenscan CREATE INDEX events_received ON events (received_at DESC);