ニュース
「PostgreSQL 18」が公開 ~非同期I/O採用で最大3倍の高速化、「UUID v7」にも対応
オープンソースのリレーショナルデータベース(RDB)システム
2025年10月2日 06:45
The PostgreSQL Global Development Groupは9月25日、「PostgreSQL 18」をリリースした。オープンソースのリレーショナルデータベース(RDB)システム「PostgreSQL」における、年次のメジャーバージョンアップだ。
「PostgreSQL」におけるデータの高速化は、これまでOSのリードアヘッド(Read-Ahead、必要となるデータを予測して先読みする技術)機構に依存していた。「PostgreSQL 18」ではこれを改め、新しい非同期I/Oサブシステムを導入。それぞれのI/O処理の完了を逐次待つのではなく、複数のI/O処理を並行して発行できるようになった。これにより、従来のリードアヘッドよりも全体的なスループットが向上するという。開発チームが行ったベンチマークによると、特定のシナリオにおいて最大3倍の性能向上が確認されたという。
また、最適なクエリプランを選択するための統計処理も改善された。「PostgreSQL 18」以前ではメジャーバージョンアップグレードで統計情報が引き継がれなかったため、アップグレードした際に一時的なパフォーマンス低下が発生する可能性があったが、「PostgreSQL 18」では統計情報が引き継がれるためその心配はない。メジャーバージョンアップグレードを実行するユーティリティ「pg_upgrade」でもいくつかの機能強化が行われた。
そのほかにも、「PostgreSQL 18」では以下の新機能と改善が盛り込まれている。
- ワークロードを自動的に高速化する機能により、クエリ性能がさらに向上
- テーブル結合のプランニングおよび実行方法にも多くの改善。ハッシュ結合の性能が向上し、マージ結合がインクリメンタルソートを利用できるように
- ハードウェアアクセラレーション対応を拡充。「popcount」機能向けにARM NEONおよびSVE CPU命令セットのサポートを追加。内部処理で活用されており、パフォーマンス向上が期待できる
- 値を保存する代わりにクエリ実行時に計算する仮想生成列を導入。格納型の生成列が論理レプリケーションにも対応
- INSERT/UPDATE/DELETE/MERGEコマンドのRETURNING句で、直前の値(OLD)と現在の値(NEW)の両方にアクセスできるように
- ランダムでありながらタイムスタンプを含めることでデータベースにおける並び替えや検索にも適した「UUID」の新バージョン「UUID v7」に対応。専用関数で生成が可能に
- WITHOUT OVERLAPS句を用いたPRIMARY KEYおよびUNIQUE制約、またPERIOD句を用いたFOREIGN KEY制約により、範囲に基づく時間的制約をかけられる
- CREATE FOREIGN TABLE ... LIKEコマンドを用いて、ローカルテーブルの定義を基に外部テーブルのスキーマ定義を作成できるように。利便性が向上
- PG_UNICODE_FAST照合順序が追加され、多くのテキスト比較処理を高速化
- 非決定的照合順序を利用したテキストに対するLIKE比較がサポートされ、より複雑なパターンマッチングの実行が容易に
- VACUUM処理の戦略が改善。多くのページを積極的にフリーズすることで、オーバーヘッドを削減し、集中的なバキュームが必要となる状況においても有効に機能するように
- フロントエンドとバックエンドの通信プロトコルをv3.2に。「PostgreSQL 7.4」(2003年リリース)で導入されたv3.0以来となるアップデート
- OAuth 2.0認証のサポートにより、シングルサインオン(SSO)システムとの統合が容易に
「PostgreSQL」はWindows/Mac/Linux/BSD/Solarisなどに対応しており、現在公式サイト「postgresql.org」から無償でダウンロード可能。Windows版インストーラーは64bit環境にのみ対応しており、EDBのWebサイトから入手できる。
ソフトウェア情報
- 「PostgreSQL」
- 【著作権者】
- The PostgreSQL Global Development Group
- 【対応OS】
- Windows/Mac/Linux/BSD/Solaris
- 【ソフト種別】
- フリーソフト
- 【バージョン】
- 18.0(25/09/25)