PostgreSQL 12 DBMS リリース

XNUMX年間の開発を経て 出版された PostgreSQL 12 DBMS の新しい安定したブランチ。新しいブランチの更新 出てくるでしょう 2024年XNUMX月までのXNUMX年間。

メイン イノベーション:

  • 「」のサポートを追加しました。生成された列"、その値は、同じテーブル内の他の列の値をカバーする式に基づいて計算されます (ビューと似ていますが、個々の列に対して)。 生成される列には、保存列と仮想列の XNUMX つのタイプがあります。 最初のケースでは、データが追加または変更されたときに値が計算され、XNUMX 番目のケースでは、他の列の現在の状態に基づいて読み取りごとに値が計算されます。 現在、PostgreSQL は格納された生成列のみをサポートしています。
  • を使用して JSON ドキュメントからデータをクエリする機能が追加されました。 パス式似ている XPath SQL/JSON 標準で定義されています。 既存のインデックス作成メカニズムは、JSONB 形式で保存されたドキュメントのこのような式の処理効率を向上させるために使用されます。
  • デフォルトでは、LLVM 開発に基づく JIT (ジャストインタイム) コンパイラの使用が有効になっており、SQL クエリ処理中の一部の式の実行を高速化します。 たとえば、JIT は、WHERE ブロック内の式、ターゲット リスト、集計式、および一部の内部操作の実行を高速化するために使用されます。
  • インデックス作成のパフォーマンスが大幅に向上しました。 B ツリー インデックスは、インデックスが頻繁に変更される環境で動作するように最適化されています。TPC-C テストでは、全体的なパフォーマンスの向上とディスク スペース消費量の平均 40% の削減が示されています。 GiST、GIN、SP-GiST インデックス タイプの先行書き込みログ (WAL) を生成する際のオーバーヘッドが削減されました。 GiST の場合、追加の列を含むラッパー インデックスを (INCLUDE 式を介して) 作成する機能が追加されました。 稼働中 統計の作成 不均等に分散された列を使用する場合に、より最適なクエリ プランを生成できるように、最も一般的な値 (MCV) 統計のサポートが提供されています。
  • パーティショニングの実装は、数千のパーティションを持つテーブルにまたがるクエリ向けに最適化されていますが、データの限られたサブセットの選択に制限されています。 INSERT および COPY 操作を使用してパーティション テーブルにデータを追加するパフォーマンスが向上し、クエリの実行をブロックすることなく、「ALTER TABLE ATTACH PARTITION」を通じて新しいセクションを追加することも可能です。
  • 一般化されたテーブル式の自動インライン展開のサポートが追加されました (共通テーブル式、CTE) により、WITH ステートメントを使用して指定された一時的な名前付き結果セットの使用が可能になります。 インライン展開はほとんどのクエリのパフォーマンスを向上させることができますが、現在は非再帰的 CTE にのみ使用されます。
  • 追加されたサポート 非決定的 「照合順序」ロケールのプロパティ。これにより、文字の意味を考慮して並べ替えルールと一致方法を設定できます(たとえば、デジタル値を並べ替える場合、数値の前のマイナスとドットの存在、およびさまざまな型)綴りの違いが考慮され、比較の際、文字の大文字と小文字、アクセント記号の有無は考慮されません)。
  • 多要素クライアント認証のサポートが追加されました。pg_hba.conf では、SSL 証明書認証 (clientcert=verify-full) と、認証用の scram-sha-256 などの追加の認証方法を組み合わせることができます。
  • による認証時の通信チャネルの暗号化のサポートが追加されました。 GSSAPI、クライアント側とサーバー側の両方で。
  • PostgreSQL が OpenLDAP で構築されている場合、「DNS SRV」レコードに基づいて LDAP サーバーを決定するためのサポートが追加されました。
  • 追加操作「同時に再インデックスする» インデックスへの書き込み操作をブロックせずにインデックスを再構築します。
  • チームが追加されました pg_チェックサムこれにより、既存のデータベースのデータ ページのチェックサムのチェックを有効または無効にすることができます (以前は、この操作はデータベースの初期化中にのみサポートされていました)。
  • CREATE INDEX、REINDEX、CLUSTER、VACUUM FULL、および pg_checksums 操作の進行状況インジケーターの出力を提供しました。
  • コマンド「」を追加しました。アクセスメソッドの作成» さまざまな特定のタスクに最適化された新しいテーブル ストレージ メソッドのハンドラーを接続します。 現在、唯一の組み込みテーブル アクセス方法は「ヒープ」です。
  • Recovery.conf 構成ファイルは postgresql.conf とマージされました。 障害発生後の復旧状態への移行を示す指標として、 でなければなりません Recovery.signal ファイルとstandby.signal ファイルを使用します。

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

コメントを追加します