HeadlinesBriefing favicon HeadlinesBriefing.com

PostgreSQL 19: 新機能とプロパティグラフ

Hacker News •
×

PostgreSQL 19 は現在ベータ版であり、一般提供は 2026 年 9 月または 10 月頃を見込んでいます。この記事は公式リリースノートの実践的な補足として機能し、選択されたエントリを実行可能な例に変換して、ユーザーが新しい動作が実際にどのように機能するかを確認できるようにします。これらの機能は、公式リリースノートおよび PostgreSQL ソースコードに基づいており、PostgreSQL ライセンスの下で提供されます。新しい機能を探索する前に、これが網羅的なリストではないことに注意することが重要です。完全な情報については、公式リリースノートを参照してください。すべての例は PostgreSQL 19 ベータ 3(2026-08-13 リリース)で実行され、出力はそのサーバーが実際に印刷した内容を反映しています。

プロパティグラフクエリはこのリリースの目玉機能です。PostgreSQL 19 は SQL/PGQ を実装しており、これは SQL:2023 のプロパティグラフ部分です。ユーザーは既存のテーブル上にプロパティグラフを宣言し、手動でジョインを書く代わりにパターンマッチングを使用してクエリできます。2 つの通常のテーブルを頂点と辺として設定することで、GRAPH_TABLE を使用したパターンマッチングが可能になり、ここで有向辺は -[...]-> 構文を使用してマッチングされます。その利点はマルチホップパターンです;2 つの辺をチェーンすると、セルフジョインを使わずに友人の友人を取得でき、空の () は「名前を気にしないある頂点」を意味します。重要な制限の一つは、可変長パスがサポートされていないことです;-[IS follows]->{1,3} のような量詞はパースされますが、エラーで拒否され、各ホップを明示的に記述する必要があります。GRAPH_TABLE クエリはプレーンな関係クエリに書き換えられ、これはユーザーに既知のプランナー、統計、インデックスの選択がまだ適用されることを意味します。

時間的アップデートと削除は、UPDATE および DELETE ステートメントに新しい FOR PORTION OF 句を導入します。この句により、操作の有効な時間期間を指定でき、バイテンポラルテーブル内でのデータ操作をより正確に行えます。この機能はシステムバージョンテーブルと統合され、指定された時間範囲内の行のみに影響を与えることで更新と削除を制限し、歴史的追跡が必要なアプリケーションのデータ整合性を向上させます。

このリリースでは、JSON とクエリ機能も強化されています。新しい演算子と関数が導入され、JSON データタイプの扱いが改善され、より効率的なクエリと操作が可能になります。これらの強化により、半構造化データを扱う際の複雑なサブクエリや外部処理の必要性が減少し、一般的な JSON 操作に対してパフォーマンスが向上し、構文が簡素化されます。

主要なエンティティ: 企業: PostgreSQL | 人物: Peter Eisentraut, Ashutosh Bapat