I’ve been exploring index usage statistics in PostgreSQL and noticed that pg_stat_user_indexes only provides cumulative counters (idx_scan), but not recency information.
Problem: - Counters reset on restart or pg_stat_reset() - No way to determine when an index was last used - Makes it hard to safely identify unused indexes
Proposal: Introduce lightweight tracking of last-used timestamp for indexes.
Possible approach: - Mark index usage in executor (cheap signal) - Background worker periodically updates last_used_at - Avoids overhead in query execution path
Questions: 1. Has this problem been explored before? 2. Are there known concerns with adding timestamp tracking to stats? 3. Would this be acceptable as an extension vs core feature?