PATCH: tracking temp files in pg_stat_database
Tomas Vondra <tv@fuzzy.cz>
From: Tomas Vondra <tv@fuzzy.cz>
To: pgsql-hackers@postgresql.org
Date: 2011-12-20T01:00:00Z
Lists: pgsql-hackers
Attachments
- stats-temp-files.diff (text/plain) patch
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