WALアーカイブ

WALアーカイブは、 WALアーカイブ をフィードするプロセスです

CloudNativePGで。

重要

CloudNativePGは現在、オブジェクトストアのWALアーカイブのみをサポートしています。このようなWALアーカイブは、オブジェクトストアのバックアップとボリュームスナップショットのバックアップの両方に役立ちます。

WALアーカイブは、Cluster リソースの.spec.backup.barmanObjectStore スタンザで定義されています。

オブジェクトストアのバックアップ にあるものと同じ手順を進めて、WALアーカイブを設定してください。

注釈

BarmanObjectStoreConfiguration {postgresql-cnpg-io-v1-BarmanObjectStoreConfiguration} を参照してください。

オプションの完全なリストについては、APIリファレンスを参照してください。

必要に応じて、WALファイルがアップロードされたらすぐに圧縮および/または暗号化することを選択できます。

apiVersion: postgresql.cnpg.io/v1
kind: Cluster
[...]
spec:
  backup:
    barmanObjectStore:
      [...]
      wal:
        compression: gzip
        encryption: AES256

バケットに暗号化を直接構成できます。クラスター構成でオーバーライドしない限り、オペレーターはそれを使用します。

PostgreSQLは、シークエンシャル アーカイブスキームを実装しており、アーカイブされるすべてのWALセグメントに対してarchive_command がシークエンシャルに実行されます。

重要

デフォルトでは、CloudNativePGは`archive_timeout` を`5min` に設定し、ワークロードが低い場合でもWALファイルが少なくとも5分ごとに閉じてアーカイブされ、目標リカバリポイントRPOの決定論的な時間ベースの値を提供します。 archive_timeout の値を変更する場合でも、私たちの経験から、オペレーターが設定したデフォルト値がほとんどのユースケースに適していることが示唆されています。

PostgreSQLインスタンスとオブジェクトストア間の帯域幅で複数のWALファイルを並列してアーカイブできる場合、次の例のようにインスタンスマネージャーの並列WALアーカイブ機能を使用できます。

apiVersion: postgresql.cnpg.io/v1
kind: Cluster
[...]
spec:
  backup:
    barmanObjectStore:
      [...]
      wal:
        compression: gzip
        maxParallel: 8
        encryption: AES256

前の例では、インスタンスマネージャーは、PostgreSQLによって要求されたものを含む最大8つの準備ができているWALを並列アーカイブすることにより、WALアーカイブプロセスを最適化します。

PostgreSQLが、最適化としてインスタンスマネージャーによって既にアーカイブされたWALのアーカイブを要求する場合、そのアーカイブ要求はポジティブなステータスで却下されるだけです。