本文へ移動

pgBadger 10.x リリース ノート

pgBadger 10.x シリーズの完全なアップストリーム リリース ノート

これらのエントリは、pgBadger 10.x の完全なアップストリーム変更レコードを最新のものから順に保存します。

v10.3 · 2019-02-14

pgBadger のこのリリースは、ログ形式の自動検出の問題とユーザーから報告された別の pgBouncer ログ解析の問題を修正するメンテナンス リリースです。新しい機能もあります。

-o | --outfileオプションを複数回指定し、1つのコマンドで複数の形式を出力できるようになりました。例:
    pgbadger -o out.html -o out.json /log/pgsql-11.log
HTMLとJSONの2つのレポートが生成され、対応する2つのファイルに保存されます。

いくつかのバグ修正と機能強化もあります。

  • データベース、ユーザー、クライアント、またはアプリケーションに関するフィルターが要求された場合の統計レポートを修正します。一部のクエリは報告されませんでした。
  • pg>=10 のデフォルトのログ行プレフィックスの自動検出を修正しました。
  • 「非標準」ログ行プレフィックスを持つログ ファイルの自動検出を修正します。 –prefix で %t、%m、%n、および %p または %c を指定する場合は、形式を stderr に設定します。レポートを提供してくれた Alex Danvy に感謝します。
  • 行末の余分なスペースを削除します。
  • syslog パーサーに最小限のテストを追加します。
  • autodetect_format() の呼び出しを修正します。
  • maxlength が使用されている場合の Truncate ステートメント。パッチを提供してくれた Thibaud Madelaine に感謝します。
  • 複数の出力形式のテストを追加します。
  • -o | –outfileオプションを複数回指定し、1つのコマンドで複数の形式を出力できるようになりました。例: pgbadger -o out.txt -o out.html -o - -x json /log/pgsql-11.log この例では、pgbadgerはテキストとHTMLの2つのレポートを生成し、対応する2つのファイルに保存します。さらに、標準出力にJSONレポートを出力します。機能を要望してくださったNikolayに感謝します。
  • 出力フォーマットの検出と出力ファイル名の設定を専用関数 set_output_extension() に移動します。
  • 別の pgBouncer ログ解析の問題を修正します。レポートを提供してくれた Douglas J. Hunley に感謝します。

v10.2 · 2018-12-27

pgBadger のこのリリースは、過去 3 か月間にユーザーから報告された問題を修正するメンテナンス リリースです。いくつかの新機能もあります。

  • pgbouncer 1.8 統計ログ形式のサポートを追加します。
  • JavaScript グラフのタイムゾーンを自動調整します。

新しいコマンド ライン オプションがあります。

  • –exclude-db オプションを追加して、指定したデータベース以外のすべてに関するレポートを計算します。

  • http または ftp リモート PostgreSQL ログ ファイルのダウンロードのサポートを追加します。ログ ファイルは、curl コマンドを使用したダウンロード中に解析され、ディスクには保存されません。 SSH リモート ログ解析では、コマンド ライン引数として uri を使用して、PostgreSQL ログ ファイルを指定できます。 ssh://localhost/postgresql-10-main.log http://localhost/postgresql-10-main.log.gz ftp://localhost/postgresql-10-main.log

    http および ftp プロトコルでは、uri の最後にログ ファイル形式を指定する必要があります。

        http://localhost/postgresql-10-main.log:stderr
    

    解析するログ ファイルに対して複数の URI を指定できます。これは、リモート ホストに pgbouncer ログ ファイルがあり、ローカル ホストに PostgreSQL ログがある場合に便利です。

    ssh プロトコルでは、リモート モードと同様にワイルド カードも使用できます。例: ssh://localhost/postgresql-10-main.log*

    -r オプションを使用してリモート ログ ファイルを解析する古い構文はまだ機能していますが、廃止されており、将来のバージョンでは削除される可能性があります。

