PostgreSQLグローバルデベロップメントグループは9月24日(米国時間)、「PostgreSQL: PostgreSQL 13 Released!」において、オープンソースのリレーショナルデータベース「PostgreSQL」の最新版となる「PostgreSQL 13」のリリースをアナウンスした。PostgreSQL 13では、並列バキューム処理やインクリメンタルソートなどの新機能が導入されたことに加えて、管理機能の最適化やセキュリティの強化、アプリケーション開発者向けの利便性の向上などが主な改善されている。
PostgreSQL 13の目玉となる新機能と言えるのが「バキューム処理の大幅な向上」だ。バキューム処理は、レコードの更新や削除が行われた後で、ストレージスペースを再利用して有効活用するための重要な機能である。PostgreSQLでは、このバキューム処理においてインデックスによる並列実行が可能になった。これにより、バキューム処理のパフォーマンスが向上したことに加えて、実行する並列ワーカーの数を選択することで特定のワークロードに合わせた調整もできるようになっている。
パフォーマンス面での注目の新機能としては、インクリメンタルソートが導入されたことが挙げられる。これによって、すでにデータがソートされた状態の場合、追加のデータソートが高速化されるというメリットがある。そのほか、PostgreSQL 13ではBツリーインデックスの重複データの取り扱いが改善されており、インデックスサイズの縮小され、クエリ全体の検索速度が向上しているという。
その他の主な変更点としては、次のようなものがある。
- 集計またはパーティションテーブルを使用するクエリのパフォーマンスの向上
- パーティション化されたテーブルを論理レプリケーション経由で完全にレプリケーションできるように変更
- OR条件またはIN/ANYコンスタントリストを含むクエリにおいて拡張統計データを利用できるように変更
- 大規模な集合セットを持つハッシュ集合にディスクストレージを使用できるように変更
- 自動バキュームのトリガとしてデータ挿入を指定できるように変更
- reindexdbコマンドに並列処理オプションを追加
- jsonpathクエリに対して日時文字列を適切なdata/timeデータ型に変換するdatetime()関数を追加
- FETCH FIRST WITH TIESといったより便利なクエリ機能の追加
- スーパーユーザーがデータベースユーザーに対し、拡張機能のインストールを許可するための「信頼できる拡張機能」マークの導入
PostgreSQL 13のすべての新機能および変更点は、次のリリースノートにまとめられている。
PostgreSQLは長期にわたって高いシェアを保持し続けている人気のデータベースシステムであり、最近ではNoSQLが備える特徴にも対応するなど、モダンな機能も取り入れて採用シーンを広げている。