最近 PostgreSQL開発者は、修正バージョン9から12のリリースを発表しました 新しいバージョンは12.2、11.7、10.12、9.6.17、9.5.21、および9.4.26です。 そのうちの この最後 (9.4.26)は、9.4ブランチ用に準備された最後の更新です。。 バージョン9.5のアップデートは2021年9.6月まで、2021は10年2022月まで、PostgreSQL 11は2023年12月まで、PostgreSQL 2024はXNUMX年XNUMX月まで、PostgreSQLXNUMXはXNUMX年XNUMX月まで形成されます。
新しい修正バージョンのリリースに伴い 開発者は75のバグが修正され脆弱性が修正されたと述べています(CVE-2020-1720) コマンド«ALTER…DEPENDSONEXTENSION»を実行する際の認証検証が不足しているため。
脆弱性について
特定の状況では、 この脆弱性により、特権のないユーザーは、関数、プロシージャ、マテリアライズドビュー、インデックス、またはトリガーを削除できます。。 管理者が拡張機能をインストールしていて、ユーザーがCREATEコマンドを実行できるか、拡張機能の所有者がDROP EXTENSIONコマンドを実行するように説得されている場合、攻撃が発生する可能性があります。
さらに、 複数のPostgreSQLサーバー間でデータを複製できる新しいpgcatアプリケーションの外観を確認できます。。 プログラムは、データの変更につながるメインサーバーで実行されるSQLスクリプトの別のホストでの変換と再生を通じて、論理レプリケーションをサポートします。
その他の変更
バージョン12にのみ影響するいくつかの変更も強調表示されています。
- あらゆるタイプのターゲットテーブル(ビュー、fdw(Foreign Data Wrapper)、セグメント化されたテーブル、分散されたcitusテーブル)のサポート。
- テーブル名を再定義する機能(あるテーブルから別のテーブルへのレプリケーション)。
- 外部からのレプリカを無視して、ローカルの変更のみを転送することによる双方向レプリケーションのサポート。
- LWW(last-writer-win)アルゴリズムに基づく競合解決システムの存在。
- レプリケーションの進行状況と適用されていないレプリカに関する情報を別のテーブルに保存する機能。これを使用して、一時的にアクセスできない受信ノードの再開後に復元できます。
Y 修正のうち、以下が際立っており、その大部分はバージョン12に影響を与えます ただし、以前のバージョンにも存在します。
- サブパーティションテーブル(別名マルチレベルパーティションテーブル)に外部キー制約を追加するときのバグを修正しました。 この機能がすでに使用されている場合は、影響を受けるパーティションをデタッチして再アタッチするか、外部キー制約を削除してプライマリテーブルに再度追加することで解決できます。 これらの手順の実行方法の詳細については、ALTERTABLEのドキュメントを参照してください。
- CVE-2017-7484の修正によって導入されたパーティションテーブルのパフォーマンスの問題が修正されました。これにより、クエリにリーク演算子が含まれている場合に、ユーザーが親テーブルでアクセスできる列の子テーブルの統計を使用できるようになりました。
- RECORDなどの疑似型を返すパーティションキー式を無視するなど、パーティションテーブルに対するその他のさまざまな修正と変更。
- 論理レプリケーションサブスクライバーが列ごとにUPDATEトリガーを実行するように修正しました。
- さまざまなクラッシュと論理レプリケーションのパブリッシャーおよびサブスクライバーのクラッシュを修正しました。
- REPLICA IDENTITY FULLを使用して、論理レプリケーションの効率を改善しました。
- walsenderプロセスのさまざまな修正。
- ハッシュのパフォーマンスは、非常に大きな内部関係によって改善されます。
- 並列クエリプランのさまざまな修正。
- 単一行のサブクエリ結合に影響するものを含む、クエリプランナーのバグに対する複数の修正。
- OR句の誤った推定を含む、MCV拡張統計のいくつかの修正が含まれています。
- 多くのコアを備えたCPUでの並列ハッシュジャンクションの効率が向上しました。
これらの修正バージョンのリリースについて詳しく知りたい場合は、 詳細はで確認できます 次のリンク。
アップデートについて 現在のバージョンに対応する新しい修正バージョンに、pg_upgradeを実行する必要はありません。 インストールのバイナリを更新する必要があります。