Re: n_ins_since_vacuum stats for aborted transactions
Sami Imseih <samimseih@gmail.com>
From: Sami Imseih <samimseih@gmail.com>
To: Mark Dilger <mark.dilger@enterprisedb.com>
Cc: "David G. Johnston" <david.g.johnston@gmail.com>,
Euler Taveira <euler@eulerto.com>, pgsql-hackers <pgsql-hackers@postgresql.org>
Date: 2025-04-09T19:39:32Z
Lists: pgsql-hackers
> If we went with your suggestion, I think the final n_ins_since_vacuum column would be 2. Do you think the n_tup_ins should also be 2? n_ins_since_vacuum should be 2 and n_tup_ins should be 100000. A user tracks how many inserts they performed with n_tup_ins to measure load/activity on the database. It's important to also include aborted transactions in this metric, n_ins_since_vacuum however is not used to measure database activity, but is used to drive autovacuum decisions. So, it has a different purpose. > Should those two columns differ? If so, why? They will differ because n_tup_ins keeps increasing, while n_ins_since_vacuum is reset after a vacuum. The issue I see is that n_ins_since_vacuum should only reflect the number of newly inserted rows that are eligible for freezing, as described in pgstat_report_vacuum [0] [0] https://github.com/postgres/postgres/blob/master/src/backend/utils/activity/pgstat_relation.c#L238-L247 -- Sami Imseih Amazon Web Services (AWS)
Commits
Same data as JSON:
GET /api/v1/messages/:b64id/commits
the thread's linked commits as JSON, with link sources.
API reference →
-
Add code comment explaining ins_since_vacuum and aborted inserts
- 530050d8d285 18.0 landed
-
Trigger autovacuum based on number of INSERTs
- b07642dbcd8d 13.0 cited