いくつかのバグ修正と機能強化もあります。

  • 推定サイズのファイル (bz2 圧縮ファイルおよびリモート圧縮ファイル) で進行状況バーの終わりを調整します。
  • 著作権の年を更新します。
  • リモート ログ ファイルを解析するための URI 表記に関する情報を追加します。
  • 圧縮されたリモート ファイルの解析の終了時に進行状況が 100% に到達するように強制します。
  • 一時ファイル レポートのクエリ内の PL/pgSQL 関数呼び出しに関する情報を抽出します。情報は詳細表示ブロックに追加されます。
  • csv ファイルの進行状況バーを修正しました。
  • ログ ファイルではなく入力ファイルとしてバイナリ ファイルを読み取る問題を修正しました。
  • クエリーのHTML出力をUTF8にエンコードし、「Wide character in print」メッセージが出ないようにしました。報告してくださったColin ’t Hartに感謝します。
  • Add チェックポイント距離キー/距離ピークの値。
  • pgbouncer の解析とリクエスト スループット レポートを修正します。 Levente Birta さんのレポートに感謝します。
  • 入力形式として csv ではなく csvlog の使用を修正しました。
  • pgbouncer 1.8 統計ログ形式のサポートを追加します。 Levente Birta さんのレポートに感謝します。
  • csvlog で無効になっている並列処理に関する警告を追加します。 cstdenis さん、レポートありがとうございます。
  • -j および -J オプションの csvlog 形式による単一プロセスの強制に関する使用状況出力に情報を追加します。 cstdenis さん、レポートありがとうございます。
  • SSH 経由の増分分析中の複数行ログの不明な行形式エラーを修正します。 Wooyoung Cho さん、レポートありがとうございます。
  • -k (–insecure) オプションをcurl コマンドに追加して、自己署名証明書を使用してサーバーからログをダウンロードできるようにします。
  • JavaScript グラフのタイムゾーンを自動調整します。機能リクエストをくださった Massimino Sala に感謝します。
  • pgBadgerによるHTTP経由のログファイルのダウンロードに対応しました。例: /usr/bin/pgbadger http://www.mydom.com/postgresql-10.log
  • curl コマンドを使用してダウンロード中にファイルを解析します。
  • ドキュメントを修正します。パッチを提供してくれた 0xflotus に感謝します。
  • 追加のコードをクリーンアップした後、バインド パラメーターの置換が欠落している問題の修正を再適用します。レポートを提供してくれた Bernhard J. M. Grun に感謝します。
  • –exclude-db オプションを追加して、指定したデータベース以外のすべてに関するレポートを計算します。このオプションは複数回使用できます。

v10.1 · 2018-09-12

pgBadger のこのリリースは、増分モードおよび -j オプションを使用したマルチプロセスでのレポートを修正するメンテナンス リリースです。標準入力からのログ解析も壊れていました。 v10.0 を使用している場合は、今すぐアップグレードしてください。

  • pgbouncer ログ パーサーにテストを追加します。
  • いくつかの小さなパフォーマンスの改善。
  • pgbadger 行 12314 にある有効なファイル記述子ではない問題を修正しました。
  • 起動時のプログレスバーにある不要な改行を修正しました。
  • circleci ファイルをプロジェクトから削除します。
  • テスト スイートの Bats と jq の依存関係を削除し、Test::Simple と JSON::XS に置き換えます。
  • リリース 10.0 で壊れたインクリメンタル モードと標準入力からの入力に特にテストを追加します。
  • pgbadger、ポッド、および README を同期し、いくつかの構文エラーを修正します。パッチを提供してくれた Christoph Berg に感謝します。
  • Perl モジュール JSON::XS を apt および yum リポジトリからインストールする方法に関するドキュメントを追加します。
  • インクリメンタル モードで CSS の URI を修正します。報告してくれた Floris van Nee に感謝します。
  • STDIN からログを検索する際の致命的なエラーを修正しました。レポートを提供してくれた Jacek Szpot に感謝します。
  • OSX ビルドで使用される SED を修正します。パッチを提供してくれた Steve Newson に感謝します。
  • 増分モードでの不正なゼロ除算を修正しました。 aleszeleny さん、レポートありがとうございます。
  • SQL::Beautify を pgFormatter::Beautify の v3.1 に置き換えます。

v10.0 · 2018-09-09

pgBadger のこのリリースは、いくつかの新機能を追加し、前回のリリース以降にユーザーから報告されたすべての問題を修正するメジャー リリースです。

  • pgbouncer syslog ログ ファイル形式のサポートを追加します。
  • すべての auto_explain 形式 (text、xml、json、yaml) へのサポートを追加します。
  • log_line_prefix の %q プレースホルダーへのサポートを追加します。
  • Michael Paquier 拡張機能の jsonlog 形式を追加します。-f jsonlog pgbadger を使用すると、ログを解析できるようになります。
  • SQL フォーマッタ/整形を pgFormatter の v3.0 に置き換えます。

新しいコマンドライン オプションがいくつかあります。

  • JSON 出力を整形するために –prettify-json コマンド ライン オプションを追加します。
  • –log-timezone +/-XX コマンド ライン オプションを追加して、解析される前にログ ファイルから読み取られる日付/時刻を調整するために使用する必要があるタイムゾーンの GMT からの時間数を設定します。クライアントのタイムゾーンが同じでない場合でも、-Z を使用してグラフのタイムゾーンを調整する必要がある場合があることに注意してください。
  • –include-time オプションを追加すると、表示したくない時間をすべて除外するのではなく、表示したい時間を選択できるようになります (–exclude-time)。

pgBadger プロジェクトと著作権は、Dalibo からプロジェクトの作成者および公式メンテナーに譲渡されました。リンクを更新してください:

