Trusted Postgres Architect 23.38.0 release notes#
リリース日2025年6月9日
Trusted Postgres Architect 23.38.0の新機能、機能強化、バグ修正、およびその他の変更には次のものが含まれます。
ハイライト#
ExpandedとEssentialアーキテクチャの両方でのEDB Postgres分散バージョン6の展開のサポート
CVE-2025-2291の緩和を含むPgBouncer実装の改善
PEM 10.1のサポート
機能強化#
Description |
Addresses |
|---|---|
PGD6アーキテクチャのサポート。TPAは、 PGD6に基づいてPGD-XおよびPGD-Sアーキテクチャを使用してクラスターを構成および展開できるようになりました PGD-SアーキテクチャはPGD Essentialを実装し、 PGD-XアーキテクチャはPGD Expandedを実装します。これらのアーキテクチャには、合理的なデフォルト構成があり、さまざまな構成オプションを受け入れて動作をカスタマイズします。 PGD 6展開にはpgd-proxyが含まれません。代わりに、PGDのビルトイン接続マネージャーが構成されます。新しいアーキテクチャのテストサポートが追加されました。</p> |
|
両方がクラスター内に存在する場合、 Barmanを監視するようにPEMを構成します。クラスターがPEMを有効にして--enable-pemオプションを使用して構成され、 Barmanノードを含む場合、次のアクションが自動的に実行されるようになりました。</p> < ul> <li>enable_pg_backup_apiはconfig.ymlでtrueに設定されています。</li> <li>pem-agentロールはBarmanノードに割り当てられます。</li> <li> BarmanエンドポイントはローカルPEMエージェントに登録されています。 </li> </ul>これらの変更により、セットアップが簡素化され、PEMとBarmanのシームレスな統合が保証されます。</p> |
|
AWSでのRocky Linux 9のサポートを追加しました。TPAは、awsプラットフォームでRocky Linux 9.5を使用したクラスターの構成をサポートするようになりました。バージョンが指定されない場合、これはAWSでのRocky Linuxのデフォルトバージョンになりました。</p> |
|
SLES 15でpg_backup_apiのサポートを追加しました。TPAは、PEMモニタリングが有効であり、 Barmanノードがクラスター内に存在する場合、pg_backup_apiがSUSE Linux Enterprise Server 15 SLES 15で構成されます。</p> |
の変更#
Description |
Addresses |
|---|---|
PEM 10.1以降の文字列としてPEM_DB_PORTを扱います。 PEM 10.1では、Webアプリケーションからバックエンドサーバーへのマルチホスト接続文字列のサポートを追加します。この変更をサポートするために、PEMのconfig_setup.pyファイルのPEM_DB_PORTパラメーターが整数ではなく文字列になりました。 TPAはHA PEM構成の展開をまだサポートしていませんが、PEMバージョンが10.1以上の場合、TPAはこのパラメーターを文字列として正しく設定するようになりました。</p> |
|
リポジトリがタスクから除外される場合、TPAはリポジトリチェックをスキップするようになりました。repoタグは除外に使用できますが、以前はsys/repositoriesロールの下のタスクのみをスキップしていました。また、どのリポジトリを使用するかをチェックする初期化タスクをスキップし、それらにアクセスするための資格情報が提供されていることを確認します。</p> |
|
postgres_package_versionの動作を改善しました。 postgres_package_versionを設定すると、TPAはEDB Postgres Advanced ServerまたはEDB Postgres Extended ServerをインストールしているDebianまたはUbuntuシステムに、さまざまなpostgres関連コンポーネントの選択したバージョンをインストールします。これにより、新しいパッケージバージョンがリポジトリで表示される場合の依存関係解決の問題を回避します。</p> |
|
新しいタスクセレクターcreate_postgres_system_userおよびcreate_pgd_proxy_system_userを追加しました。 postgres_userおよびpgd_proxy_userオペレーティングシステムユーザーをスキップできる新しいタスクセレクターを追加しました。これにより、クラスターは、NISなどの集中ユーザー管理によって作成されたリモートユーザーを使用できます。これはconfig.ymlで設定できます。 cluster_vars: individually_tasks: - create_postgres_system_user - create_pgd_proxy_system_user</p> |
48601,44388 |
TPAは、スイッチオーバー中にPgBouncerをM1 repmgrクラスターの新しいプライマリにリダイレクトするようになりました。TPAは、repmgr_redirect_pgbouncerがtrueに設定されているrepmgr + PgBouncerクラスターでswitchoverコマンドを使用した後、PgBouncerインスタンスが新しいプライマリノードにリダイレクトされるようにします。 tpaexec switchoverコマンドは、PgBouncerインスタンスが新しいプライマリノードに接続するようになりました。最初のスイッチオーバーが完了して、最初のプライマリノードに戻した後、新しいrevert_redirect変数を追加変数として設定することもできます。</p> |
|
カスタムリポジトリ定義でkey_id / gpgkeyをオプショナルにしました。 key_idおよびgpgkeyパラメータaptおよびyumカスタムリポジトリ定義の場合、基になるモジュールでは必要ありません。インストール前にこれを提供するのが簡単ではないユースケースがあります。この変更により、TPAは、カスタムリポジトリ定義でそれらを提供することを義務付けません。</p> |
|
PGD CLI 5.7.0+のtpaexecテストのverify-settingsチェックを修正しました。 PGD CLIコマンドpgd verify-settingsの出力は、PGD 5.7.0で変更されました。 PGD CLIの5.7.0より上のバージョンを使用する場合、TPAは出力を正しく解析するようになりました。 verify-settingsは、将来のPGDリリースで他のコマンドとともに非推奨になることに注意してください。これらのコマンドは、非推奨が発生するまで、新しいコマンドを呼び出すラッパーになります。</p> |
|
barman_role.TPAに権限を付与するためのロジックが改善されました。TPAは、postgresql_privsモジュールを使用してbarman_roleに付与を適用し、必要な場合にのみ変更が適用されるようになりました。さらに、 PGDクラスターでは、TPAは2番目の展開でbdr_databaseを使用するため、 DDLはPGDによってクラスター全体でレプリケートされます。</p> |
|
config.ymlのcluster_vars変数テンプレートの文書化config.ymlで不適切にテンプレート化された場合に定義されていないインベントリ変数に関連する予期しない動作による混乱を避けるために、実際の例を使用してcluster_varsの下で定義された変数の正しいテンプレート手順を説明するドキュメントを追加しました。</p> |
48797 |
TPAは、configure中に無効なCIDRが--networkフラグに渡された場合にArchitectureErrorを発生するようになりました。デフォルトでは、Python標準ライブラリのipaddressパッケージはCIDRの'厳密な'解釈を強制します。これにより、使用されるIPはのネットワークアドレスである必要があります。範囲。以前は、 --networkフラグに渡されたホストビットを含むIPは、発生したValueErrorのためスタックトレースをダンプしていました。その例外がキャッチされ、 ArchitectureErrorが発生して、 --networkパラメータに関する明確なメッセージをユーザーに表示します。</p> |
|
EFM application.nameプロパティのデフォルト値を追加しました。ノードにEFM application.nameプロパティが設定されていない場合、TPAはデフォルトとしてPostgres cluster_nameプロパティを使用します。 EFMは、スイッチオーバーを実行するとき、または新しいスタンバイデータベースを構築するときにこの値を使用します。</p> |
|
TPAは、SUSEでEDBリポジトリセットアップスクリプトを使用するようになりました。以前、TPAは繰り返しの展開で機能しなかったため、SUSEでEDBリポジトリセットアップスクリプトを使用しませんでした。スクリプトがインストールしようとしているリポジトリが既に存在し、一意の名前が必要なため、Zypperは発生します。リポジトリが既にインストールされている場合、リポジトリセットアップスクリプトタスクがスキップされるようになったため、この問題は発生しません。</p> |
バグ修正#
Description |
Addresses |
|---|---|
TPAは、専用のデータベースにpgbouncer_get_auth()ファンクションを作成します。 pgbouncer_get_auth()ファンクションはpg_catalogスキーマで作成され、pgbouncer_auth_userに実行許可されています。このファンクションはすべてのデータベースで作成されましたが、これはPgBouncerには必要ありませんでした。このファンクションがpg_catalogスキーマで作成された場合、pg_dumpによって作成されたダンプに含まれないため、pgdノードのアップグレードプロセス中に障害が発生する場合があります。後のタスクはこのファンクションでGRANTを実行しようとしますが、ファンクションは最初にダンプされていないため復元されないため、失敗します。現在、このファンクションは単一のデータベースでのみ作成され、config.ymlのpgbouncer_auth_database変数の下で名前付けられます。これが含まれない場合、デフォルトのpgbouncer_auth_database。 pgbouncerロールを持つ少なくとも1つのインスタンスがクラスターに含まれる場合にのみ作成されます。将来のTPAリリースがそのスキーマからファンクションを削除する可能性があるため、データベースがpg_catalogスキーマでこのファンクションを定義している場合、展開およびアップグレード中に警告も発行されます。 PgBouncer auth_queryが使用するpgbouncer_get_auth()ファンクション自分自身が更新されて、CVE-2025-2291に対応しました。この脆弱性により、有効期限が切れたパスワードを使用した認証が許可され、auth_queryメカニズムがユーザーパスワードのPostgreSQLで設定されたVALID UNTIL属性を考慮していないため、不正アクセスが許可される可能性があります。</p> |
42911, 45068 |
--checkオプションが使用されたときに一部のタスクが誤ってスキップされる問題を修正しました。 HARPのないPGDクラスターでは、 Read current configuration file if attemptsタスクをチェックモードで実行して、以下を正しくスキップするために利用できる情報があることを確認する必要があります。 HARPチェックタスク。ただし、デフォルトでは、Ansibleはチェックモード中にシェルモジュールを使用してタスクをスキップします。これは、このタスクが実行されず、後続のタスクで擬似障害が発生することを意味します。このタスクを実行する必要があることをAnsibleに通知します。</p> |
|
`cluster_vars['patroni_conf_settings']['bootstrap']['dcs']`を介して`ignore_slots`に追加された設定が最終的な構成にマージされないバグを修正しました。 |
|
レプリカロールを持つBDRノードのRAFTチェックがアップグレード中にスキップされなかった問題を修正しました。サブスクライバ専用ノードの物理レプリケーションは、フェールオーバーマネージャーとしてrepmgrをインストールし、サブスクライバ専用ノードを指定することにより、PGDクラスターで実現できます。プライマリと別のBDRデータノードをバックアップとしてリストする。このバックアップノードには、レプリカロールが与えられます。 TPAはBDRデータノードでRAFTが有効になっていることを想定しているため、この構成ではPGDアップグレードプロセスが失敗しますが、物理レプリカBDRデータノードレプリカとbdrロールの両方はデザインによってそうではありません。修正として、アップグレードプロセスの特定のBDR固有タスクは、レプリカロールを持つノードをスキップし、アップグレードを成功させます。</p> |
46186 |