| From: | Raghav Mittal <mittalr086(at)gmail(dot)com> |
|---|---|
| To: | pgsql-hackers(at)postgresql(dot)org |
| Subject: | Proposal: Track last-used timestamp for index usage |
| Date: | 2026-04-01 02:22:49 |
| Message-ID: | CA+dbf3gvWCeF8j_DBjtaPcNmm=E9d_Z7sPdaJRuanGfAw2Rvow@mail.gmail.com |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-hackers |
Hi all,
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?
Happy to prototype this if there’s interest.
Thanks!
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Lukas Fittl | 2026-04-01 02:25:04 | Re: pg_plan_advice |
| Previous Message | wenhui qiu | 2026-04-01 02:19:09 | Re: Fix HAVING-to-WHERE pushdown with nondeterministic collations |