Hello everybody,
this patch adds two counters to pg_stat_database to track temporary
files - number of temp files and number of bytes. I see this as a useful
feature, as temporary files often cause a lot of IO (because of low
work_mem etc.). The log_temp_files is useful, but you have to parse the
log and only temp files exceeding a size limit are logged so the actual
amount of I/O is unknown.
The patch is rather simple:
1) two new fields in PgStat_StatDBEntry (n_temp_files, n_temp_bytes)
2) report/recv function in pgstat.c
3) FileClose modified to log stats for all temp files (see below)
4) two new fields added to pg_stat_database (temp_files, temp_bytes)
I had to modify FileClose to call stat() on each temp file as this
should log all temp files (not just when log_temp_file >= 0). But the
impact of this change should be negligible, considering that the user is
already using temp files.
I haven't updated the docs yet - let's see if the patch is acceptable at
all first.
Tomas