ここ数年間、pgBadger に投資してくれた Dalibo の偉い人たち、特に pgBadger の推進に協力してくれた Damien Clochard と Jean-paul argudo に感謝したいと思います。

  • 増分モードでレポートされないチェックポイント距離と推定値を修正しました。 aleszeleny さん、レポートありがとうございます。
  • pgbouncer 同時セッション レポートのタイトルを修正しました。レポートを提供してくれた Jehan Guillaume De Rorthais に感謝します。
  • pgbouncer syslog ログ ファイル形式のサポートを追加します。機能リクエストをくださった djester に感謝します。
  • リモート ログが空の場合のエラーを修正しました。レポートを提供してくれた Parasit Hendersson に感謝します。
  • バイナリ形式でテストを修正します。バイナリ ファイルはプラットフォームに依存するため、生成する必要があります。レポートを提供してくれた Michal Nowak に感謝します。
  • 空の Explain プランが生成されるケースを修正しました。
  • コマンド ラインでプレフィックスを使用して自動検出されたデフォルト形式の解析を修正しました。
  • Makefile 内の git コマンドの依存関係を削除します。PL。
  • オプションの変更に関するドキュメントを更新し、必須のプレフィックスの [%l-1] 部分を削除します。
  • バキュームの解析を修正し、PostgreSQL 10 のシステム使用状況を分析します。パッチを提供してくれた Achilleas Mantzios に感謝します。
  • 一時ファイルアクティビティテーブルを修正しました。
  • インストール中に git への依存関係を削除します。
  • –log-timezone +/-XX コマンド ライン オプションを追加して、解析される前にログ ファイルから読み取られる日付/時刻を調整するために使用する必要があるタイムゾーンの GMT からの時間数を設定します。このオプションを使用すると、ログ内の時間が同じにならないため、日付/時刻を使用したログ検索がより困難になります。クライアントのタイムゾーンが同じでない場合でも、-Z を使用してグラフのタイムゾーンを調整する必要がある場合があることに注意してください。機能リクエストの xdexter とパッチの Julien Tachoire に感謝します。
  • auto_explain json 出力形式へのサポートを追加します。 dmiusさん、レポートありがとうございます。
  • auto_explain パーサーと 2 回カウントされていたクエリを修正しました。 zam6ak さん、レポートありがとうございます。
  • PostgreSQL 10 ログ メッセージと一致するようにチェックポイント正規表現を修正します。パッチを提供してくれた Edmund Horner に感謝します。
  • -f の説明を更新 | –format オプションに jsonlog 形式に関する情報を追加します。
  • バインド クエリと重複しないようにクエリの正規化を修正しました。値の正規化は単一の ? に変換されるようになりました。数値の 0 はなくなり、文字列の場合は 2 つの一重引用符が使用されます。 vadv さん、レポートありがとうございます。
  • ログレベル数を修正します。レポートを提供してくれた Jean-Christophe Arnu に感謝します
  • pgbadger を B::Lint のベア サブ名との互換性を高めます。
  • perlcritic を幸せにしました。
  • JSON 出力を整形するために –prettify-json コマンド ライン オプションを追加します。デフォルトの出力はすべて 1 行です。
  • Fix イベント配布レポート。
  • log_line_prefix に複数の %% が含まれる場合の –prefix のバグを修正します。 svb007 さん、ご報告ありがとうございます。
  • –log-timezone +/-XX コマンド ライン オプションを追加して、解析される前にログ ファイルから読み取られる日付/時刻を調整するために使用する必要があるタイムゾーンの GMT からの時間数を設定します。このオプションを使用すると、ログ内の時間が同じにならないため、日付/時刻を使用したログ検索がより困難になります。クライアントのタイムゾーンが同じでない場合でも、-Z を使用してグラフのタイムゾーンを調整する必要がある場合があることに注意してください。機能リクエストをくださった xdexter に感謝します。
  • キーワード リストから INDEXES を削除し、このリストに BUFFERS を追加します。
  • カーソルを使用したクエリの正規化を修正しました。
  • Dockerfile と docker run に関するドキュメントを削除します。 pgBadger は依存関係のない単一の Perl スクリプトとして提供され、任意のプラットフォームで使用できます。 docker を使用して pgbadger を実行するのはナンセンスです。何もインストールしたくない場合は、ファイル pgbadger を必要な場所にコピーして実行するだけです。
  • 一時ファイルのアクティビティがないときに壊れたグリッドを修正しました。パッチを提供してくれた Pierre Giraud に感謝します
  • log_in_duration_statement と log_duration + log_statement に関するドキュメント警告を追加します。パッチを提供してくれた Julien Tachoire に感謝します。
  • タイムゾーン オフセットを棒グラフに適用します。パッチを提供してくれた Julien Tachoire に感謝します。
  • 同じ PID のエラーが発生した場合は、現在の一時ファイル情報を削除します。パッチを提供してくれた Julien Tachoire に感謝します。
  • 例では一貫して app= を使用し、appname= をサポートします。使用例の一部ではプレフィックスに appname= が使用されていましたが、コードはそのトークンを認識しませんでした。すべての例で app= を使用し、プレフィックス パーサーに appname= を追加します。パッチを提供してくれた Christoph Berg に感謝します
  • オプション -J の間違った長い名前を修正し、–job_per_file. ではなく –Jobs にする必要がありました。レポートを提供してくれた Chad Trabant とパッチを提供してくれた Etienne Bersac に感謝します。
  • blib ファイルを無視します。パッチを提供してくれた Etienne Bersac に感謝します。
  • 整合性テストを追加します。パッチを提供してくれた damien clochard に感謝します。
  • doc の更新: stderr は -f. のデフォルトではありません。パッチを提供してくれた Christophe Courtois に感謝します。
  • ポッドと README を常に更新します。パッチを提供してくれた Etienne Bersac に感謝します。
  • いくつかの回帰テストを追加します。パッチを提供してくれた Etienne Bersac に感謝します。
  • editorconfig 構成を追加します。パッチを提供してくれた Etienne Bersac に感謝します。
  • gitignore から vi 一時ファイルをドロップします。パッチを提供してくれた Etienne Bersac に感謝します。
  • –include-time オプションを追加すると、表示したくない時間をすべて除外するのではなく、表示したい時間を選択できるようになります。これは、1 週間分のログから 1 日または 2 日だけを表示したい場合に便利です (複数の –exlucde-time オプションから 1 つの –include-time に簡素化されます)。パッチを提供してくれた Wesley Bowman に感謝します。
  • ポッドの構文を確認します。パッチを提供してくれた Etienne Bersac に感謝します。
  • ドキュメント テストに HACKING を追加します。パッチを提供してくれた Etienne Bersac に感謝します。
  • 廃止された –bar-graph オプションを削除します。パッチを提供してくれた Etienne Bersac に感謝します。
  • 誤解を招く .perltidyrc を削除します。このファイルの日付は 2012 であり、pgbadger コードは準拠とは程遠いものです。 perltidy の統合差分は 10k 行です。これを落としましょう。パッチを提供してくれた Etienne Bersac に感謝します。
  • SQL 形式での初期化されていない値の使用を修正しました。レポートを提供してくれた John Krugger と、レポートを提供してくれた Jean-paul Argudo に感謝します。