OK, but I'm not sure which example I should pick to add dirtied and written shared buffers. It looks kinda artificial. Should I choose one randomly?
It will be artificial, but I think that's ok: anyone running it on their own will be getting different numbers anyway. I was looking at the "14.1.2 EXPLAIN ANALYZE" section in perform.sgml. Here's some actual numbers I got with some playing around with concurrent updates: