Jeff Davis wrote:
> 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()).
The stuff in the stats collector is not stored on disk. Or, rather, it
is, but not in the same way as regular tables; in particular, it's not
fsynced.
> Also, is there a way to retrieve the current transaction id?
Some people like to write a C function calling GetTopTransactionId() to
get it. If you want it for a quick experiment, you can create a temp
table and examine pg_class.xmin for that table.
--
Alvaro Herrera http://www.CommandPrompt.com/
The PostgreSQL Company - Command Prompt, Inc.