これはセクションの複数ページ印刷用ビューです。 .
pgBackRest 2.59.1 ドキュメント
- 1: コマンドリファレンス
- 1.1: ヘルプ コマンド (help)
- 1.2: バージョン コマンド (version)
- 2: よくある質問
- 3: プロジェクトの指標
はじめに
pgBackRestは、最大規模のデータベースやワークロードにもシームレスに対応できる、PostgreSQL向けの信頼性の高いバックアップとリストアのソリューションです。
現在の安定版はpgBackRest v2.59.1 です。リリースノートはリリース ページにあります。
pgBackRestを気に入っていただけたら、GitHub でスターを付けてください!
ニュース
2026年8月17日 - pgBackRest 2.59.1をリリース
2026年7月20日 - 新しい配布用tarアーカイブ
2026年7月20日 - pgBackRest 2.59.0をリリース
スポンサー
pgBackRestはスポンサーの支援なしには存在し得ません。新機能の開発、バグの修正、コントリビューションのレビュー、コミュニティからの質問への回答、保守には、いずれも多くの時間がかかります。企業でpgBackRestを使用している場合は、スポンサーとしての支援 をご検討ください。
スポンサー:AWS 、Supabase 、pgEdge 、Tiger Data 、Percona 、Eon 、Xata 、Dalibo 、Data Egret 。
PostgreSQLコミュニティ全体に役立つオープンソースのインフラストラクチャーへの投資に、心より感謝いたします。
過去のスポンサー:Crunchy Data 、Resonate 。
機能
並列バックアップとリストア
バックアップ処理では通常、圧縮がボトルネックになります。pgBackRestは、並列処理と、lz4やzstdなどのより効率的な圧縮アルゴリズムによってこの問題を解決します。
ローカルまたはリモートでの操作
独自のプロトコルにより、最小限の構成で、ローカルまたはTLS/SSH経由のリモートでバックアップ、リストア、アーカイブを実行できます。プロトコル層にはPostgreSQLにクエリーを実行するインターフェースも用意されているため、PostgreSQLへのリモートアクセスは一切不要となり、セキュリティが向上します。
複数のリポジトリ
複数のリポジトリを使用すると、たとえば、高速なリストアのために保持期間を最小限にしたローカルリポジトリと、冗長性および企業全体からのアクセスのために保持期間を長くしたリモートリポジトリを併用できます。
フル・差分・増分バックアップ(ファイル単位またはブロック単位)
フルバックアップ、差分バックアップ、増分バックアップをサポートしています。pgBackRestはrsyncの時刻分解能の問題の影響を受けないため、各ファイルのチェックサムを計算しなくても、差分バックアップと増分バックアップを安全に実行できます。ブロック単位のバックアップでは、ファイルの変更された部分だけをコピーすることで容量を節約します。
バックアップの世代管理とアーカイブの期限切れ処理
フルバックアップと差分バックアップの保持ポリシーを設定し、任意の期間をカバーできます。WALアーカイブは、すべてのバックアップに対して保持することも、直近のバックアップだけに限定して保持することもできます。後者の場合でも、古いバックアップの整合性を確保するために必要なWALはアーカイブに保持されます。
バックアップの整合性
バックアップ内のすべてのファイルについてチェックサムを計算し、リストアまたは検証時に再確認します。バックアップのファイルコピーが完了すると、バックアップの整合性を確保するために必要なすべてのWALセグメントがリポジトリに到着するまで待機します。
リポジトリ内のバックアップは、テーブルスペースを含む標準的なPostgreSQLクラスターと同じ形式で保存できます。圧縮を無効にし、ハードリンクを有効にすると、リポジトリ内のバックアップのスナップショットを作成し、そのスナップショット上でPostgreSQLクラスターを直接起動できます。これは、従来の方法ではリストアに時間がかかるテラバイト規模のデータベースに有用です。
すべての操作でファイルとディレクトリ単位のfsyncを使用し、永続性を確保します。
ページチェックサム
ページチェックサムが有効な場合、pgBackRestはバックアップ中にコピーするすべてのファイルのチェックサムを検証します。フルバックアップではすべてのページチェックサムを検証し、差分バックアップと増分バックアップでは変更されたファイルのチェックサムを検証します。
検証に失敗してもバックアップ処理は停止しませんが、検証に失敗したページを特定する詳細な警告をコンソールとファイルログに出力します。
この機能により、正常なデータのコピーを含むバックアップの保持期限が切れる前に、ページ単位の破損を早期に検出できます。
バックアップの再開
中断されたバックアップは、停止した時点から再開できます。すでにコピーされたファイルをマニフェスト内のチェックサムと比較し、整合性を確認します。この操作はリポジトリホスト内だけで完結するため、PostgreSQLホストの負荷を軽減できます。また、チェックサムの計算はデータの圧縮と再転送より速いため、時間も短縮できます。
ストリーミング圧縮とチェックサム
リポジトリがローカルとリモートのどちらにある場合でも、ファイルをリポジトリにコピーする際に、ストリーム内で圧縮とチェックサムの計算を実行します。
リポジトリがリポジトリホスト上にある場合は、PostgreSQLホストで圧縮を実行し、圧縮形式でファイルを転送します。リポジトリホストではそのまま保存するだけです。圧縮が無効な場合は、CPUの負荷を最小限に抑えながら利用可能な帯域幅を効率的に使うため、低い圧縮レベルを使用します。
差分リストア
マニフェストにはバックアップ内のすべてのファイルのチェックサムが含まれているため、リストア時にこれらを利用して処理を大幅に高速化できます。差分リストアでは、まずバックアップに存在しないファイルを削除し、残ったファイルのチェックサムを計算します。バックアップと一致するファイルはそのまま残し、それ以外のファイルは通常どおりリストアします。並列処理により、リストア時間を大幅に短縮できます。
WALの並列・非同期送信と取得
WALをアーカイブへ送信する専用コマンドと、アーカイブから取得する専用コマンドを備えています。両コマンドとも、処理を高速化するための並列処理をサポートし、PostgreSQLへの応答時間を可能な限り短縮するため非同期に動作します。
WALの送信では、複数回送信されたWALセグメントを自動的に検出し、同一のセグメントであれば重複を排除し、異なる場合はエラーを返します。非同期のWAL送信では、転送を別のプロセスに任せ、そのプロセスでWALセグメントを並列に圧縮してスループットを最大化できます。これは、書き込み量が極めて多いデータベースにとって重要な機能となり得ます。
非同期のWAL取得では、展開済みで再生可能なWALセグメントのローカルキューを維持します。これにより、PostgreSQLにWALを提供するまでの時間を短縮し、再生速度を最大化します。レイテンシーの高い接続やストレージ(S3など)で特に効果があります。
送信コマンドと取得コマンドは、いずれもPostgreSQLのバージョンとシステム識別子を比較し、データベースとリポジトリが一致することを確認します。これにより、WALアーカイブの保存先を誤って設定する可能性をほぼ排除できます。
テーブルスペースとリンクのサポート
テーブルスペースを完全にサポートし、リストア時には任意の場所に再配置できます。単一のコマンドですべてのテーブルスペースを一か所に再配置することもでき、開発用のリストアに便利です。
PostgreSQLクラスター内の任意のファイルやディレクトリに対するリンクをサポートしています。リストア時には、すべてのリンクを元の場所に復元する、一部またはすべてのリンクを再配置する、あるいは一部またはすべてのリンクをクラスターのディレクトリ内の通常のファイルやディレクトリとしてリストアすることができます。
S3、Azure、GCS互換オブジェクトストアのサポート
pgBackRestのリポジトリは、S3、Azure、GCS互換のオブジェクトストアに配置でき、事実上無制限の容量と保持期間を実現できます。
暗号化
pgBackRestはリポジトリを暗号化でき、保存場所にかかわらずバックアップを保護します。
ランサムウェアとマルウェアからの保護
リポジトリがバージョニングを有効にしたオブジェクトストレージに保存されている場合、pgBackRestは特定時点の状態のリポジトリを読み取ることができます。誤操作、マルウェア、ランサムウェアによってバックアップが削除または破損した場合は、対象時刻を指定し、被害が発生する前のデータをリカバリーできます。
バージョニングはS3、Azure、GCS互換のオブジェクトストアでサポートされています。S3のオブジェクトロックや、GCSまたはAzureの論理削除によって、改ざんに対する保護をさらに強化できます。
PostgreSQLの10バージョンとの互換性
pgBackRestは、サポート対象の5バージョンと、直近のサポート終了済み5バージョン、計10バージョンのPostgreSQLをサポートしています。これにより、サポート対象のバージョンへアップグレードするための十分な時間を確保できます。
使い始めるには
pgBackRestは、簡単に構成して運用できることを目指しています。
- 各種オペレーティングシステムとPostgreSQLのバージョンに対応したユーザーガイド 。
- コマンドライン操作のコマンドページ:backup 、restore 、check 、info 。
- pgBackRestの構成を作成するための構成リファレンス 。
コントリビューション
pgBackRestへのコントリビューションは常に歓迎しています。機能の追加、改善、問題の報告については、コントリビューションガイドライン をご覧ください。
サポート
pgBackRestは、MIT ライセンスのもとで公開されている、完全に無償のオープンソースソフトウェアです。個人利用でも商用利用でも、一切の制限なく使用できます。バグ報告は重く受け止め、可能な限り速やかに対応します。バグはこちら から報告してください。
適切なレプリケーションとバックアップ戦略を備えた堅牢な災害復旧ポリシーの策定は、非常に複雑で困難な作業となる場合があります。アーキテクチャーの設計段階で支援が必要になったり、企業の円滑な運営を継続するために継続的なサポートが必要になったりすることもあります。
スポンサー は、pgBackRestのサポートを含む製品やサービスを提供しており、災害復旧のニーズに応じた支援を受けられます。
1 - コマンドリファレンス
導入
コマンドは、さまざまな pgBackRest 関数を実行するために使用されます。ここでは、コマンド オプションが網羅的にリストされています。つまり、コマンドに適用される各オプションは、1 つ以上の他のコマンドに適用される場合でも、そのコマンドとともにリストされます。これには、pgbackrest.conf で構成できるすべてのオプションが含まれます。
pgbackrest.conf で構成された非ブール型オプションは、reset- プレフィックスを使用してコマンドラインでデフォルトにリセットできます。この機能は、バックアップをリポジトリ ホストに直接復元するために使用できます。通常、pgBackRest はデータベース ホストがリモートにあり、復元をリモートで実行できないことがわかるため、エラーが発生します。コマンドラインに --reset-pg1-host を追加すると、pgBackRest はリモート データベース ホストを無視し、ローカルに復元します。特定のパス (データベース ホストで使用されているパスではない) で復元を強制的に実行するには、新しい --pg1-path を渡すことが必要な場合があります。
no- プレフィックスは、コマンドラインでブール型オプションを false に設定するために使用できます。
PGBACKREST_ プレフィックスと、- を _ に置き換えるすべて大文字のオプション名を使用して、任意のオプションを環境変数に設定できます。 pg1-path は PGBACKREST_PG1_PATH になり、stanza は PGBACKREST_STANZA になります。ブール値オプションは、設定ファイル内にあるものと同じように表現されます。 PGBACKREST_COMPRESS="n" および reset-* のバリアントは許可されません。コマンドラインまたは構成ファイルで複数回指定できるオプションは、値をコロンで区切ることで表すことができます。 PGBACKREST_DB_INCLUDE="db1:db2"。
コマンドライン オプションは、構成ファイル オプションをオーバーライドする環境オプションをオーバーライドします。
オプションの種類については、構成の概要 を参照してください。
コマンド
| コマンド | 概要 |
|---|---|
annotate | バックアップの作成後に、バックアップの注釈を追加、変更、または削除します。 |
archive-get | 復元、PITR、またはレプリカのリカバリのために、アーカイブされた WAL セグメントをフェッチします。 |
archive-push | PostgreSQL から WAL セグメントを受け入れ、構成されたリポジトリにプッシュします。 |
backup | ターゲット リポジトリ (デフォルトでは最も優先度の高いリポジトリ) にバックアップを作成します。 |
check | スタンザのバックアップ/アーカイブ構成と WAL アーカイブの健全性を検証します。 |
expire | 構成された保持ポリシーに基づいて、バックアップとアーカイブされた WAL を期限切れにします。 |
help | コマンドおよびオプションのヘルプを一般、コマンド、またはオプションのレベルで表示します。 |
info | スタンザとバックアップのステータス/メタデータをテキストまたは JSON 形式で表示します。 |
repo-get | 管理、調査、テストのためにリポジトリ ファイル (cat など) を読み取ります。 |
repo-ls | 管理、調査、テストのためにリポジトリ ファイル/パス (ls など) をリストします。 |
restore | オプションのポイントインタイムリカバリを使用して、バックアップ (デフォルトでは最新) から復元します。 |
server | SSH を使用しないリモート ホスト アクセスには、pgBackRest TLS サーバーを実行します。 |
server-ping | pgBackRest TLS サーバーに ping を実行して、接続が受け入れられていることを確認します。 |
stanza-create | 構成されているすべてのリポジトリにスタンザ メタデータを作成します。 |
stanza-delete | スタンザのすべてのバックアップとアーカイブを完全に削除します。 |
stanza-upgrade | PostgreSQL メジャー バージョンのアップグレード後にスタンザ メタデータをアップグレードします。 |
start | 前回の stop の後に pgBackRest プロセスが実行できるようにします。 |
stop | 新しい pgBackRest プロセスを防止し、オプションで実行中のプロセスを強制停止します。 |
verify | リポジトリ内のバックアップおよびアーカイブ データが有効であることを確認します。 |
version | インストールされている pgBackRest のバージョンを表示します。 |
1.1 - ヘルプ コマンド (help)
help コマンドのオプションおよび動作に関するリファレンス。3 つのレベルのヘルプが用意されています。コマンドが指定されない場合は、一般のヘルプが表示されます。コマンドが指定された場合(例:pgbackrest help backup)、そのコマンドの詳細な説明と有効なオプションの一覧が表示されます。コマンドに加えてオプションが指定された場合(例:pgbackrest help backup type)、そのオプションがコマンドに適用される際の詳細な説明が表示されます。
コマンドオプション
ヘルプオプションの表示 (--help)
ヘルプを表示します。
ヘルプを表示します。help コマンドが指定されていなくても同様に機能し、--version オプションを上書きします。
バージョンオプションの表示 (--version)
バージョンを表示します。
バージョン情報を表示します。version または help コマンドが指定されていなくても同様です。
1.2 - バージョン コマンド (version)
version コマンドのオプションおよび動作に関するリファレンス。pgBackRest のインストール済みバージョンを表示します。
コマンドオプション
出力オプション (--output)
出力形式。
次の出力形式がサポートされています:
text- インストールされた pgBackRest のバージョンをテキスト形式で表示します。num- pgBackRest のインストール済みバージョンを整数で表示します。
2 - よくある質問
はじめに
よくある質問では、ユーザーガイド、構成リファレンス、コマンドリファレンスで説明されている場合も、されていない場合もある個別の疑問について、詳しく説明します。ここで問題に関する情報が見つからない場合は、pgBackRestのGitHubのIssue一覧 も有用な情報源です。
「could not find WAL segment」エラーが発生した場合はどうすればよいですか。
このエラーはさまざまな問題によって発生する可能性があります。たとえば、次のような原因が考えられます。
archive_commandの設定ミス- pgBackRest構成ファイルの設定ミス
- ネットワークまたは権限の問題
- サードパーティー製品(S3、Swift、Minioなど)の設定の問題
- アーカイブ待ちのWALが大量にキューにたまっている
次の確認を推奨します。
- PostgreSQLの
archive_commandを確認する - 各ホストのpgBackRest構成設定を確認する(たとえば、リポジトリホストに
pg*の設定、pgホストにrepo*の設定が指定されているか) --archive-timeoutをpgBackRest構成ファイル内の値(またはデフォルト値)より大きくしてcheckコマンドを実行し、WALキューを処理し終えるまでにより長い時間が必要かどうかを確認する。システムで大量のWALを生成している場合は、非同期アーカイブ の構成を検討する
バックアップセットを手動で削除するにはどうすればよいですか。
コマンドリファレンス:Expire
で説明しているとおり、--setオプションを使用してフルバックアップセットを期限切れとして削除できます。
コマンドごとにオプションを個別に設定するにはどうすればよいですか。
pgBackRestでは、構成ファイル内でコマンドごとにオプションを個別に設定できます。クラスターのstanzaの構成 で、この機能とオプションの優先順位を詳しく説明しています。
たとえば、コマンドごとにprocess-maxオプションを最適化できます。
S3バケット名にドット(ピリオド)を使用できますか。
RFC-2818では、ワイルドカードをドット(.)に一致させることを認めていないため、S3バケット名にドットを含めてはなりません。S3バケット名にドットが含まれると、「unable to find hostname ‘my.backup.bucket.s3.amazonaws.com’ in certificate common name or subject alternative names」などのエラーが発生します。
例外はrepo-s3-uri-style=pathです。これは、バケットをホストではなくURIの先頭に付加します。バケットがホスト名の一部ではないため、証明書はエンドポイントのみと照合され、バケット名内のドットは問題になりません。ただし、すべてのS3互換オブジェクトストアがパス形式のURIをサポートしているわけではありません。
以前のバージョンのpgBackRestのパッケージはどこにありますか。
apt.postgresql.org リポジトリでは、以前のバージョンのアーカイブ を管理しています。Debianでも、すべてのテストビルドのスナップショット を管理しています。
backup-standby=yでスタンバイデータベースが停止していると、バックアップが失敗するのはなぜですか。
スタンバイからのバックアップを構成する主な目的は、プライマリーの負荷を減らすことです。そのため、スタンバイが停止したときにバックアップをプライマリーへ切り替えると、多くの場合、その目的を果たせなくなります。システムですでに障害が発生している状況で、プライマリーにさらに負荷をかけることは推奨しません。比較的新しいバックアップがあれば、バックアップ取得は緊急の作業ではありません。重要なのは、WALのアーカイブを遅れずに続けることです。システムが再び安定してからバックアップを取得する時間は十分にあります。
どうしてもバックアップが必要であれば、スタンバイを増やすか、backup-standbyを削除することが解決策になります。コマンドラインで--no-backup-standbyを指定すれば上書きできるため、一度だけのバックアップのために構成を変更する必要はありません。
リポジトリはスタンバイホストに配置すべきですか。
いいえ。プライマリーとスタンバイのデータベースを構成する場合、フェイルオーバーをシームレスに処理できるように、pgBackRestの構成ファイルは対称にすることを推奨します。そうでなければ、フェイルオーバー時に構成を変更する必要があり、さらに問題が生じる可能性もあります。
詳しくは、ユーザーガイドの専用リポジトリホスト のセクションを参照してください。
時刻を指定したポイントインタイムリカバリーが動作しないように見えるのはなぜですか。
時刻を指定したポイントインタイムリカバリーで最もよくある間違いは、目標時刻より前のバックアップセットを選び忘れることです。--setオプションを指定していない場合、pgBackRestは--target=で指定した時刻に向けて再生できるバックアップを見つけようとします。バックアップセットが見つからなければ、デフォルトで最新のバックアップをリストアします。ただし、最新のバックアップが目標時刻より後の場合、PostgreSQLは--target=を有効なものとみなさず無視するため、利用可能な最新時刻までWALリカバリーが進みます。
--setオプションを使用するには、infoコマンドを実行し、終了タイムスタンプが目標時刻より前のバックアップを見つけてバックアップセットを選択します。リストアを実行するときに、--set=BACKUP_LABELオプションを指定します。BACKUP_LABELは選択したバックアップセットです。
詳しくは、ユーザーガイドのポイントインタイムリカバリー のセクションを参照してください。
WALアーカイブの接尾辞は何を意味しますか。
接尾辞は、ファイルの整合性を検証するためのSHA1チェックサムです。省略する方法はありません。
バックアップの種類(フル、差分、増分)によってリストアにかかる時間は長くなりますか。
どの種類のバックアップも、リストアに必要な時間は同じです。リストアではバックアップマニフェストに基づいてファイルを取得します。増分バックアップや差分バックアップの場合、マニフェストが以前のバックアップ内のファイルを参照することがあります。バックアップの種類によって、バックアップの作成にかかる時間には差が生じることがありますが、ディスクI/O、ネットワークI/Oなどが同じであれば、リストア時間を決めるのはデータベースのサイズです。
ネットワークから隔離された環境で使用するために、バックアップをエクスポートするにはどうすればよいですか。
pgBackRestは、バックアップやWALアーカイブの保存だけでなく、圧縮、暗号化、ファイルのバンドル化といった機能に必要な重要なメタデータの維持にもリポジトリを使用します。このため、非常に限定的で厳しい条件を満たさない限り、バックアップとWALファイルの一部を単純にコピーするだけでは、通常は動作しません。
ただし、データベースを単独で利用できる形でエクスポートし、USBなどで転送することが目的であれば、回避策があります。--archive-copy
オプションを有効にしてバックアップを作成し、必要なWALセグメントがバックアップとともに保存されるようにします。その後、--type=none
--pg1-path=/your/target/pathを使用してリストアします。これにより、必要なWALファイルがすべてpg_walに配置された、リストア済みのPostgreSQLデータディレクトリが生成されます。これはpg_basebackupで作成されるものと似ています。
このディレクトリを別のシステムにコピーすれば、PostgreSQLはpgBackRestリポジトリにアクセスせずにリカバリーできるはずです。
このバックアップのリカバリーではタイムラインの切り替えが発生しないため、このクラスターはエクスポート元のリポジトリにWALを送信すべきではないことに注意してください。新しいクラスターがネットワークから隔離された環境にある場合、これは問題にならないはずです。
3 - プロジェクトの指標
コードカバレッジ
pgBackRest は、/src のコア C コードを完全に function/branch/line カバーすることを目指しています。
関数/行は例外なく完全にカバーされています。
ブランチ カバレッジでは、マクロ内のブランチと assert() 呼び出しは除外されます。マクロには独自の単体テストがあるため、マクロが出現するすべての場所でテストする必要はありません。アサートは常に true であるべきケースをテストするため、完全な分岐カバレッジを持つことは期待されていません。
| ディレクトリ | 機能 | 支店 | ライン |
|---|---|---|---|
| ビルド/共通 | 32/32 (100.00%) | 72/72 (100.00%) | 268/268 (100.00%) |
| ビルド/構成 | 39/39 (100.00%) | 564/564 (100.00%) | 1142/1142 (100.00%) |
| ビルド/エラー | 6/6 (100.00%) | 22/22 (100.00%) | 71/71 (100.00%) |
| ビルド/ヘルプ | 13/13 (100.00%) | 138/138 (100.00%) | 265/265 (100.00%) |
| ビルド/ポストグレス | 8/8 (100.00%) | 58/58 (100.00%) | 149/149 (100.00%) |
| コマンド | 17/17 (100.00%) | 104/104 (100.00%) | 210/210 (100.00%) |
| コマンド/注釈を付ける | 1/1 (100.00%) | 12/12 (100.00%) | 30/30 (100.00%) |
| コマンド/アーカイブ | 14/14 (100.00%) | 98/98 (100.00%) | 189/189 (100.00%) |
| command/archive/get | 10/10 (100.00%) | 208/208 (100.00%) | 447/447 (100.00%) |
| command/archive/push | 12/12 (100.00%) | 142/142 (100.00%) | 359/359 (100.00%) |
| コマンド/バックアップ | 50/50 (100.00%) | 786/786 (100.00%) | 1640/1640 (100.00%) |
| コマンド/チェック | 13/13 (100.00%) | 106/106 (100.00%) | 214/214 (100.00%) |
| コマンド/コントロール | 4/4 (100.00%) | 34/34 (100.00%) | 48/48 (100.00%) |
| コマンド/期限切れ | 11/11 (100.00%) | 274/274 (100.00%) | 392/392 (100.00%) |
| コマンド/ヘルプ | 8/8 (100.00%) | 178/178 (100.00%) | 283/283 (100.00%) |
| コマンド/情報 | 16/16 (100.00%) | 430/430 (100.00%) | 748/748 (100.00%) |
| コマンド/ローカル | 1/1 (100.00%) | — | 4/4 (100.00%) |
| コマンド/リモート | 1/1 (100.00%) | 6/6 (100.00%) | 18/18 (100.00%) |
| コマンド/リポジトリ | 9/9 (100.00%) | 110/110 (100.00%) | 195/195 (100.00%) |
| コマンド/復元 | 37/37 (100.00%) | 726/726 (100.00%) | 1350/1350 (100.00%) |
| コマンド/サーバー | 6/6 (100.00%) | 24/24 (100.00%) | 81/81 (100.00%) |
| コマンド/スタンザ | 5/5 (100.00%) | 106/106 (100.00%) | 125/125 (100.00%) |
| コマンド/検証 | 22/22 (100.00%) | 366/366 (100.00%) | 733/733 (100.00%) |
| 共通 | 146/146 (100.00%) | 624/624 (100.00%) | 1350/1350 (100.00%) |
| 共通/圧縮 | 12/12 (100.00%) | 24/24 (100.00%) | 80/80 (100.00%) |
| common/compress/bz2 | 13/13 (100.00%) | 20/20 (100.00%) | 123/123 (100.00%) |
| common/compress/gz | 13/13 (100.00%) | 26/26 (100.00%) | 118/118 (100.00%) |
| common/compress/lz4 | 15/15 (100.00%) | 24/24 (100.00%) | 116/116 (100.00%) |
| common/compress/zst | 13/13 (100.00%) | 12/12 (100.00%) | 96/96 (100.00%) |
| 共通/暗号 | 32/32 (100.00%) | 88/88 (100.00%) | 424/424 (100.00%) |
| 共通/エラー | 33/33 (100.00%) | 66/66 (100.00%) | 179/179 (100.00%) |
| 共通/io | 61/61 (100.00%) | 182/182 (100.00%) | 523/523 (100.00%) |
| common/io/filter | 31/31 (100.00%) | 92/92 (100.00%) | 276/276 (100.00%) |
| common/io/http | 58/58 (100.00%) | 292/292 (100.00%) | 685/685 (100.00%) |
| common/io/socket | 28/28 (100.00%) | 110/110 (100.00%) | 339/339 (100.00%) |
| common/io/tls | 37/37 (100.00%) | 122/122 (100.00%) | 409/409 (100.00%) |
| 共通/タイプ | 335/335 (100.00%) | 922/922 (100.00%) | 3123/3123 (100.00%) |
| 設定 | 93/93 (100.00%) | 1025/1026 (99.90%) | 1649/1649 (100.00%) |
| データベース | 23/23 (100.00%) | 94/94 (100.00%) | 301/301 (100.00%) |
| 情報 | 48/48 (100.00%) | 240/240 (100.00%) | 712/712 (100.00%) |
| 情報/マニフェスト | 10/10 (100.00%) | 132/132 (100.00%) | 303/303 (100.00%) |
| ポストグレ | 36/36 (100.00%) | 140/140 (100.00%) | 336/336 (100.00%) |
| postgres/インターフェース | 4/4 (100.00%) | 10/10 (100.00%) | 35/35 (100.00%) |
| プロトコル | 60/60 (100.00%) | 266/266 (100.00%) | 860/860 (100.00%) |
| ストレージ | 68/68 (100.00%) | 298/298 (100.00%) | 754/754 (100.00%) |
| ストレージ/Azure | 26/26 (100.00%) | 164/164 (100.00%) | 487/487 (100.00%) |
| ストレージ/cif | 2/2 (100.00%) | — | 6/6 (100.00%) |
| ストレージ/GC | 34/34 (100.00%) | 176/176 (100.00%) | 574/574 (100.00%) |
| ストレージ/posix | 29/29 (100.00%) | 165/166 (99.40%) | 328/328 (100.00%) |
| ストレージ/リモート | 40/40 (100.00%) | 128/128 (100.00%) | 568/568 (100.00%) |
| ストレージ/S3 | 31/31 (100.00%) | 194/194 (100.00%) | 651/651 (100.00%) |
| ストレージ/SFTP | 39/39 (100.00%) | 408/408 (100.00%) | 762/762 (100.00%) |
| 合計 | 1705/1705 (100.00%) | 10608/10610 (99.98%) | 25128/25128 (100.00%) |
/test/src/module の C 単体テスト モジュールにも完全な関数/行が含まれていますが、レポートには含まれていません。