I have noticed that all SELECT queries alone in a transaction also
update pg_stat_database (I know it's just a view that calls
pg_stat_get_db_xact_commit()).
Does that mean that SELECTs by themselves require a disk write? If so,
is that a synchronous disk write? Is it due to something else entirely
(like autovacuum or the statistics collector)?
Also, is there a way to retrieve the current transaction id?
Thanks,
Jeff Davis