PostgreSQL 13正式版リリース。B-Treeインデックスの重複排除、同一テーブル内でのVacuum並列処理など新機能
オープンソースのリレーショナルデータベース「PostgreSQL 13」の正式版がリリースされました(日本語プレスリリース。
PostgreSQLは、これまで2017年10月にPostgreSQL 10、2018年10月にPostgeSQL 11、2019年10月にPostgreSQL 12がリリースと、毎年この時期に順調にメジャーバージョンアップを続けています。
News: PostgreSQL 13 Released! https://t.co/krna5OWIq3
— PostgreSQL (@PostgreSQL) September 24, 2020
PostgreSQL 13では、標準インデックスであるB-Treeインデックスに重複排除(deduplication)機能が追加されたことで、重複したインデックスタプルをマージした効率の良い表現に変換しインデックスサイズを縮小。データ容量削減や、クエリのパフォーマンス向上、バキューム処理におけるオーバーヘッドの削減などが期待されるようになりました。
重複排除処理のオーバーヘッドが生じるタイミングは、データ挿入時にインデックスの既存のリーフページにインデックスタプルが収まりきらない場合にのみ発生します。
また、複数キーのソート処理で使える「インクリメンタルソート」と呼ばれる新しい実行プランも新機能として追加されました。既にソートされている部分結果を使って残る部分を追加でソートするため、効率的なソートが期待できます。
さらに、拡張された統計システムを使用して、OR句を持つ問い合わせや、リストに対するIN/ANYルックアップのための改善された実行計画も作成できるようになりました。
Vacuumを並列に実行する「パラレルVacuum」機能も追加されました。
Vacuum処理とは、データ削除などで生じた不要領域の回収などを行う処理です。PostgreSQL 9.5では、複数のテーブルを対象にパラレル処理でVacuumを行える機能が追加されましたが、PostgreSQL 13では同一テーブル内で複数のインデックスを対象に並列処理が可能になっています。
そのほか管理者がデータベースの動作を監視する方法としてEXPLAINからのWAL使用統計の参照、ストリーミングベースバックアップの進行状況、ANALYZEコマンドの進行状況などが追加されています。
あわせて読みたい
Google、プロジェクト管理のための新ノーコードツール「Tables」発表。リスト/カンバン/チケット管理/マップなど柔軟なビュー、Botによる作業自動化など
≪前の記事
Swift言語がWindowsのサポートを開始。コンパイラやライブラリなどWindows対応に