はじめに
Technology Innovation Group真野です。
2024年9月26日、PostgreSQL 17がリリースされました。
それを記念して、PostgreSQL17のプレスキットやリリースノートから記事ごとにトピックを抜粋して、ブログリレーを行います。
スケジュール
日付 | 担当者 | タイトル |
---|---|---|
10/23 | 山本竜玄 | to_regtypemod関数と型修飾子について |
11/06 | 真野隼記 | 排他制約について |
11/18 | 岸本卓也 | 未定 |
11/19 | 杉江伸祐 | 未定 |
PostgreSQL 17 アップデート概要
主な更新内容をプレスキットからまとめます。
- VACUUMが性能改善で、従来の1/20のメモリ量で動作するようになり、速度向上を実現
- WALの処理改善で、書き込みスループットが最大で2倍向上する可能性
- 新しいストリーミングI/Oインターフェースで、シーケンシャルスキャンやANALYZEの速度向上
- B-Treeインデックスを使用した、IN句の性能向上
- NOT NULL制約の最適化
- 共通テーブル式(いわゆるWITH句)での実行計画の改善
- JSON周り
- SQL/JSON コンストラクタのサポート
- クエリ関数(JSON_EXISTS、JSON_QUERY、JSON_VALUE)のサポート
- jsonpath式の追加
- MERGE文でRETURNINGの利用が可能
- COPYが最大2倍の性の向上と、ON_ERRORオプションの追加
- パーティションテーブルでの識別子、排他制約が利用可能となった
postgres_fdw
でEXISTSやIN句をリモートサーバ側にプッシュダウンできるようになった- 論理レプリケーションスロットを削除する必要がなくなった
- 論理レプリケーションのフェイルオーバ制御が追加された
- TLS オプション sslnegotiation が追加された
- pg_combinebackup ユーティリティが追加された
- pg_dumpに–fiiterオプションが追加された
- EXPLAINに、I/Oブロック読み書き時間が表示されるようになったのと、SERIALIZE、MEMORYオプションが追加された
- インデックスのバキューム進行状況をpg_stat_progress_vacuumで確認できるようになった
- pg_wait_events システムビューが追加され、アクティブなセッションの待機を分析できるようになった
最後に
フューチャーではPostgreSQLは大人気で、おそらく一番利用が多いDBMSです。今回はリリース記念という名目ですが、業務で得たPostgreSQLの知見を引き続き発信していきます。