2025 年 9 月 25 日 — PostgreSQL Global Development Group は本日、世界で最も先進的なオープンソースデータベースの最新バージョンである PostgreSQL 18 のリリースを発表しました。
PostgreSQL 18 は、新しい I/O サブシステムにより、あらゆる規模のワークロードでパフォーマンスを向上させ、ストレージからの読み込み時に最大 3 倍の性能向上を実現するとともに、インデックスを利用できるクエリの数を増加させます。 本リリースでは、メジャーバージョンのアップグレードによる影響が軽減され、アップグレード時間を短縮、またアップグレード完了後に期待される性能へ到達するまでの時間が短縮されます。 開発者にとっても PostgreSQL 18 には利点があり、クエリ実行時に値を計算する仮想生成列や、UUID のインデックス作成と読み取り性能を向上させるデータベース向けの uuidv7()
関数が追加されています。 また、OAuth 2.0 認証のサポートにより、シングルサインオン (SSO) システムとの統合も容易になります。
「グローバルなオープンソースコミュニティの努力が PostgreSQL のリリースを形作り、ユーザのデータが存在する場所で機能を提供することを可能にしています」と PostgreSQL コアチームのメンバーである Jonathan Katz 氏は述べています。 「PostgreSQL 18 は、信頼性と堅牢なデータ管理体験を提供してきた長く豊かな歴史を基盤としながら、対応できるワークロードを拡大し続けています。」
PostgreSQL は、その信頼性、堅牢性、拡張性で知られる革新的なデータ管理システムであり、世界中の開発者コミュニティによる約 30 年にわたるオープンソース開発の恩恵を受け、あらゆる規模の組織にとって最適なオープンソースリレーショナルデータベースとなっています。
PostgreSQL はこれまで、データ取得を高速化するためにオペレーティングシステムのリードアヘッド機構に依存していました。 しかし、オペレーティングシステムはデータベース固有のアクセスパターンを把握していないため、必要となるデータを常に予測できるわけではなく、多くのワークロードで最適ではない性能につながっていました。
PostgreSQL 18 では、この制限に対処するために新しい非同期 I/O (AIO) サブシステムが導入されました。 AIO により、PostgreSQL は各 I/O の完了を遂次処理で待つのではなく、複数の I/O リクエストを同時に発行できるようになります。 これにより、既存のリードアヘッドが拡張され、全体的なスループットが向上します。 PostgreSQL 18 でサポートされる AIO 操作には、シーケンシャルスキャン、ビットマップヒープスキャン、およびバキュームが含まれます。 ベンチマークでは、特定のシナリオにおいて最大 3 倍の性能向上が確認されています。
新しい io_method
設定により、worker
や io_uring
を含む AIO メソッドを切り替えられるほか、sync
設定により従来の PostgreSQL の挙動を維持することも可能です。 AIO で調整対象となるパラメータも増えており、詳細は ドキュメント で確認できます。
PostgreSQL の主要な機能のひとつに、最適なクエリプランを選択するために役立つ 統計情報 の生成と保存があります。 PostgreSQL 18 以前では、この統計情報は メジャーバージョンアップグレード 時に引き継がれず、ANALYZE
が完了するまで、多忙なシステムにおいて大幅なクエリ性能低下を引き起こす可能性がありました。 PostgreSQL 18 では、メジャーバージョンアップグレードを通じてプランナ統計情報を保持できるようになり、アップグレード後のクラスタが期待される性能により早く到達できるようになっています。
さらに、メジャーバージョンアップグレードを実行するユーティリティである pg_upgrade
には、PostgreSQL 18 でいくつかの機能強化が加えられています。 例えば、テーブルやシーケンスといった多数のオブジェクトを含むデータベースにおけるアップグレードが高速化されました。 本リリースでは、--jobs
フラグの設定に基づき pg_upgrade
がチェックを並列処理できるようになったほか、ファイルのコピー、クローン、リンクではなくアップグレードディレクトリを入れ替える --swap
フラグも追加されています。
PostgreSQL 18 では、ワークロードを自動的に高速化する機能によってクエリ性能がさらに向上します。 本リリースでは、複数列 B-tree インデックス に対する「スキップスキャン」検索が導入され、インデックスの先頭カラムに = 条件がないクエリの実行時間を短縮します。 また、WHERE
句で OR
条件を使用するクエリをインデックス利用に最適化できるようになり、実行速度が大幅に向上します。 さらに、テーブル結合のプランニングおよび実行方法にも多くの改善が加えられており、ハッシュ結合の性能が向上し、マージ結合がインクリメンタルソートを利用できるようになりました。 PostgreSQL 18 ではまた、GIN インデックス の並列構築にも対応し、これまで対応していた B-tree インデックスや BRIN インデックス に続いてこの機能が利用可能になりました。
本リリースはさらに、ハードウェアアクセラレーションに対する PostgreSQL のサポートを拡張しており、popcount
関数向けに ARM NEON および SVE CPU 命令セットのサポートが追加されています。 この関数は bit_count
およびその他の内部機能で利用されます。
PostgreSQL 18 では、値を保存する代わりにクエリ実行時に計算する 仮想生成列 が導入されました。 これは生成列におけるデフォルトのオプションとなっています。 さらに、格納型の生成列が論理レプリケーションにも対応しました。
本リリースでは、INSERT
、UPDATE
、DELETE
、および MERGE
コマンドにおける RETURNING
句 で、直前の値 (OLD
) と現在の値 (NEW
) の両方にアクセスできる機能が追加されています。 PostgreSQL 18 には、uuidv7()
関数による UUIDv7 の生成機能も追加され、ランダムな UUID をタイムスタンプ順に生成して、より効率的なキャッシュ戦略をサポートできるようになりました。 また、gen_random_uuid()
のエイリアスとして uuidv4()
も提供されます。
さらに PostgreSQL 18 では、WITHOUT OVERLAPS
句を用いた PRIMARY KEY
および UNIQUE
制約、また PERIOD
句を用いた FOREIGN KEY
制約により、範囲に基づく 時間的制約 が追加されています。
最後に、CREATE FOREIGN TABLE ... LIKE
コマンドを用いて、ローカルテーブルの定義を基に外部テーブルのスキーマ定義を作成できるようになり、利便性が向上しています。
PostgreSQL 18 では、複数の新しい機能強化によりテキスト処理がより簡単かつ高速になりました。 本リリースでは、PG_UNICODE_FAST
照合順序が追加され、ケース変換に対して完全な Unicode セマンティクスを提供しつつ、多くの比較処理を高速化します。 これには、文字列比較関数である upper
および lower
、さらに大文字小文字を区別しない比較を行なう新しい casefold
関数が含まれます。 さらに、PostgreSQL 18 では 非決定的照合順序 を利用したテキストに対する LIKE
比較がサポートされ、より複雑なパターンマッチングの実行が容易になりました。 本リリースではまた、全文検索 が常に libc を使用するのではなく、クラスタのデフォルトの照合プロバイダを使用するように変更されています。 これにより、pg_upgrade
実行後には、すべての 全文検索 および pg_trgm
インデックスの再作成が必要になる可能性があります。
PostgreSQL 18 では、論理レプリケーションの書き込み競合をログおよび pg_stat_subscription_stats
ビューで報告されるようになりました。 さらに、CREATE SUBSCRIPTION
は、トランザクション適用のために並列ストリーミングをデフォルトで使用するようになり、パフォーマンス向上に寄与します。 pg_createsubscriber
ユーティリティには新たに --all
フラグが追加され、インスタンス内のすべてのデータベースに対して論理レプリカを作成することが、単一のコマンドでできるようになりました。 PostgreSQL 18 ではまた、アイドル状態のレプリケーションスロットを自動的に 削除 できるようになり、パブリッシャ側で過剰に多くの書き込み先行ログ (WAL) ファイルを保持するのを防ぐことができます。
PostgreSQL 18 では、バキューム 戦略が改善され、通常のバキューム処理中により多くのページを積極的にフリーズすることで、オーバーヘッドを削減し、集中的なバキュームが必要となる状況においても有効に機能するようになりました。
また、PostgreSQL 18 ではクエリプランの実行情報を提供する EXPLAIN
に詳細が追加され、本リリース以降、EXPLAIN ANALYZE
実行時にアクセスされたバッファ数(データストレージの基本単位)が自動的に表示されるようになりました。 さらに、EXPLAIN ANALYZE
では、インデックススキャン中に発生したインデックス探索回数が表示されるようになり、EXPLAIN ANALYZE VERBOSE
では CPU、WAL、平均読み取り統計が含まれるようになっています。 PostgreSQL 18 ではさらに、pg_stat_all_tables
において、バキュームや関連処理に費やした時間に関する情報が追加され、接続ごとの I/O および WAL 利用状況に関する統計情報も確認できるようになりました。
PostgreSQL 18 の initdb
で初期化されたデータベースでは、ページチェックサムがデフォルトで有効になりました。 これにより、チェックサムが無効なクラスタからのアップグレードに影響が生じる可能性があり、pg_upgrade
を使用する際には --no-data-checksums
オプションを指定して新しい PostgreSQL 18 クラスタを作成する必要があります。
また、PostgreSQL 18 では、PostgreSQL 7.4(2003 年)以来となる新しい PostgreSQL ワイヤプロトコルのバージョン (3.2) が導入されました。 libpq
は引き続きデフォルトでバージョン 3.0 を使用しますが、クライアント(例: ドライバ、プーラ、プロキシ)は新しいプロトコルバージョンのサポートを追加していきます。
PostgreSQL 18 には、他にも多くの新機能や改善点が追加されており、さまざまなユースケースに役立つ可能性があります。 新機能および変更点の完全な一覧については、リリースノート をご参照ください。
PostgreSQL は、世界で最も先進的なオープンソースデータベースであり、数千人規模のユーザ、コントリビュータ、企業、組織からなるグローバルコミュニティによって支えられています。 カリフォルニア大学バークレー校で 40 年以上前に始まって以来、PostgreSQL は比類のない開発スピードを維持し続けています。 PostgreSQL の成熟した機能セットは、主要な商用データベースシステムに匹敵するだけでなく、高度なデータベース機能、拡張性、セキュリティ、安定性の点でそれらを上回っています。
PostgreSQL は、世界で最も先進的なオープンソースデータベースであり、数千人規模のユーザ、コントリビュータ、企業、組織からなるグローバルコミュニティによって支えられています。 カリフォルニア大学バークレー校で 40 年以上前に始まって以来、PostgreSQL は比類のない開発スピードを維持し続けています。 PostgreSQL の成熟した機能セットは、主要な商用データベースシステムに匹敵するだけでなく、高度なデータベース機能、拡張性、セキュリティ、安定性の点でそれらを上回っています。
Learn more about PostgreSQL and participate in our community at PostgreSQL.org.
上記の機能やその他の説明については、以下のリソースをご覧ください:
PostgreSQL 18 を入手する方法はいくつかあります。
その他のツールや拡張機能は PostgreSQL Extension Network で利用できます。
PostgreSQL 18 には HTML ドキュメントと man ページが付属しており、オンラインでも HTML および PDF 形式で閲覧できます。
PostgreSQL は PostgreSQL ライセンス を採用しています。 これは BSD に似た「寛容」なライセンスであり、OSI 認証ライセンス として、商用アプリケーションやプロプライエタリアプリケーションと組み合わせて利用する際に制約がない柔軟かつビジネスに適したライセンスとして広く評価されています。 複数企業によるサポートとコードの公開所有権と相まって、このライセンスは PostgreSQL を、料金やベンダーロックイン、ライセンス条件の変更を心配することなく自社製品にデータベースを組み込みたいベンダーに非常に人気のある選択肢にしています。
ウェブサイト
メール
Postgres、PostgreSQL、および象のロゴ(Slonik)はすべて、PostgreSQL Community Association の登録商標です。 これらの商標を使用する場合は、商標ポリシー に従う必要があります。
PostgreSQL は、多くの企業から支援を受けています。 これらの企業は開発者へのスポンサーシップ、ホスティングリソースの提供、資金的支援を行っています。 プロジェクトを支援している企業の一部については、スポンサー ページをご覧ください。
また、個人コンサルタントから多国籍企業に至るまで、PostgreSQL サポートを提供する企業7 も多数存在しています。
PostgreSQL Global Development Group または公認コミュニティ非営利団体への資金的支援をご希望の場合は、寄付 ページをご覧ください。