Trusted Postgres Architect 23.35.0 release notes#
リリース日2024年11月25日
Trusted Postgres Architect 23.35.0の新機能、機能強化、バグ修正、およびその他の変更には次のものが含まれます。
ハイライト#
STIG / CISコンプライアンスのためのオプション。
PGD軽量アーキテクチャのサポート
Postgisは認識される拡張機能になりました。
Docker
configureは、静的IPアドレスを使用して名前付けネットワークを作成します。ARMアーキテクチャ用のRedHat Enterprise Linux 9のサポート。
PostgreSQL、 EDB Postgres Extended、およびEDB Postgres Advanced Server 17のサポート。
機能強化#
Description |
Addresses |
|---|---|
STIG / CISコンプライアンスをサポートします。 TPAは、STIGおよびCISセキュリティ標準の多くの要件に準拠するように構成されたクラスターを作成するコマンドラインオプションをサポートするようになりました。これらのオプションにより、TPAは、関連する標準で定義されているようにpostgresql.conf設定を設定し、必要な拡張機能をインストールし、ファイルシステムの権限やユーザー接続制限などのシステム動作の他の側面を構成し、FIPS暗号標準などの他の要件をチェックします。 TPAは直接課すことはできません。このように生成されたクラスターは、標準に適合することはTPAによって認定されていませんが、適合するクラスターを作成する基礎作業の多くが自動化されています。 |
|
PGD Lightweightアーキテクチャのサポートを追加します。 TPAは、物理レプリケーションからの移行を容易にするように設計された2つの場所の3つのノードプライマリに2ノード、ディザスターリカバリーに1つで構成されるPGD Lightweightアーキテクチャを生成できるようになりました。ユーザーは`tpaexec configure lw -a Lightweight --postgresql 15`を実行できるようになりました。 |
|
`configure`にDockerでユーザー定義のネットワークを作成してもらいます。 Dockerが選択されたプラットフォームである場合、configureコマンドは、名前付けネットワークと静的IPアドレスをconfig.ymlに自動的に追加します。ネットワーク名はクラスター名と同じであり、アドレス範囲は--networkオプションの既存のセマンティクスに従いますが、場所ごとに1つではなくクラスター全体で1つのサブネットのみが使用されることを除きます。ユーザーがサブネットプレフィックスを指定しない場合、TPAはプレフィックスを選択しようとします。その結果、クラスター全体に適合する十分な大きさのサブネットが得られます。 config.ymlで名前付けネットワークが指定されている限り、キー `ip_address`を使用してDockerインスタンスの静的IPを指定できるようになりました。 |
|
新しいクラスターのバックアップノードとして既存のBarmanノードを使用するための実験的なサポートを追加しました。既存のBarmanノードを新しいクラスターのバックアップノードとして使用する場合、ユーザーはプラットフォームを`bare`に設定し、ベアインスタンスに通常どおり提供されるその他の情報を使用して、 Barmanインスタンスのvarsに`barman_shared: true`を設定できます。 Barmanユーザーは既に以前の展開からプロセスを実行しているため、この変更により、TPAはusermodの問題が原因で失敗するいくつかの構成手順をスキップできます。共有Barmanインスタンスはベアインスタンスとして扱われるため、ターゲットPostgreSQLインスタンスへのBarmanユーザーのアクセスを含む必要なアクセスが既に設定されている必要があります。 Barmanユーザーのキーを元のクラスターから新しいクラスターにコピーすることは、これを実現するために使用できます。詳細については、TPAドキュメントのBarmanセクションを参照してください。 |
|
`postgis`を認識される拡張機能のリストに追加します。 PostGISパッケージは、ユーザーが`postgres_extensions`または`postgres_databases`の下で名前付けた拡張機能のリストのエントリとして`postgis`を指定すると、自動的に追加されます。また、RHEL互換ディストリビューションのCRB Code Ready Builderリポジトリを有効にして、PostGIS依存関係をインストールできるようにします。 |
|
PEMエージェントがEFMノードに登録されているときにEFMプローブを有効にします。 --efm-install-path`および--efm-cluster-name`フラグは、PEMサーバーがEFMノードに登録されるときに設定されます。 Streaming Replication、Failover Manager Node Status、および`Failover Manager Cluster Info`プローブは、PEMエージェントがEFMノードに登録されているときに有効になります。 |
|
ARMアーキテクチャ向けのRedHat Enterprise Linux 9をサポートします。パッケージはRHEL 9 ARM64をターゲットとして公開され、TPAはこのアーキテクチャとOSを使用した展開をサポートしています。また、サポートされるAWSイメージのリストを更新して、Amazonが提供するRedHat 9 ARM64 AMIを含めます。 ARM64 EC2インスタンスのデフォルトの`instance_type`が`a1`から`t4g`に更新されました。これは、バースト可能な汎用ワークロードで使用可能な現行世代のプロセッサです。 |
|
PostgreSQL、 EDB Postgres Extended、およびEDB Postgres Advanced Server 17をサポート。 PostgreSQL、 EDB Postgres Extended、およびEDB Postgres Advanced Serverバージョン17を使用するようにクラスターを構成できます。Barmanは、postgresサーバーパッケージをインストールして使用するときに`pg_receivewal`バイナリを取得する必要がなくなりました。 EDB Postgres Advanced Server 17またはEDB Postgres Extended 17。バイナリがこれらのバージョンのクライアントパッケージに追加されているため。 TPAは、クラスターがfailover_managerとして`repmgr`で構成されている場合、Postgres 17で使用できないため、アーキテクチャエラーを発生します。サポートされているバージョンを反映するようにドキュメントを更新しました。 |
|
efm Postgresの`password_encryption`アルゴリズムをユーザー設定可能にします。構成可能な`efm_user_password_encryption`変数を公開します。これは、ユーザー要件に応じて`'md5'または'scram-sha-256'のいずれかに設定する必要があります。これは、 `pg_hba.conf`の`efm Postgresユーザーの`auth-method`と、その暗号化されたパスワードを生成するために使用されるアルゴリズムを制御します。 stig`に構成された`compliance`で展開されたクラスターでは、 FIPS対応オペレーティングシステムでは`md5`の使用が許可されていないため、 `pg_hba.conf`の 'efm' Postgresユーザーの`auth-method は`scram-sha-256`に設定されます。 |
|
ホスト名とともに複数のアドレスを指定できるようにします。 tpaexec configure`に--hostnames-from`オプションを使用する場合、各行に2つのIPアドレスを含めることができるようになりました。これらは、生成されたconfig.ymlにpublic_ipおよびprivate_ipとして含まれます。 |
の変更#
Description |
Addresses |
|---|---|
postgres.service.j2テンプレートの非推奨の`PermissionStartOnly`を削除します。 `PermissionsStartOnly`は非推奨であり、`ExecStartPost=+/bin/bash...`構文を介して実現されます |
|
barman Postgresユーザーはスーパーユーザーではなくなりました。特定の必要な特権がPostgresロール`barman_role`に付与され、これが`barman` Postgresユーザーに付与されます。これにより、スーパーユーザーとして`barman`ユーザーを作成する必要がなくなります。このロールは、 `postgres/createuser`を使用して`granted_roles`リストに追加することにより、他のPostgresユーザーに付与することもできます。 `barman_role`は、 Barmanタスクの一部として作成されます。 Barmanを使用しない場合、このロールは作成されません。したがって、このロールに特権を付与するタスクは、`barman_role`ユーザー名が作成されるPostgresユーザーのリストにある場合にのみ実行されます。 'barman'ユーザーは、ロール属性として明示的に指定された`NOSUPERUSER`を持つようになりました。クラスターが以前のTPAバージョンスーパーユーザーとして作成されたバーマンユーザーで展開された場合、このバージョンで展開すると`barman`ユーザーから`superuser`ロール属性を削除します。 |
|
HARPでetcdを使用する場合、新しいオプション `harp_local_etcd_only`を追加します。 HARPでetcdを使用する場合に使用可能な新しいオプションのvar `harp_local_etcd_only`を追加します。このオプションは、 HARPマネージャーにローカルetcdノードに接続するように指示します。この推奨事項は、コンセンサスプロトコルとして`bdr`が使用されるときに同じことを行うことにより学習されたベストプラクティスに従います。複数のエンドポイントを追加するデフォルトモードでは、場合によってパフォーマンスの問題が発生する可能性があります。このオプションは、ユーザーにさらなる制御を与えるために追加されます。 |
|
postgres-monitorスクリプトを改善します。 postgres-monitorスクリプトを改善して回復可能なエラーをより適切に管理し、ネットワークエラーの再試行を追加して、postgresサービスが完全に開始するための十分な時間を許可できなかった場合に障害を返さないようにします。 |
|
`efm`ロールを持つノードのみをクラスター`efm.nodes`ファイルに追加します。以前は、`pemserver`および`barman`ノードは、EFM機能に関連しない場合、EFMの`Allowed node host list`に追加されました。ロールのリストに`efm`があるノードのみを含めるように`efm.node`構成を書き込むタスクをリファクタリングしました。 |
バグ修正#
Description |
Addresses |
|---|---|
pgd-proxy構成検証のtpaexecテストを修正します。現在のpgd-proxy構成が予想される構成と一致することを確認するテストが、バージョン<5.5.0では失敗するバグを修正しました。この修正により、TPAはバージョン5.5.0で追加された構成キーを照会しようとしません。 |
|
EFM互換性のために追加された`primary_slot_name`が`bdr_init_physical`と干渉する場合を修正します。 `primary_slot_name`は、プライマリノードで構成されて、古いプライマリがEFMスイッチオーバー中にレプリケーションに物理スロットを使用するようにします。ただし、 'bdr_init_physical'はノードの初期化にそれを使用しようとしますが、スロットがPGDインストールに存在しないため、無期限にハングします。 `failover_manager`がEFMの場合、この`primary_slot_name`は条件付きで明示的に設定されるようになり、不必要な設定を回避します。 |
|
正しい`bash-completion`パッケージバージョンをダウンロードします。 `config.yml`で`pgdcli_package_version`が指定されている場合、 `packages_for`フィルタは誤って`pgdcli_package_version`をパッケージ名に追加するため、 `bash-completion`パッケージの名前は誤って命名されます。これにより、存在しないパッケージをダウンロードしようとします。 `bash-completion`パッケージのバージョンは`pgdcli_package_version`から独立しているため、 `packages_for`フィルターの後のリストに追加されます。 |
|
場合によっては、タスクが成功した後でもエラーメッセージが繰り返される問題を修正します。 TPAは、各タスクの後にエラーメッセージスタックをクリアして、メッセージが誤って繰り返されないように保証 |
|
Patroniクラスターへのレプリカの追加を妨げた問題を修正します。 Patroniクラスターの新しいレプリカがレプリケーションスロットに関連するエラーで失敗する問題を修正しました。 |
|
M1アーキテクチャの場合、barmanノードに`pem-agent`ロールを最大1回追加します。 --enable-pem`および--enable-pg-backup-api`が`tpaexec configure`に渡される場合、 `witness`でもある場合、`pem-agent`は`barman`ノードに2回追加されます。両方の`if`ステートメントを統合して、条件を1回のみ評価することにより修正しました。 |
|
`pem_python_executable`を`pkg`ロールの外部に設定します。ユーザーが`pkg`セレクターを除外すると、 `pem_python_executable`ファクトが設定されていないために後のPEM関連タスクが失敗するバグを修正しました。 |