Proposal: Track last-used timestamp for index usage - Mailing list pgsql-hackers

From Raghav Mittal
Subject Proposal: Track last-used timestamp for index usage
Date
Msg-id CA+dbf3gvWCeF8j_DBjtaPcNmm=E9d_Z7sPdaJRuanGfAw2Rvow@mail.gmail.com
Whole thread Raw
Responses Re: Proposal: Track last-used timestamp for index usage
Re: Proposal: Track last-used timestamp for index usage
List 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!

pgsql-hackers by date:

Previous
From: wenhui qiu
Date:
Subject: Re: Fix HAVING-to-WHERE pushdown with nondeterministic collations
Next
From: Lukas Fittl
Date:
Subject: Re: pg_plan_advice