14 ポイント 投稿者 GN⁺ 2023-09-15 | 1件のコメント | WhatsAppで共有
  • PostgreSQL 16 では、クエリ並列性、大量データのロード、論理レプリケーションが大幅に改善され、性能が向上
  • より多くの SQL/JSON 構文、ワークロード向けの新しい監視統計、そしてアクセス制御ルールを定義するためのより高い柔軟性を導入

性能改善

  • クエリプランナーは FULL JOIN と RIGHT JOIN を並列化できるようになり、DISTINCT または ORDER BY 句を使用するクエリに対してより最適化されたプランを生成し、SELECT DISTINCT クエリで増分ソートを活用し、ウィンドウ関数を最適化
  • 単一および同時実行ワークロードにおける COPY を使ったバルクロードが改善され、一部のケースでは性能が最大 300% 向上
  • x86 および ARM アーキテクチャで SIMD を用いた CPU アクセラレーションを導入し、ASCII および JSON 文字列処理、配列およびサブトランザクション検索時の性能を向上

論理レプリケーション

  • これにより待機系(Standby)インスタンスで論理レプリケーションを実行できるようになり、新しいワークロード分散オプションが可能に
    • 多忙なプライマリの代わりにスタンバイを使って変更をダウンストリームへレプリケーション
  • 論理レプリケーションの性能も向上
    • Subscriber が並列ワーカーを使って大規模トランザクションを適用可能
    • プライマリキーのないテーブルでは、シーケンシャルスキャンの代わりに B-tree インデックスを使用して行を検索可能
    • 特定条件ではバイナリ形式を使用して初期テーブル同期の速度を向上可能

開発者体験

  • SQL/JSON 標準にさらに多くの構文を追加し、JSON_ARRAY()、JSON_ARRAYAGG()、IS JSON などのコンストラクタと述語を含む
  • 桁区切りの数値でアンダースコアを使用可能 (5_432_000)
  • psql に \bind が追加され、パラメータを含むクエリを記述して変数に置換可能
  • テキストソートのサポートを改善

モニタリング

  • I/O アクセスパターンを詳細に分析できるメトリクスを提供する pg_stat_io を追加
  • pg_stat_all_tables ビューに、テーブルまたはインデックスが最後にスキャンされた時刻を記録するタイムスタンプフィールドを追加
  • パラメータ化された文に渡された値をログ出力し、auto_explain をより読みやすく

アクセス制御とセキュリティ

  • アクセス制御に対してより細かなオプションを提供
  • pg_hba.conf および pg_ident.conf ファイルの管理、ならびに複数のセキュリティ指向クライアント接続パラメータの追加を含む、その他のセキュリティ機能を強化

1件のコメント

 
GN⁺ 2023-09-15
Hacker News の意見
  • PostgreSQL 16 のリリースは、数十年にわたる大規模オープンソースプロジェクトを維持するために注がれてきた無償の労働と膨大な思考の量ゆえに、月面着陸のような重要な成果になぞらえられている。
  • コメント投稿者は PostgreSQL チームを称賛し、橋や道路のような物理的インフラになぞらえて、ソフトウェアインフラの重要性を強調している。
  • PostgreSQL 16 では新機能 \\bind が導入されており、これによってアプリケーションが行うのと同じようなパラメータ化クエリを実行できるため、人気を集めている。
  • SQL/JSON コンストラクタと識別関数の追加は、PostgreSQL 16 における使い勝手の改善とみなされている。
  • 現在 debug_io_direct 設定の背後にあるダイレクト I/O 機能への期待がある。
  • データベース性能の最適化に使われる「vacuum」機能の改善点についての質問がある。
  • 今後のリリースで、デフォルトで透過的暗号化が検討されているかどうかについての質問がある。
  • ユーザーは新しいリリースへの興奮を表明しつつも、最新の Debian に PostgreSQL 15 をインストールしており、自分に役立ちそうな新機能について調べる必要があるかもしれないと述べている.