Issue
The Data Dashboard for Heroku Postgres instances shows commit activity, under the I/O section, even when the database is not being used.
Resolution
This is expected behaviour. Postgres treats each executed SQL statement as being implicitly wrapped in a transaction, so SELECT 1;
is treated as BEGIN; SELECT 1; COMMIT;
. As a result, each time a statement is executed successfully xact_commit
is incremented in pg_stat_database
, which is what we use to determine the commit activity. As our monitoring tooling executes queries to check the health of your database, there will be a baseline level of commits being recorded.