{% extends "pages/about/press/presskit12/base.html" %} {% block presskit_content %}
PostgreSQLグローバル開発グループは本日、世界で最も先進的なオープンソースデータベースの最新バージョンであるPostgreSQL 12のリリースを発表しました。
PostgreSQL 12の機能強化には、特に大規模なデータセットでのクエリパフォーマンスと、全体的なスペース使用率の大幅な改善が含まれます。 このリリースは、アプリケーション開発者に、SQL/JSONパス式のサポート、共通テーブル式(「WITH」)クエリの実行方法の最適化、生成列などの新機能を提供します。 PostgreSQLコミュニティは、国際化、認証、PostgreSQLを容易に管理する方法を提供することでPostgreSQLの拡張性と堅牢性を引き続きサポートします。 このリリースでは、開発者がデータを保存する独自のメソッドを作成できる、プラガブルテーブルストレージインターフェイスも導入されています。
「PostgreSQLを支える開発コミュニティはPostgreSQL 12に、ユーザが最小限の努力で性能と空間管理の向上を達成できる機能のみならず、エンタープライズ認証、管理機能、およびSQL/JSONサポートを付与しました。」PostgreSQLグローバル開発グループのコアチームの一員であるDave Pageは言います。「このリリースは大小のデータベースワークロードの管理を容易にしていく方向を継続して、同時にPostgreSQLの実稼働環境での柔軟性、信頼性、および安定性の評判を確立します。」
PostgreSQLは20年以上にわたりオープンソースで開発されてきたお陰で、あらゆる規模の組織にとって好ましいオープンソースリレーショナルデータベースであり続けています。 このプロジェクトは、DB-Enginesによって2018年に「DBMS of the Year」として2年連続で特集され、OSCON 2019で「Lifetime Achievement」オープンソース賞を受賞するなど、業界全体で認知され続けています。
PostgreSQL 12は、インデックスシステムとパーティション分割のパフォーマンスとメンテナンスを大幅に強化します。
PostgreSQLの標準タイプのインデックスであるBツリーインデックスは、PostgreSQL 12で最適化されており、インデックスが頻繁に変更されるワークロードをより適切に処理します。 PostgreSQL 12では、TPC-Cベンチマークを使用して、スペース使用率の平均40%の削減とクエリパフォーマンスの全体的に向上していることを確認しました。
パーティション化されたテーブルでのクエリは、特に限定されたサブセットからデータを取得するだけでよい数千のパーティションを持つテーブルで、明らかに改善されています。
PostgreSQL 12では、INSERT
とCOPY
を使用してパーティションテーブルにデータを追加するパフォーマンスも向上し、クエリをブロックせずに新しいパーティションをテーブルにアタッチする機能も含まれました。
PostgreSQL 12のインデックスには、GiST、GIN、およびSP-GiSTインデックスで先行書き込みログ生成のオーバーヘッドの削減、GiSTインデックスでカバリングインデックス(INCLUDE
句)を作成する機能、SP-GiSTインデックスを使用して距離演算子(<->)によるK近傍クエリを実行する機能、およびCREATE STATISTICS
が不均一に分布する列を評価するMCV(Most Common Value)統計をサポートするなど、全体的なパフォーマンスに影響する改良が追加されています。
PostgreSQL 11で導入されたLLVMを使用したジャストインタイム(JIT)コンパイルがデフォルトで有効になりました。 JITコンパイルは、WHERE句、ターゲットリスト、集計、および一部の内部操作で式実行のパフォーマンスが向上します。JITコンパイルはPostgreSQLインストールがLLVMでコンパイルまたはパッケージ化されている場合に使用できます。
PostgreSQLは、SQL標準に準拠していることで知られており( "POSTGRES"から "PostgreSQL"に名前が変更された理由の1つ)、 PostgreSQL12ではSQL標準で拡張された機能が継続して実装されています。
PostgreSQL 12では、SQL/JSON標準で定義されたJSONパス式を使用して、JSONドキュメントに対してクエリを実行する機能が導入されています。 このようなクエリでは、JSONB形式で保存されたドキュメントを既存のインデックス作成メカニズムを利用して、データを効率的に取得できます。
WITH
クエリとも呼ばれる共通テーブル式は、PostgreSQL 12によって自動的にインライン化できるようになりました。
これにより、多くの既存のクエリのパフォーマンスを向上させることができます。
このリリースでは、WITH
クエリは再帰的でなく、副作用がなく、クエリの後半で一度だけ参照される場合にインライン化できます。
PostgreSQL 12では、「生成列」が導入されています。 標準SQLで定義されているこのタイプの列は、同じ表の他の列の内容から値を計算します。 このバージョンでは、PostgreSQLは計算された値がディスクに保存される「格納された生成列」をサポートします。
PostgreSQL 12は、ユーザーが「非決定的照合」を定義できるようにすることでICU照合のサポートを拡張しました。たとえば、大文字と小文字を区別しない比較や、アクセントを区別しない比較ができるようになります。
PostgreSQLは、追加のセキュリティと機能性の提供による様々な改良により堅牢な認証方法のサポートを拡張します。このリリースでは、GSSAPIインターフェースを介した認証にクライアント側とサーバー側の両方の暗号化が導入されました。また、PostgreSQLがOpenLDAPでコンパイルされている場合にPostgreSQLがLDAPサーバーを検出できるようになりました。
さらに、PostgreSQL 12は多要素認証の形式をサポートするようになりました。
PostgreSQLサーバーは、clientcert=verify-full
オプションを使用することで認証クライアントに対してユーザー名とともに有効なSSL証明書の提供を要求し、これを別の認証方法の要件(scram-sha-256
など)と組み合わせることができるようになりました。
PostgreSQL 12では、REINDEX CONCURRENTLY
コマンドを使用してインデックスへの書き込みをブロックせずにインデックスを再構築する機能が導入され、長時間のインデックス再構築のダウンタイムシナリオを回避できます。
さらに、PostgreSQL 12では、pg_checksums
コマンドを使用してデータベースクラスタがオフライン時にページチェックサムを有効または無効に変更できるようになりました。
以前は、ディスクに保存されたデータの整合性を検証する機能であるページチェックサムは、データベースクラスタがinitdb
で初期化されたときにのみ有効にできました。
このリリースに含まれる機能の完全なリストは、https://www.postgresql.org/docs/12/release-12.htmlにあるリリースノートをご覧ください。
{% endblock presskit_content %} {% block presskit_about %}PostgreSQLは世界で最も先進的なオープンソースデータベースであり、何千人ものユーザ、貢献者、企業、組織からなるグローバルコミュニティがあります。PostgreSQLプロジェクトは、カリフォルニア大学バークレー校を皮切りに、30年以上ソフトウェア工学に基づいた開発により先進的な進歩を続けています。PostgreSQLの成熟した機能セットは、独自のデータベースシステムにマッチするだけでなく、高度なデータベース機能、拡張性、セキュリティ、および安定性にも優れています。 PostgreSQLについてもっと知って頂き、私たちのPostgreSQL.orgコミュニティにご参加下さい。
{% endblock presskit_about %}