PostgreSQL 15 DBMS リリース

15 年間の開発を経て、PostgreSQL 2027 DBMS の新しい安定したブランチが公開されました。新しいブランチの更新は XNUMX 年 XNUMX 月までの XNUMX 年間にわたってリリースされます。

主な革新:

  • 「INSERT ... ON CONFLICT」という式に似た SQL コマンド「MERGE」のサポートが追加されました。 MERGE を使用すると、INSERT、UPDATE、および DELETE 操作を XNUMX つの式に結合する条件付き SQL ステートメントを作成できます。 たとえば、MERGE を使用すると、欠落しているレコードを挿入し、既存のレコードを更新することで XNUMX つのテーブルをマージできます。 customer_account ca にマージし、recent_transactions t ON を使用して t.customer_id = ca.customer_id 一致した場合は更新し、balance = Balance + trade_value を設定します。一致しない場合は、(customer_id, Balance) VALUES (t.customer_id, t.transaction_value) を挿入します。
  • メモリ内およびディスク上のデータを並べ替えるアルゴリズムが大幅に改善されました。 データの種類に応じて、テストでは並べ替え速度が 25% から 400% に向上したことが示されています。
  • row_number()、rank()、dense_rank()、count() を使用するウィンドウ関数が高速化されました。
  • 「SELECT DISTINCT」式を使用したクエリの並列実行の可能性が実装されました。
  • 外部テーブルを接続するメカニズムの外部データ ラッパー (postgres_fdw) は、外部サーバーへのリクエストを非同期に処理する以前に追加された機能に加えて、非同期コミットのサポートを実装します。
  • LZ4 および Zstandard (zstd) アルゴリズムを使用して WAL トランザクション ログを圧縮する機能が追加されました。これにより、一部のワークロードでは、パフォーマンスの向上とディスク領域の節約を同時に行うことができます。 障害後の回復時間を短縮するために、WAL ログに表示されるページのプロアクティブな取得のサポートが追加されました。
  • pg_basebackup ユーティリティに、gzip、LZ4、または zstd メソッドを使用したバックアップ ファイルのサーバー側圧縮のサポートが追加されました。 アーカイブに独自のモジュールを使用することができるため、シェル コマンドを実行する必要がなくなります。
  • 正規表現を使用して文字列を処理するための一連の新しい関数、regexp_count()、regexp_instr()、regexp_like()、および regexp_substr() が追加されました。
  • マルチレンジ タイプ (「マルチレンジ」) を集約する機能が range_agg() 関数に追加されました。
  • security_invoker モードが追加されました。これにより、ビュー作成者ではなく呼び出しユーザーとして実行されるビューを作成できます。
  • 論理レプリケーションの場合、行のフィルタリングと列のリストの指定のサポートが実装され、送信側でテーブルからレプリケーション用のデータのサブセットを選択できるようになりました。 さらに、新バージョンでは競合管理が簡素化され、たとえば、競合するトランザクションをスキップし、エラーが検出されたときにサブスクリプションを自動的に無効にすることが可能になりました。 論理レプリケーションでは、2 フェーズ コミット (XNUMXPC) の使用が可能になります。
  • 新しいログ形式である jsonlog が追加されました。これは、JSON 形式を使用して構造化された形式で情報を保存します。
  • 管理者は、特定の PostgreSQL サーバー構成パラメータを変更するための個々の権限をユーザーに委任することができます。
  • psql ユーティリティに、「\dconfig」コマンドを使用した設定 (pg_settings) に関する情報の検索のサポートが追加されました。
  • サーバーの動作に関する統計を蓄積するために共有メモリが確実に使用されるため、統計を収集し、状態を定期的にディスクにリセットするという別のプロセスを排除することができます。
  • デフォルトの ICU ロケール「ICU 照合」を使用する機能が提供されました。以前は、libc ロケールのみがデフォルト ロケールとして使用できました。
  • 組み込み拡張機能 pg_walinspect が提案されており、これを使用すると、SQL クエリを使用して WAL ログを含むファイルの内容を検査できます。
  • パブリックスキーマの場合、データベース所有者を除くすべてのユーザーの CREATE コマンドを実行する権限が取り消されます。
  • PL/Python では Python 2 のサポートが削除され、廃止された排他的バックアップ モードが削除されました。

追加: 19:00 から 20:00 (MSK) まで、Pavel Luzanov (Postgres Professional) と新しいバージョンの変更点について議論するウェビナーが開催されます。 ブロードキャストに参加できない人のために、PGConf.Russia での Pavel の 15 月のレポート「PostgreSQL XNUMX: MERGE など」の録画が公開されています。

出所: オープンネット.ru

コメントを追加します