PostgreSQL 13正式版リリース。B-Treeインデックスの重複排除、同一テーブル内でのVacuum並列処理など新機能

2020年9月28日

オープンソースのリレーショナルデータベース「PostgreSQL 13」の正式版がリリースされました(日本語プレスリリース

PostgreSQLは、これまで2017年10月にPostgreSQL 102018年10月にPostgeSQL 112019年10月にPostgreSQL 12がリリースと、毎年この時期に順調にメジャーバージョンアップを続けています。

fig

PostgreSQL 13では、標準インデックスであるB-Treeインデックスに重複排除(deduplication)機能が追加されたことで、重複したインデックスタプルをマージした効率の良い表現に変換しインデックスサイズを縮小。データ容量削減や、クエリのパフォーマンス向上、バキューム処理におけるオーバーヘッドの削減などが期待されるようになりました。

重複排除処理のオーバーヘッドが生じるタイミングは、データ挿入時にインデックスの既存のリーフページにインデックスタプルが収まりきらない場合にのみ発生します。

また、複数キーのソート処理で使える「インクリメンタルソート」と呼ばれる新しい実行プランも新機能として追加されました。既にソートされている部分結果を使って残る部分を追加でソートするため、効率的なソートが期待できます。

さらに、拡張された統計システムを使用して、OR句を持つ問い合わせや、リストに対するIN/ANYルックアップのための改善された実行計画も作成できるようになりました。

Vacuumを並列に実行する「パラレルVacuum」機能も追加されました。

Vacuum処理とは、データ削除などで生じた不要領域の回収などを行う処理です。PostgreSQL 9.5では、複数のテーブルを対象にパラレル処理でVacuumを行える機能が追加されましたが、PostgreSQL 13では同一テーブル内で複数のインデックスを対象に並列処理が可能になっています。

そのほか管理者がデータベースの動作を監視する方法としてEXPLAINからのWAL使用統計の参照、ストリーミングベースバックアップの進行状況、ANALYZEコマンドの進行状況などが追加されています。

このエントリーをはてなブックマークに追加
follow us in feedly




カテゴリ

Blogger in Chief

photo of jniino

Junichi Niino(jniino)
IT系の雑誌編集者、オンラインメディア発行人を経て独立。2009年にPublickeyを開始しました。
詳しいプロフィール

Publickeyの新着情報をチェックしませんか?
Twitterで : @Publickey
Facebookで : Publickeyのページ
RSSリーダーで : Feed


最新記事10本