pgBadger 10.xリリースノート
v10.3 · 2019-02-14
pgBadgerのこのリリースは、ログ形式の自動検出の問題とユーザーから報告された別のpgBouncerログ解析の問題を修正するメンテナンスリリースです。新しい機能もあります。
-o | --outfile オプションを複数回指定し、一つのコマンドで複数の形式を出力できるようになりました。例:
pgbadger -o out.html -o out.json /log/pgsql-11.log
HTMLとJSONの二つのレポートが生成され、対応する二つのファイルに保存されます。
いくつかのバグ修正と機能強化もあります。
- データベース、ユーザー、クライアント、またはアプリケーションに関するフィルターが要求された場合の統計レポートを修正しました。一部のクエリーは報告されませんでした。
- pg>=10のデフォルトのログ行プレフィックスの自動検出を修正しました。
- 「非標準」ログ行プレフィックスを持つログファイルの自動検出を修正しました。 –prefix で時刻(%t、%m、%nのいずれか)とプロセス(%pまたは%c)を指定する場合は、形式をstderrに設定します。報告してくださったAlex Danvyに感謝します。
- 行末の余分なスペースを削除しました。
- syslogパーサーに最小限のテストを追加しました。
- autodetect_format()の呼び出しを修正しました。
- maxlengthが使用されている場合にステートメントを切り詰めます。パッチを提供してくださった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に感謝します。
- チェックポイント距離のキー/値を距離ピーク用に追加しました。
- pgbouncerの解析とリクエストスループットレポートを修正しました。 報告してくださったLevente Birtaに感謝します。
- 入力形式としてcsvではなくcsvlogの使用を修正しました。
- pgbouncer 1.8統計ログ形式のサポートを追加しました。 報告してくださったLevente Birtaに感謝します。
- csvlogで無効になっている並列処理に関する警告を追加しました。 報告してくださったcstdenisに感謝します。
- -jおよび -Jオプションのcsvlog形式による単一プロセスの強制に関する使用状況出力に情報を追加しました。 報告してくださったcstdenisに感謝します。
- SSH経由の増分分析中の複数行ログに関する「unknown line format」エラーを修正しました。 報告してくださった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ログパーサーにテストを追加しました。
- いくつかの小さなパフォーマンスの改善。
- 「not a valid file descriptor at pgbadger line 12314」の問題を修正しました。
- 起動時のプログレスバーにある不要な改行を修正しました。
- circleciファイルをプロジェクトから削除しました。
- テストスイートのBatsとjqの依存関係を削除し、Test::SimpleとJSON::XSに置き換えました。
- リリース10.0で壊れた増分モードと標準入力からの入力に特にテストを追加しました。
- pgbadger、POD、およびREADMEを同期し、いくつかの構文エラーを修正しました。パッチを提供してくださったChristoph Bergに感謝します。
- PerlモジュールJSON::XSをaptおよびyumリポジトリからインストールする方法に関するドキュメントを追加しました。
- 増分モードでCSSのURIを修正しました。報告してくださったFloris van Neeに感謝します。
- STDINからログを検索する際の致命的なエラーを修正しました。報告してくださったJacek Szpotに感謝します。
- OSXビルドで使用されるSEDを修正しました。パッチを提供してくださったSteve Newsonに感謝します。
- 増分モードでの「illegal division by zero」エラーを修正しました。 報告してくださった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形式を追加しました。pgbadgerに-f jsonlogを指定すると、ログを解析できるようになります。
- SQLフォーマッタ/整形をpgFormatterのv3.0に置き換えました。
新しいコマンドラインオプションがいくつかあります。
- JSON出力を整形するために –prettify-json コマンドラインオプションを追加しました。
- –log-timezone +/-XXコマンドラインオプションを追加して、解析される前にログファイルから読み取られる日付/時刻を調整するために使用する必要があるタイムゾーンのGMTからの時間数を設定します。クライアントのタイムゾーンが同じでない場合でも、-Zを使用してグラフのタイムゾーンを調整する必要がある場合があることに注意してください。
- –include-time オプションを追加すると、表示したくない時間をすべて除外するのではなく、表示したい時間を選択できるようになります(–exclude-time)。
pgBadgerプロジェクトと著作権は、Daliboからプロジェクトの作成者および公式メンテナーに譲渡されました。リンクを更新してください:
- Webサイト: http://pgbadger.darold.net/
- ソースコード: https://github.com/darold/pgbadger
ここ数年間、pgBadgerに投資してくれたDaliboの素晴らしい皆さん、特にpgBadgerの推進に協力してくれたDamien ClochardとJean-paul argudoに感謝したいと思います。
- 増分モードでレポートされないチェックポイント距離と推定値を修正しました。 報告してくださったaleszelenyに感謝します。
- pgbouncer同時セッションレポートのタイトルを修正しました。報告してくださったJehan Guillaume De Rorthaisに感謝します。
- pgbouncer syslogログファイル形式のサポートを追加しました。機能を要望してくださったdjesterに感謝します。
- リモートログが空の場合のエラーを修正しました。報告してくださったParasit Henderssonに感謝します。
- バイナリ形式でテストを修正しました。バイナリファイルはプラットフォームに依存するため、生成する必要があります。報告してくださったMichal Nowakに感謝します。
- 空のExplainプランが生成されるケースを修正しました。
- コマンドラインでプレフィックスを使用して自動検出されたデフォルト形式の解析を修正しました。
- Makefile.PL内のgitコマンドへの依存を削除しました。
- オプションの変更に関するドキュメントを更新し、必須のプレフィックスの [%l-1]部分を削除しました。
- バキュームの解析を修正し、PostgreSQL 10のvacuum・analyzeのリソース使用状況の解析を修正しました。パッチを提供してくださった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行です。
- イベント分布レポートを修正しました。
- log_line_prefixに複数の%%が含まれる場合の –prefix のバグを修正しました。 報告してくださったsvb007に感謝します。
- –log-timezone +/-XXコマンドラインオプションを追加して、解析される前にログファイルから読み取られる日付/時刻を調整するために使用する必要があるタイムゾーンのGMTからの時間数を設定します。このオプションを使用すると、ログ内の時間が同じにならないため、日付/時刻を使用したログ検索がより困難になります。クライアントのタイムゾーンが同じでない場合でも、-Zを使用してグラフのタイムゾーンを調整する必要がある場合があることに注意してください。機能を要望してくださったxdexterに感謝します。
- キーワードリストからINDEXESを削除し、このリストにBUFFERSを追加しました。
- カーソルを使用したクエリーの正規化を修正しました。
- Dockerfileとdocker runに関するドキュメントを削除しました。 pgBadgerは依存関係のない単一のPerlスクリプトとして提供され、任意のプラットフォームで使用できます。 dockerを使用してpgbadgerを実行するのはナンセンスです。何もインストールしたくない場合は、ファイルpgbadgerを必要な場所にコピーして実行するだけです。
- 一時ファイルのアクティビティがないときに壊れたグリッドを修正しました。パッチを提供してくださったPierre Giraudに感謝します
- log_min_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に感謝します。
- ドキュメント更新: stderrは-fのデフォルトではありません。パッチを提供してくださったChristophe Courtoisに感謝します。
- PODとREADMEを常に更新しました。パッチを提供してくださったEtienne Bersacに感謝します。
- いくつかの回帰テストを追加しました。パッチを提供してくださったEtienne Bersacに感謝します。
- editorconfig構成を追加しました。パッチを提供してくださったEtienne Bersacに感謝します。
- gitignoreからvi一時ファイルを削除しました。パッチを提供してくださったEtienne Bersacに感謝します。
- –include-time オプションを追加すると、表示したくない時間をすべて除外するのではなく、表示したい時間を選択できるようになります。これは、1週間分のログから1日または2日だけを表示したい場合に便利です(複数の –exclude-time オプションから1つの –include-time に簡素化されます)。パッチを提供してくださったWesley Bowmanに感謝します。
- PODの構文を確認します。パッチを提供してくださったEtienne Bersacに感謝します。
- ドキュメントテストにHACKINGを追加しました。パッチを提供してくださったEtienne Bersacに感謝します。
- 廃止された –bar-graph オプションを削除しました。パッチを提供してくださったEtienne Bersacに感謝します。
- 誤解を招く.perltidyrcを削除しました。このファイルは2012年のものであり、pgbadgerコードはその規則にほど遠い状態です。perltidyのunified diffは10k行に及ぶため、削除しました。パッチを提供してくださったEtienne Bersacに感謝します。
- SQL形式での初期化されていない値の使用を修正しました。報告してくださったJohn Kruggerと、報告してくださったJean-paul Argudoに感謝します。