pgBadger 11.x リリース ノート
これらのエントリは、pgBadger 11.x の完全なアップストリーム変更レコードを最新のものから順に保存します。
v11.8 · 2022-04-08
pgBadger のこのリリースでは、過去 3 か月以降にユーザーから報告されたいくつかの問題が修正され、特に増分モードでの新しいログ エントリの検出に関する 2 つの修正が行われています。
- log_line_prefix でミリ秒 (%m) またはエポック (%n) が使用された場合のタイムスタンプ付きの新しいログ エントリの検出を修正します。
- マルチプロセスが使用されていない場合のローカル ファイル内の新しいログ エントリの検出を修正しました。
変更と謝辞の完全な一覧は次のとおりです。
- ログ ファイルの変更検出を完全に見直し、簡素化しました。
- イベントレポートに「could not (receive|send) data (from|to) client」メッセージを表示するようにしました。報告してくださったAdrien Nayratに感謝します。
- 準備されたクエリの名前に「:」文字が含まれている場合の解析の問題を修正します。 aleszeleny さん、レポートありがとうございます。
- ミリ秒 (%m) またはエポック (%n) のタイムスタンプを持つ新しいログ エントリの検出を修正します。 aleszeleny さん、レポートありがとうございます。
- マルチプロセスが使用されていない場合のローカル ファイル内の新しいログ エントリの検出を修正しました。 aleszeleny さん、レポートありがとうございます。
- SSH を介したリモート ファイル内の新しいログ エントリの検出を修正します。ルカ・フェラーリのレポートに感謝します
- 「ユーザーごとの接続数」レポートのユーザー名の文字化けを修正しました。 caseyandgina さん、レポートありがとうございます。
- URI を使用するときに ssh オプションが欠落していた ssh コマンドを修正しました。ルカ・フェラーリさん、レポートありがとうございます。
- Handle クエリ ID %Q プレースホルダー。パッチを提供してくれた Adrien Nayrat に感謝します。
- エラー文のタイプミスを修正しました。パッチを提供してくれた Luca Ferrari に感謝します
- レポート メッセージ: イベント レポートの「サーバー プロセスはシグナルによって終了しました」。レポートを提供してくれた Avi Vallarapu に感謝します。
- doc: 毎週増分コマンドのファイル名を修正しました。パッチを提供してくれた Theophile Helleboid に感謝します。
- t/04_advanced.t: syslog テストを修正しました。パッチを提供してくれた Christoph Berg に感謝します。
v11.7 · 2022-01-23
pgBadger のこのリリースでは、過去 5 か月以降にユーザーから報告されたいくつかの問題が修正され、いくつかの改善が行われています。
- 新しいオプション –no-progressbar オプションを追加して、表示せずに他の出力を保持します。
- 指定した日の HTML レポートを再構築するために使用できる新しいオプション –day-report を追加します。オプション –month-report と似ていますが、1 日のみです。これには、増分出力ディレクトリと、必要なすべてのバイナリ データ ファイルが存在することが必要です。値は、YYYY-MM-DD 形式の日付です。
- Heraku logplex および Cloudsql json ログの解析を改善します。
変更と謝辞の完全な一覧は次のとおりです。
- コントリビューション ガイドラインと Makefile.PL を更新して、一貫性、明確さ、依存関係を改善します。パッチを提供してくれた拡散者に感謝します。
- バイナリ モードでの最後の解析ファイル (–last-parsed) の使用を修正しました。報告してくれたwibrtさんに感謝します。
- –last-parsed 使用の回帰テストを追加し、一時ファイルのみのレポートの回帰テストを修正しました。
- ホストごとのセッションのグラフのタイトルを修正しました。 Norbert Bede さんのレポートに感謝します。
- –iso-week-number および –incremental オプションが有効になっている場合に週レポートを計算するときの週番号を修正します。 hansgv さん、レポートありがとうございます。
- –no-progressbar オプションを追加して、これを表示せずに他の出力を保持します。機能リクエストをくださったseidlmicさんに感謝します。
- 複数行の jsonlog のデバッグ モードで不明な形式の行が大量に出力されるのを防ぎます。
- 単一行のcloudsql jsonログの解析を修正しました。レポートを提供してくれた Thomas Leclare に感謝します。
- log_temp_files のみを使用して一時ファイルの概要を修正します。
- -q または –quiet が使用されている場合でも、-v を使用してデバッグ メッセージを出力します。
- jsonlog ファイルの自動検出を修正しました。
- cloudsql ログ ファイルの解析を修正しました。 Luc Lamarle さんのレポートに感謝します。
- parse_json_input での PID 抽出を修正します。パッチを提供してくれた Francois Scala に感謝します。
- 新しいオプション –day-report を追加し、値を YYYY-MM-DD 形式の日付として指定します。これは、指定した日の HTML レポートを再構築するために使用できます。機能リクエストをくださった Thomas Leclaire に感謝します。
- 進行状況バーのクエリカウンターを修正しました。レポートを提供してくれた Guillaume Lelarge に感謝します。
- トップバインド用に保存された不完全なクエリを修正し、レポートを準備します。
- オブジェクト識別子の正規化を修正しました。数値が ? に置き換えられる場合がありました。
- 先頭にコメントがある場合の、フォーマットされていない正規化されたクエリを修正します。
- –dbname を使用する場合の標準エラー出力形式の複数行を修正しました。レポートを提供してくれた Guillaume Lelarge に感謝します。
- –dbname の使用時に増分モードでレポートが生成されない問題を修正しました。レポートを提供してくれた Dudley Perkins に感謝します。
- バイナリ ファイルに互換性がない場合でも、もう死ぬことはなく、次のファイルに切り替えます。提案してくれた Thomas Leclare に感謝します。
- pgbadger パーサーにおける Heroku logplex 形式の変更を修正しました。レポートを提供してくれた François Pietka に感謝します。
v11.6 · 2021-09-04
pgBadger のこのリリースでは、過去 7 か月以降にユーザーから報告されたいくつかの問題が修正され、いくつかの改善が加えられています。
- PG14 の新しい log_line_prefix にクエリ ID の検出を追加します。 Florent Jardin さん、レポートありがとうございます。
- データベースの除外と分解機能を備えた高度な回帰テストを追加します。パッチを提供してくれた MigOps Inc に感謝します。
- –explode を使用する場合、レポート生成にマルチプロセスを適用します。パッチについては MigOps Inc、機能リクエストについては Thomas Leclaire に感謝します。
- 増分モードで –iso-week-number を追加します。カレンダーの週は月曜日から始まり、ISO 8601 の週番号が考慮されます。範囲は 01 から 53 までです。ここで、1 週は、新年の少なくとも 4 日がある最初の週です。機能リクエストをくださった Alex Muntada に感謝します。
- コマンド ライン オプション –keep-comments を追加して、正規化されたクエリからコメントを削除しないようにします。同じ正規化されたクエリを区別したい場合に便利です。機能リクエストをくださった Stefan Corneliu Petrea に感謝します。
- サードパーティ ソフトウェアによって PostgreSQL ログ ファイルに導入された INFO 行をスキップします。レポートを提供してくれた David Piscitelli に感謝します。
- ステートメント期間に続く行数とバイト単位のサイズを含む PostgresPro ログ ファイルとの互換性を追加します。 panatamann さん、レポートありがとうございます。
- T を使用して時間を解析し、journalctl からのタイムスタンプを使用できるようにします。パッチを提供してくれた Graham Christensen に感謝します。
- Windows ポートを改善します。パッチを提供してくれた Bertrand Bourgier に感謝します。
重要な注意事項:
- 次のメジャー リリースでは –iso-week-number がデフォルトになり、週は常に月曜日から始まるため、–start-monday オプションが削除されることが予想されます。コードを簡素化するために、週レポートを日曜日から開始する可能性は削除されます。
変更と謝辞の完全な一覧は次のとおりです。
- 次の警告メッセージの重複を修正しました。 “database … must be vacuumed within … transactions”. 報告してくださったChristophe Courtoisに感謝します。
- 初期化されていない変数の使用を修正しました。レポートしてくれたphireskyに感謝します。
- クエリ ID の検出を改善しました。クエリ ID は、csvlog から読み取るだけでなく、負の値になる場合もあります。
- インクリメンタル モードの最後のファイルが、すでに解析されている場合でも常に解析されるケースを修正します。レポートを提供してくれた Thomas Leclare に感謝します。
- syslog 形式の正規表現を更新して、セッション行インジケーターに 1 つの int のみが含まれる場合と、ダッシュで区切られた 2 つの int が含まれる場合を処理します。パッチを提供してくれた Timothy Alexander に感謝します。
- –exclude-db オプションを修正して、とにかく json ログを含む関連レポートを作成します。パッチについては MigOps Inc、レポートについては Thomas Leclaire に感謝します。
- Storable のバグのあるバージョンに関する回帰テストを追加。
- 週レポート生成中の増分モードの置換イテレータでの初期化されていない値の使用を修正しました。レポートを提供してくれた Thomas Leclaire、Michael Vitale、Sumeet Shukla、Stefan Corneliu Petrea に感謝します。
- ‘g’ オプションを追加して、すべてのバインド パラメーターを置き換えます。パッチを提供してくれた Nicolas Lutic と Sebastien Lardiere に感謝します。
- ドキュメントの改善。パッチを提供してくれた Stefan Petrea に感謝します。
- ログのタイムゾーン計算の変更を修正します。パッチを提供してくれた Stefan Petrea に感謝します。
- 開始/終了時間によるログ フィルターを修正します。
- データベース上のフィルターを使用した複数行クエリの孤立行の誤った関連付けを修正しました。レポートを提供してくれた Abhishek Mehta に感謝します。
- “explode” オプション (-E) で –dbname パラメーターが部分的に無視された場合、Fix はインクリメンタル モードでレポートします。 lrevest さん、レポートありがとうございます。
- JavaScript リソースを更新します。
- 画面縮小時にハンバーガーモードに切り替わる前のメニュー表示を修正しました。レポートを提供してくれた Guillaume Lelarge に感謝します。
- 十分にサポートされていなかった、ログ内の複数行にわたるバインド パラメータ値を修正しました。
- pgFormatter よりも前のパッチに同じ修正を適用します。
- pgFormatter コードの置換イテレータでの初期化されていない値の他の使用を修正します。レポートを提供してくれた Christophe Courtois に感謝します。
- クエリの正規化を修正しました。パッチを提供してくれた Jeffrey Beale に感謝します。
- –dump-all-queries を使用する場合は、すべてのステートメントがセミコロンで終わるようにしてください。クリスチャンさん、レポートありがとうございます。
- 複数のログ ファイルでの EOL タイプのタイプミスと初期化を修正しました。
- OEL が 2 バイト上にある場合 (Windows の場合)、EOL タイプの自動検出を追加して、LAST_PARSED オフセットを修正します。パッチを提供してくれた Bertrand Bourgier に感謝します。
- strftime %u がサポートされていない Windows の get_day_of_week() ポートを修正します。パッチを提供してくれた Bertrand Bourgier に感謝します。
- pgbadger での DATA の読み取り方法に起因して、pl2bat.bat perl ユーティリティを呼び出して破損した pgbadger.bat を作成する Windows ポートを修正しました。パッチを提供してくれた Bertrand Bourgier に感謝します。
- 開始/終了時刻フィルターを修正し、タイムスタンプ フィルターの回帰テストを追加しました。レポートを提供してくれた Alexis Lahouze と plmayekar に感謝します。
- pgFormatter 更新によって導入されたパターン一致における初期化されていない値の使用を修正します。報告してくれたarltさんに感謝します。
v11.5 · 2021-02-18
pgBadger のこのリリースでは、過去 3 か月以降にユーザーから報告されたいくつかの問題が修正され、いくつかの改善が加えられています。
- セッションのアイドル時間のレポートを追加しました。次の式で計算します。 “total sessions time - total queries time / number of sessions 正確な値を得るには、log_connectionとログの切断記録を有効にし、log_min_duration_statement = 0としてすべてのクエリーを記録する必要があります。これにより、アイドル時間の損失量や、プーラーのトランザクションモードが有効かどうかを判断できます。このレポートは「Global Stats」の「Sessions」タブと、「General Activity」レポートの「Sessions」タブ(時間帯別)で利用できます。
- 数値の匿名化を追加し、4 乱数に置き換えます。
- pgFormatter 5.0 に基づいて SQL ビューティファイアーを更新します。
変更と謝辞の完全な一覧は次のとおりです。
- cloudsql の複数行ステートメントの解析を修正しました。ジョンヨンさん、レポートありがとうございます。
- 匿名化のための回帰テストを追加します。
- maxlength truncate によって壊れた匿名化を修正しました。 artlさん、レポートありがとうございます。
- 時間のかかるレポートの作成とバインドにパラメータの匿名化を追加します。報告してくれたarltさんに感謝します。
- logplex ログ行プレフィックスにマイクロ秒のサポートを追加します。レポートを提供してくれた Ross Gardiner に感謝します。
- セッションのアイドル時間に関するレポートを追加します。機能リクエストをくださった Guillaume Lelarge に感謝します。
- jsonlog 形式の複数行をサポートするための完全なパッチ。
v11.4 · 2020-11-24
pgBadger のこのリリースでは、過去 4 か月以降にユーザーから報告されたいくつかの問題が修正されています。 PostgreSQL 13 ログ情報のサポートを改善し、いくつかの新機能を追加します。
- 「テーブルごとのバキューム」レポートに、バッファ使用量 (ヒット、ミス、ダーティ)、ピンによるスキップ、凍結スキップ、および WAL 使用量 (レコード、フル ページ イメージ、バイト) に関する完全な自動バキューム情報を追加します。 「テーブルごとに削除されたタプル」レポートでは、追加の自動バキューム情報として、残っているタプル、まだ削除されていないタプル、および残っているページが表示されます。これらの情報は、「テーブル」タブでのみ利用できます。
- チェックポイント開始原因に関する新しい再パーティション レポートを追加します。
- 接続許可トレースからアプリケーション名の検出を追加します。
変更と謝辞の完全な一覧は次のとおりです。
- エラー メッセージのタイプミスを修正しました。パッチを提供してくれた Vidar Tyldum に感謝します。
- Windows移植版で「can not load incompatible binary data」エラーが発生する問題を修正しました。報告してくださったEric Brawnerに感謝します。
- pgbadger の使用法とドキュメントのオプション –html-outdir のタイプミスを修正します。パッチを提供してくれた Vidar Tyldum に感謝します。
- jsonlog/cloudsql 形式の自動検出を修正しました。ジョンヨンさん、レポートありがとうございます。
- PG v13 による CSV ログ解析を修正しました。レポートについては Kanwei Li 氏、パッチについては Kaarel Moppel に感謝します。
- ほとんどの一時ファイル レポートを生成するクエリの種類を修正しました。レポートを提供してくれた Sebastien Lardiere に感謝します。
- デバッグ モードで pgbadger バージョン トレースを追加します。
v11.3 · 2020-07-26
pgBadger のこのリリースでは、過去 4 か月以降にユーザーから報告されたいくつかの問題が修正されています。また、いくつかの新機能と新しいコマンド ライン オプションも追加されます。
- グラフにタイムゾーンが適用されないように、UTC タイムスタンプの自動検出を追加します。
- GCP CloudSQL json ログ形式へのサポートを追加します。
- 新しいオプション –dump-all-queries を追加して、pgBadger を使用してすべてのクエリをテキスト ファイルにダンプします。レポートは生成されず、PostgreSQL ログで見つかったステートメントの完全なリストのみが生成されます。バインド パラメータはクエリのそれぞれの位置に挿入されます。
- 新しいオプションを追加 -Q | –query-numbering は、オプション –dump-all-queries または –normalized-only. を使用するときに出力にクエリの番号を追加するために使用されます。
- 新しいコマンド ライン オプション –tempdir を追加して、一時ファイルが書き込まれるディレクトリを設定します。 /tmp. への書き込みが許可されていないシステムで役立つ可能性があります
- デフォルトの22以外のSSHポートを設定する–ssh-portコマンドラインオプションを追加しました。URI表記でも、次の形式でSSHポートを指定できます。 ssh://192.168.1.100:2222//var/log/postgresql-11.log
変更と謝辞の完全な一覧は次のとおりです。
- jsonlog/cloudsql ログ形式の増分レポートを修正しました。レポートを提供してくれた Ryan DeShone に感謝します
- UTC タイムスタンプの自動検出を追加して、自動検出されたタイムゾーンがグラフに適用されないようにします。 UTC 時間を使用すると、JavaScript はローカル タイムゾーンを適用します。レポートを提供してくれた Brett Stauner に感謝します。
- journalctl ログの増分解析が 2 回目の実行以降機能しない問題を修正しました。パッチを提供してくれた Paweł Koziol に感謝します。
- -X および -E を使用する場合のリソース ファイルへのパスを修正します。レポートを提供してくれた Ryan DeShone に感謝します。
- 読み取り/書き込みクエリに関する一般アクティビティ レポートを修正しました。 alexandre-sk5 さん、レポートありがとうございます。
- パラレル モードが使用されていない場合のデバッグ メッセージを追加します。
- ファイル サイズ検出の elsif ロジックと、–since オプションが追加されたときにjournalctl コマンドに導入される追加スペースを修正します。パッチを提供してくれた Pawel Koziol に感謝します。
- 「not a valid file descriptor」エラーを修正しました。報告してくださったPawel Koziolに感謝します。
- RDS ファイルによるインクリメンタル モードを修正します。レポートを提供してくれた Ildefonso Camargo、nodje、John Walsh に感謝します。
- 新しいオプションを追加 -Q | –query-numbering は、オプション –dump-all-queries または –normalized-only. を使用するときに出力にクエリの番号を追加するために使用されます。これは、外部スクリプトから出力ファイル内の複数行のクエリを抽出するのに役立ちます。機能リクエストをいただいた Shantanu Oak に感謝します。
- log_min_duration_statement が有効な場合の Cloudsql JSON ログの解析を修正しました。 alexandre-sk5 さん、レポートありがとうございます。
- RDS ログ内のユーザーの間違ったハッシュ キーを修正しました。 vosmax さんのレポートに感謝します。
- 作成不可能な配列値の変更に関連するエラーを修正しました。レポートを提供してくれた John Walsh と Mark Fletcher に感謝します。
- GCP CloudSQL json ログ形式のサポートを追加します。ログ形式 (-f) は jsonlog です。機能リクエストをくださった Thomas Poindessous に感謝します。
- 新しいオプション –dump-all-queries を追加して、pgBadger を使用してすべてのクエリをテキスト ファイルにダンプします。レポートは生成されず、PostgreSQL ログで見つかったステートメントの完全なリストのみが生成されます。バインド パラメータはクエリのそれぞれの位置に挿入されます。一意のクエリに対する並べ替えはなく、すべてのクエリがログに記録されます。機能リクエストをいただいた Shantanu Oak に感謝します。
- –dump-all-queries オプションのドキュメントを追加します。
- 新しい PG バージョンのバキューム レポートを修正しました。 Alexey Timanovsky 氏のレポートに感謝します。
- 新しいコマンド ライン オプション –no-process-info を追加して、pgbadger プロセスを識別しやすくするためにプロセス タイトルの変更を無効にします。一部のシステムではこれが許可されていません。 Akshay2378 さん、レポートありがとうございます。
- 一時ファイルの書き込み先ディレクトリを設定する–tempdirコマンドラインオプションを追加しました。デフォルトは次のとおりです。 File::Spec->tmpdir() || ‘/tmp’ /tmpへの書き込みが許可されないシステムで役立ちます。報告してくださったAkshay2378に感謝します。
- スペースや括弧を含むサポートされていない圧縮ファイル名を修正します。 Alexey Timanovsky 氏のレポートに感謝します。
- デフォルトの22以外のSSHポートを設定する–ssh-portコマンドラインオプションを追加しました。URI表記でも、次の形式でSSHポートを指定できます。 ssh://192.168.1.100:2222//var/log/postgresql-11.log 機能を要望してくださったAugusto Murriに感謝します。
v11.2 · 2020-03-11
pgBadger のこのリリースでは、過去 6 か月以降にユーザーから報告されたいくつかの問題が修正されています。また、いくつかの新機能も追加されています。
- AWS redshift ログ形式のサポートと自動検出を追加します。
- pgbouncer 1.11 新しいログ形式へのサポートを追加します。
- zstd および lz4 圧縮形式を処理します
- ログ ファイルを読み取ることなく、増分モードで統計のビルドと HTML レポートのビルドを完全に分離できます。たとえば、次のように pgbadger を 1 時間ごとに実行することができます。 pgbadger -I -O “/out-dir/data” –noreport /var/log/postgresql*.log
「/out-dir/data」にデータ バイナリ ファイルを作成するだけで、たとえば、別のディレクトリ /out-dir/reports に翌日のレポートを毎晩作成できます。
pgbadger -I -l “/out-dir/data/LAST_PARSED” -H “/out-dir/reports” /out-dir/data/2020/02/19/*.bin
これには、最後に解析された情報へのパス、HTML レポートが書き込まれるパス、およびその日のバイナリ データ ファイルを設定する必要があります。
新しいコマンド ライン オプションもあります。
グラフィカル Explain ツールの URL をオーバーライドするために使用される新しいコマンド ライン オプション –explain-url を追加します。デフォルトの URL は次のとおりです。 http://explain.depesz.com/?is_public=0&is_anon=0&plan=
PgExplain または他のツールのローカル インストールを使用する場合。 pgBadger は、URL の最後にエスケープされたテキスト形式でプランを追加します。
新しいオプション –no-week を追加して、増分モードで週次レポートを作成しないように pgbadger に指示します。時間とリソースがかかりすぎる場合に役立ちます。
新しいコマンド ライン オプション –command を追加して、pgBadger が標準入力のログ エントリを取得するために実行するコマンドを設定できるようにします。 pgBadger はコマンドへのパイプを開き、コマンドによって生成されたログ エントリを解析します。たとえば: pgbadger -f stderr –command ‘cat /var/log/postgresql.log’
これは、ログ ファイルを引数として直接指定して pgbadger を実行するのと同じです。このオプションの利点は、ログ ファイルをオンザフライで変更する必要がある場合、またはログ エントリがプログラムから抽出されるかデータベースから生成される場合に明らかです。例えば:
pgbadger -f csv –command ‘psql dbname -c “COPY jrn_log TO STDOUT (FORMAT CSV)”’
新しいコマンド ライン オプション –noexplain を追加して、pgBadger が auto_explain 拡張機能によってログに書き込まれた Explain プランを解析して報告しないようにします。これは、PostgreSQL バージョン < 9.0 で、ログに説明プランがあるときに pgBadger が壊れたレポートを生成する場合に便利です。
下位互換性:
- デフォルトでは、pgBadger はクエリを 100000 文字まで切り捨てます。この任意の値は、オプション –maxlength. を使用して調整できます。以前の動作ではクエリが切り捨てられませんでしたが、これにより過剰なリソースが使用される可能性がありました。デフォルトのサイズを制限する方が安全であり、サイズ制限により、ほとんどの場合、切り捨てが許可されない可能性があります。ただし、クエリが 25000 文字を超える場合、クエリは整形されません。
変更と謝辞の完全な一覧は次のとおりです。
- 機能しない –exclude-client オプションを修正しました。レポートを提供してくれた John Walsh に感謝します。
- RDS ログ解析と –exclude-client. の回帰テストを追加します。
- pgbouncer ログ ファイルの進行状況バーを修正しました。 “queries” ラベルは、pgbouncer ログ ファイルの “stats” で変更されます。
- グラフィカル Explain ツールの URL をオーバーライドするために使用されるコマンド ライン オプション –explain-url を追加します。機能リクエストをくださった Christophe Courtois に感謝します。
- pgbouncer 1.11 新しいログ形式へのサポートを追加します。レポートを提供してくれた Dan Aksenov に感謝します。
- zstd および lz4 圧縮形式を処理します。パッチを提供してくれた Adrien Nayrat に感謝します。
- AWS redshift ログ形式のサポートと自動検出を追加します。復元リクエストをくださった Bhuvanesh に感謝します。
- redshift ログ形式に関するドキュメントを更新します。
- 新しいオプション –no-week を追加して、増分モードで週次レポートを作成しないように pgbadger に指示します。機能リクエストをくださった cleverKermit17 に感謝します。
- Windows 上の pgBadger を破壊するファイル パスのパターン マッチを修正します。
- 独自の文字セットを使用しても、キリル文字やその他のエンコーディングのステートメントパラメーターがHTMLレポートに正しく表示されない問題#554を修正しました。このリグレッションは、よく知られたPerlの「Wide character in print」エラーメッセージへの修正で導入されました。そのパッチを取り消し、以前の動作に戻すための新しいコマンドラインオプション–wide-charを追加しました。「Wide character in print」が表示される場合は、このオプションをpgbadgerコマンドに追加してください。キリル文字とフランス語のエンコーディングの回帰テストも追加しました。報告してくださった4815162342lostとyetheeに感謝します。
- ドキュメントを更新して、lc_messages = ’en_US.UTF-8’ も有効であることを通知します。 nodjeさん、レポートありがとうございます。
- –maxlength に関するドキュメントを更新します。デフォルトの切り捨てサイズは 100000 であり、デフォルトでは切り捨てなしになりません。 nodjeさん、レポートありがとうございます。
- 年の重複時の保持計算を修正しました。パッチを提供してくれた Fabio Pereira に感謝します。
- rds ログ ファイル形式の解析を修正しました。レポートを提供してくれた Kadaffy Talavera に感謝します。
- 新しいログ エントリがない場合に、増分モードで空のインデックス ファイルを生成しないようにします。レポートを提供してくれた Kadaffy Talavera に感謝します。
- 最新ではないドキュメントを修正します。パッチを提供してくれた Eric Hanson に感謝します。
- コマンド ライン パラメータを -no-explain から -noexplain. に修正します。パッチを提供してくれた Indrek Toom に感謝します。
- totalsize が見つからない場合は、デフォルトのファイル サイズに戻ります。パッチを提供してくれた Adrien Nayrat に感謝します。
- 例内のいくつかの日付を修正しました。パッチを提供してくれた Greg Clough に感謝します。
- 残りのテストでは圧縮ファイル拡張子 regexp を使用し、別の条件で .bin 拡張子を抽出します。
- zstd および lz4 圧縮形式を処理します。パッチを提供してくれた Adrien Nayrat に感謝します。
- Windows 上の SIGUSR2 の残りの呼び出しを修正します。 inrapさん、レポートありがとうございます。
- サイズが不明なログ ファイルの進行状況バーを修正しました。
- 新しいコマンド ライン オプション –command を追加して、pgBadger が標準入力のログ エントリを取得するために実行するコマンドを設定できるようにします。機能リクエストをくださった Justin Pryzby に感謝します。
- 新しいコマンド ライン オプション –noexplain を追加して、pgBadger が auto_explain 拡張機能によってログに書き込まれた Explain プランを解析して報告しないようにします。これは、PostgreSQL バージョン < 9.0 で、ログに説明プランがあるときに pgBadger が壊れたレポートを生成する場合に便利です。機能リクエストをくださった Massimo Sala に感謝します。
- コマンド ラインでプレフィックスが設定されている場合の RDS ログ解析を修正しました。 Bing Zhao さん、レポートありがとうございます。
- rds ログ形式のインクリメンタル モードを修正します。 Bing Zhao さん、レポートありがとうございます。
- RDS ログ解析の可能性を修正しました。レポートを提供してくれた James van Lommel と Simon Dobner に感謝します。
- ステートメントの分類を修正し、回帰テストを追加します。 alexanderlaw さん、レポートありがとうございます。
- IN 句内の単一文字の匿名化を修正しました。 Massimo Sala さんのレポートに感謝します。
- client/user/db 情報のない行の RDS ログ解析を修正しました。 Konrad さん、報告ありがとうございます。
v11.1 · 2019-09-16
pgBadger のこのリリースでは、3 か月以降にユーザーから報告されたいくつかの問題が修正されています。また、いくつかの新機能とレポートも追加されます。
- 準備または解析段階で最も時間を消費する上位 N クエリのレポートを追加します。
- バインド段階で最も時間を消費する上位 N クエリのレポートを追加します。
- クエリーのprepare/bind/execute各処理の時間レポートを追加しました。全体統計レポートの新しい「Duration」タブに表示します。例: Total query duration: 6m16s Prepare/parse total duration: 45s564ms Bind total duration: 4m46s Execute total duration: 44s71m これにより、以前の「Total query duration」がexecuteの合計時間しか表示していなかった問題も修正されます。
- RDS および CloudWatch ログ形式へのサポートを追加します。これらは自動的に検出されます。 pgbadger がログ形式を自動検出できない場合は、-f rds を使用できます。
- 新しい構成オプション –month-report を追加して、月次増分レポートを作成できるようにします。
- Windows オペレーティング システムのサポートを復元します。
いくつかのバグ修正と機能強化もあります。
- ツール pod2markdown を使用して、自動生成された Markdown ドキュメントを README.md に追加します。コマンドが存在しない場合、ファイルは生成されません。パッチを提供してくれた Derek Yang に感謝します。
- アクション WITH を CTE に変換します。これは、前回のリリースで導入された回帰です。
- Windows オペレーティング システムのサポートを修正
- RDS および CloudWatch ログ形式へのサポートを追加します。pgbadger がこのログ形式を自動検出できない場合は、-f rds を使用します。機能リクエストをくださった peruuparkar に感謝します。
- オプション -f を修正 |すべてのファイルに適用されなかった –format は、ログ形式の自動検出が失敗したパラメータ リストから取得され、形式は解析された最初のファイルから取得されました。 Levente Birta さんのレポートに感謝します。
- ソース ドキュメント ファイルを更新して、pgBadger v7.x への参照を v11 に置き換えます。パッチを提供してくれた Will Buckner に感謝します。
- ページ全体が巨大なクエリで占められるのを避けるために、上位クエリの高さ表示サイズを制限します。パッチを提供してくれたilias ilisepe1に感謝します。
- クエリのオーバーフローと「最も遅い個々のクエリ」の詳細を修正しました。
- ファイル、ディレクトリ、ワイルドカードの SSH URI を修正します。パッチを提供してくれた tbussmann に感謝します。
- ドキュメント内の URI サンプルを修正します。パッチを提供してくれた tbussmann に感謝します。
- –rebuild が使用されている場合、デフォルト出力ファイルの使用メッセージを非表示にします。
- make 時に POD ドキュメントを作成しないように、usage() 出力に余分な改行を追加します。
- ドキュメントの –exclude-client オプションの説明を再適用します。レポートを提供してくれた Christoph Berg に感謝します。
v11.0 · 2019-06-25
pgBadger のこのリリースでは、いくつかの主要な新機能が追加され、過去 4 か月以降にユーザーから報告されたいくつかの問題が修正されています。新機能:
カーソル関連のクエリ (DECLARE、CLOSE、FETCH、MOVE) を新しいクエリ タイプ CURSOR に再グループ化します。
より多くの一時ファイルを生成する上位バインド クエリを追加します。 log_connection と log_disconnection をアクティブにする必要があります。
–exclude-client コマンド ライン オプションを追加して、指定したクライアント IP のログ エントリを除外できるようにします。複数回使用できます。
–begin および –end フィルターでのみ時間の使用を許可します。
-H、–html-dir オプションを追加すると、HTML レポートを増分モードで書き込む必要がある別のパスを設定できるようになります。バイナリ ファイルは、-O、–outdir オプションで定義されたディレクトリに残ります。
追加 -E | –explode オプションを使用して、メイン レポートをデータベースごとに 1 つのレポートに展開します。データベースに関係しないグローバル情報が postgres データベース レポートに追加されます。
データベースごとのレポートを増分モードに追加します。このモードでは、データベースごとに専用の増分レポートを含むサブディレクトリが存在します。
Heraku の PostgreSQL logplex 形式にサポートを追加します。ログは以下を使用して解析できます。
heroku logs -p postgres | pgbadger -f logplex -o heroku.html -
クエリが 10Kb を超える場合、まずすべての定数文字列パラメータのサイズを 30 文字に制限し、その後クエリは 10Kb に切り詰められます。これにより、たとえば bytea を挿入するときに、pgbadger が非常に長いクエリで時間を無駄にしたりハングしたりすることがなくなります。 10Kb 制限は、–maxlength コマンド ライン パラメーターで制御できます。クエリは、この最初のサイズ制限試行後にのみ、maxlength 値に正規化または切り詰められます。
この新しいリリースでは、古いバイナリ ファイルまたは JSON ファイルとの下位互換性が失われます。これは、インクリメンタル モードでは古いバイナリ ファイルを読み取ることができないことも意味します。 pgBadger を更新して古いレポートを保持したい場合は、新しい週の初めにアップグレードするように注意してください。そうしないと、週次レポートが壊れてしまいます。 pgBadger は警告を出力し、古いバイナリ ファイルをスキップするだけです。
いくつかのバグ修正と機能強化もあります。
- バージョンに関する警告を追加し、互換性のないバイナリ ファイルのロードをスキップします。
- コード フォーマッタを pgFormatter 4.0 に更新します。
- Windows OS での pgbadger のハングを修正します。レポートを提供してくれた JMLessard に感謝します。
- pgBadger v11 の新しいバイナリ ファイル形式と互換性があるように tools/pgbadger_tools スクリプトを更新します。
- より多くの一時ファイルを生成する上位バインド クエリを追加します。この収集は、postgresql.conf で log_connection と log_disconnection がアクティブ化されている場合にのみ可能です。機能リクエストをくださった Ildefonso Camargo に感謝します。
- タイムゾーンの自動検出を修正しました。修正してくれたmassimosalaに感謝します。
- –nograph が使用されている場合は、残りのグラフを一部削除します
- –normalized-only を使用する場合、.txt 拡張子の使用を強制します。
- logplex 形式での自動バキューム/分析のレポートを修正しました。 Konrad zichul さんのレポートに感謝します。
- Windows オペレーティング システムでの進行状況バーの使用を修正しました。レポートを提供してくれた JMLessard に感謝します。
- `$prefix_vars{’t_time’} を使用してログ時間を保存します。パッチを提供してくれた Luca Ferrari に感謝します。
- 使用方法とドキュメントを更新して、pgbadger 呼び出しから perl コマンドを削除します。パッチを提供してくれた Luca Ferrari に感謝します。
- 日付なしで開始時刻と終了時刻を使用します。パッチを提供してくれた Luca Ferrari に感謝します。
- Readme ファイルに非常に小さなスペルと文法の修正を追加しました。パッチを提供してくれた ofni yratilim に感謝します。
- SSH を使用してリモート パスを修正します。パッチを提供してくれた Luca Ferrari に感謝します。
- データベースごとのレポート機能で導入された新しい構造で動作するように回帰テストを更新します。
- すべての開始パラメータと終了パラメータの小数秒を修正します。パッチを提供してくれた Luca Ferrari に感謝します。
- ドキュメント URL を修正します。報告してくれた Kara Mansel に感謝します。
- auto_explain の解析を修正しました。複数回使用できる -U オプションに関する詳細情報を追加します。レポートを提供してくれた Douglas J Hunley に感謝します。
- 多くの HTML / CSS レポートが改善されました。パッチを提供してくれた Pierre Giraud に感謝します。
- リソース ファイルを更新します。
- logplex 形式の回帰テストを追加します。
- HerokuのPostgreSQL logplex形式に対応しました。次のようにログを解析できます。 heroku logs -p postgres | pgbadger -f logplex -o heroku.html - 出力をすでにファイルに保存している場合は、次のように実行します。 pgbadger heroku.log logplex形式は、他のサポートされている形式と同様に自動検出されます。pgBadgerは、次のデフォルトのlog_line_prefixを認識します。 database = %d connection_source = %r sql_error_code = %e または、次の簡略化した形式も認識します。 sql_error_code = %e 他にもデフォルトのlog_line_prefixがあればお知らせください。プレフィックスは常にpgbadgerの-p | –prefixオプションで設定できます。例: pgbadger –p ‘base = %d source = %r sql_state = %e’ heroku.log 機能を要望してくださったAnthony Sossoに感謝します。
- URI の使用に関する pgbadger ヘルプを修正しました。
- 以前のパッチで導入された URI ssh での壊れたワイルドカードの使用を修正します。レポートを提供してくれた Tobias Bussmann に感謝します。
- ログ ファイルへのパスにスペースを含む URI を許可します。レポートを提供してくれた Tobias Bussmann に感謝します。
- ドキュメント内の URI サンプルを修正します。パッチを提供してくれた Tobias Bussmann に感謝します。
- syslog テストに 10s を超える時間がかかる場合でも失敗しないように t/02_basics.t を修正しました。パッチを提供してくれた Christoph Berg に感謝します。