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のアーカイブを要求する場合、そのアーカイブ要求はポジティブなステータスで却下されるだけです。