From: Darold Gilles Date: Thu, 3 Dec 2015 14:56:52 +0000 (+0100) Subject: Fix missing detailed information (date, db, etc.) in Queries generating the largest... X-Git-Tag: v7.2~3 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=a60363a0b05d9732502705147d635856eff8afa0;p=pgbadger Fix missing detailed information (date, db, etc.) in Queries generating the largest temporary files report. --- diff --git a/pgbadger b/pgbadger index d5b64c1..bafc9c1 100755 --- a/pgbadger +++ b/pgbadger @@ -10088,12 +10088,12 @@ sub parse_query $cur_cancel_info{$t_pid}{count}++; if ($format eq 'csv') { $cur_cancel_info{$t_pid}{query} = $prefix_vars{'t_statement'}; - $cur_cancel_info{$t_pid}{timestamp} = $prefix_vars{'t_timestamp'}; - $cur_cancel_info{$t_pid}{dbname} = $prefix_vars{'t_dbname'}; - $cur_cancel_info{$t_pid}{dbuser} = $prefix_vars{'t_dbuser'}; - $cur_cancel_info{$t_pid}{dbclient} = $prefix_vars{'t_client'} || $prefix_vars{'t_dbclient'}; - $cur_cancel_info{$t_pid}{dbappname} = $prefix_vars{'t_appname'}; } + $cur_cancel_info{$t_pid}{timestamp} = $prefix_vars{'t_timestamp'}; + $cur_cancel_info{$t_pid}{dbname} = $prefix_vars{'t_dbname'}; + $cur_cancel_info{$t_pid}{dbuser} = $prefix_vars{'t_dbuser'}; + $cur_cancel_info{$t_pid}{dbclient} = $prefix_vars{'t_client'} || $prefix_vars{'t_dbclient'}; + $cur_cancel_info{$t_pid}{dbappname} = $prefix_vars{'t_appname'}; } } @@ -10230,14 +10230,16 @@ sub parse_query $overall_stat{'peak'}{$cur_last_log_timestamp}{tempfile_count}++; if ($format eq 'csv') { $cur_temp_info{$t_pid}{query} = $prefix_vars{'t_statement'}; + } elsif ($filepath =~ /\.\d+"$/) { + # Temporary store the current request to keep temporary file query in memory + $cur_temp_info{$t_pid}{query} = $cur_info{$t_pid}{statement} || $cur_info{$t_pid}{query} if (!exists $cur_temp_info{$t_pid}{query}); + } + if (!exists $cur_temp_info{$t_pid}{timestamp}) { $cur_temp_info{$t_pid}{timestamp} = $prefix_vars{'t_timestamp'}; $cur_temp_info{$t_pid}{dbname} = $prefix_vars{'t_dbname'}; $cur_temp_info{$t_pid}{dbuser} = $prefix_vars{'t_dbuser'}; $cur_temp_info{$t_pid}{dbclient} = $prefix_vars{'t_client'} || $prefix_vars{'t_dbclient'}; $cur_temp_info{$t_pid}{dbappname} = $prefix_vars{'t_appname'}; - } elsif ($filepath =~ /\.\d+"$/) { - # Temporary store the current request to keep temporary file query in memory - $cur_temp_info{$t_pid}{query} = $cur_info{$t_pid}{statement} || $cur_info{$t_pid}{query} if (!exists $cur_temp_info{$t_pid}{query}); } return; }