September 26, 2024: PostgreSQL 17 Released!
This page in: Chinese / English / French / German / Hebrew / Japanese / Portuguese / Russian / Spanish

PostgreSQL 12 Press Kit

Contents

Original Press Release

PostgreSQL 12がリリースされました!

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では、INSERTCOPYを使用してパーティションテーブルにデータを追加するパフォーマンスも向上し、クエリをブロックせずに新しいパーティションをテーブルにアタッチする機能も含まれました。

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でコンパイルまたはパッケージ化されている場合に使用できます。

SQLの準拠と機能強化

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にあるリリースノートをご覧ください。

PostgreSQLについて

PostgreSQLは世界で最も先進的なオープンソースデータベースであり、何千人ものユーザ、貢献者、企業、組織からなるグローバルコミュニティがあります。PostgreSQLプロジェクトは、カリフォルニア大学バークレー校を皮切りに、30年以上ソフトウェア工学に基づいた開発により先進的な進歩を続けています。PostgreSQLの成熟した機能セットは、独自のデータベースシステムにマッチするだけでなく、高度なデータベース機能、拡張性、セキュリティ、および安定性にも優れています。 PostgreSQLについてもっと知って頂き、私たちのPostgreSQL.orgコミュニティにご参加下さい。

More About the Features

For explanations of the above features and others, please see the following resources:

Where to Download

There are several ways you can download PostgreSQL 12, including:

Other tools and extensions are available on the PostgreSQL Extension Network.

Documentation

PostgreSQL 12 comes with HTML documentation HTML documentation as well as man pages, and you can also browse the documentation online in both HTML and PDF formats.

Licence

PostgreSQL uses the PostgreSQL License, a BSD-like "permissive" license. This OSI-certified license is widely appreciated as flexible and business-friendly, since it does not restrict the use of PostgreSQL with commercial and proprietary applications. Together with multi-company support and public ownership of the code, our license makes PostgreSQL very popular with vendors wanting to embed a database in their own products without fear of fees, vendor lock-in, or changes in licensing terms.

Contacts

Website

Email

Images and Logos

PostgreSQL Logo

All logos are available for modification and redistribution under The PostgreSQL Licence. The PostgreSQL name and logo are trademarks of The PostgreSQL Community Association of Canada.

Corporate Support

PostgreSQL enjoys the support of numerous companies, who sponsor developers, provide hosting resources, and give us financial support. See our sponsors page for some of these project supporters.

There is also a large community of companies offering PostgreSQL Support , from individual consultants to multinational companies.

If you wish to make a financial contribution to the PostgreSQL Global Development Group or one of the recognized community non-profit organizations, please visit our donations page.