Hello! blk_read_time and blk_write_time doesn't seem to work, they show 0 to me even after some workloads, and I don't see any assignments in the code. The testcase also checks for "blk_read_time >= 0" which trivially succeeds.
blocks_fetched is also misleading, it includes both reads and cache hits. pg_stat_database calls this column blocks_read, and properly substracts blocks_hit from it. + rel->pgstat_info->reltablespace = rel->rd_locator.spcOid; Shouldn't this be included in TwoPhasePgStatRecord / pgstat_twophase_postcommit?
