2020年 9月 24日 —PostgreSQL Global Development Groupは本日、世界で最も高度なオープンソースデータベースの最新バージョンであるPostgreSQL13のリリースを発表しました。
PostgreSQL13では、インデックス作成およびルックアップシステムが大幅に改善されています。これにより、インデックスのスペース節約とパフォーマンス向上、集約またはパーティションを使用するクエリの応答時間の高速化、拡張された統計情報を使用する場合のクエリ計画の改善など、大規模なデータベースにメリットがあります。
並列バキューム処理やインクリメンタルソートなどの要求の高い機能に加えて、PostgreSQL13は、日々の管理のための最適化、アプリケーション開発者の利便性の向上、セキュリティの強化により、大小のワークロードに対してより良いデータ管理エクスペリエンスを提供します。
「PostgreSQL13は、世界で最も先進的なオープンソースのリレーショナルデータベースの能力をさらに高めるために、我々のグローバルコミュニティが協力し、献身していることを示しています。」PostgreSQL Core Teamのメンバーであるピーター・アイゼントラウト氏はこのように述べています。「各リリースがもたらす革新と、その信頼性と安定性に対する評判が、より多くの人々がアプリケーションにPostgreSQLを使うことを選択する理由です。」
信頼性と堅牢性で知られる革新的なデータ管理システムであるPostgreSQLは、グローバルな開発者コミュニティによる25年以上にわたるオープンソース開発の恩恵を受けており、あらゆる規模の組織にとって好ましいオープンソースリレーショナルデータベースとなっています。
PostgreSQL13では、以前のPostgreSQLリリースからの作業を基に、標準データベースインデックスであるB-treeインデックスの重複データを効率的に処理することができます。これにより、B-treeインデックスが必要とする全体的な領域使用量が削減されると同時に、全体的なクエリパフォーマンスが向上します。
PostgreSQL13ではインクリメンタルソートが導入されており、問い合わせの前のステップでソートされたデータを後のステップで高速にソートすることができます。さらに、PostgreSQLは拡張された統計システム(CREATE STATISTICS
経由でアクセス)を使用して、OR
句を持つ問い合わせやリストに対するIN
/ANY
ルックアップのための改善された計画を作成できるようになりました。
PostgreSQL13では、より多くのタイプの集約クエリとグループ化セットクエリが、PostgreSQLの効率的なハッシュ集約機能を利用できます。これは、大きな集約を持つクエリが完全にメモリに収まる必要がないためです。パーティション化されたテーブルを持つクエリのパフォーマンスが向上しました。これは、パーティションをプルーニングしたり、パーティションを直接結合したりできるケースが増えたためです。
vacuumはPostgreSQLの管理に不可欠な部分であり、行が更新されたり削除されたりした後にデータベースが記憶領域を再利用できるようにします。以前のPostgreSQLリリースではバキューム処理のオーバーヘッドを軽減するための作業が行われていましたが、このプロセスには管理上の問題もあります。
PostgreSQL13では、インデックスに並列化されたバキュームを導入することで、バキュームシステムの改善を続けています。バキューム処理のパフォーマンスのメリットに加え、管理者は実行する並列ワーカーの数を選択できるため、この新機能の使用を特定のワークロードに合わせて調整できます。これらのパフォーマンス上のメリットに加えて、データ挿入によって自動バキューム・プロセスを起動できるようになりました。
レプリカによって受信される前に先行書き込みログ(WAL)が削除されないようにするために使用されるレプリケーションスロットは、PostgreSQL13において、保持するWALファイルの最大数を指定するように調整することができ、ディスク外エラーの回避に役立ちます。
また、PostgreSQL13では、EXPLAIN
からのWAL使用統計の参照、ストリーミングベースバックアップの進行状況、ANALYZE
コマンドの進行状況など、管理者がデータベースの動作を監視する方法が追加されています。さらに、pg_basebackup
コマンドの出力の完全性は、新たなpg_verifybackup
コマンドを使用して検査できます。
PostgreSQL13では、異なるデータソースからのPostgreSQLデータ型をより簡単に扱うことができます。このリリースでは、datetime()
関数がSQL/JSONパスサポートに追加され、有効な時刻フォーマット(例えばISO8601文字列)をPostgreSQLのネイティブ型に変換します。さらに、UUID v4生成関数である gen_random_uuid()
が拡張機能をインストールしなくても使用できるようになりました。
PostgreSQLのパーティショニングシステムは、パーティショニングされたテーブルが論理的な複製とBEFORE行レベルのトリガを完全にサポートするため、より柔軟です。
PostgreSQL13の FETCH FIRST
構文がWITH TIES句を含むように拡張されました。WITH TIES
を指定すると、ORDER BY
句に基づいて、結果セットの最後の行と同順「タイ」の行が含まれます。
PostgreSQLの拡張システムは、開発者がその機能を拡張できるようにするため、その堅牢性の重要な要素です。以前のリリースでは、新しい拡張機能をインストールできるのはデータベーススーパーユーザのみでした。PostgreSQLの拡張性を利用しやすくするために、PostgreSQL13には「信頼できる拡張機能」という概念が追加されています。これにより、データベースユーザは、スーパーユーザが「信頼できる」とマークした拡張機能をインストールできます。pgcrypto
、tablefunc
、hstore
など、特定の組み込み拡張はデフォルトでtrustedとマークされます。
セキュアな認証方式を必要とするアプリケーションの場合、PostgreSQL13では、クライアントがSCRAM認証を使用する際にチャネルバインディングを要求できるようになっており、PostgreSQLの外部データラッパー(postgres_fdw
)は証明書ベースの認証を使用できるようになりました。
PostgreSQLは世界で最も高度なオープンソースデータベースであり、数1000人のユーザ、貢献者、企業、組織からなるグローバルコミュニティを持っています。カリフォルニア大学バークレー校、カリフォルニア大学バークレー校を皮切りに30年以上に構築されたPostgreSQLは、比類のない速さで開発を続けてきました。PostgreSQLの成熟した機能セットは、トッププロプライエタリなデータベースシステムに匹敵するだけでなく、高度なデータベース機能、拡張性、セキュリティ、安定性においても優れています。
PostgreSQL is the world's most advanced open source database, with a global community of thousands of users, contributors, companies and organizations. Built on over 30 years of engineering, starting at the University of California, Berkeley, PostgreSQL has continued with an unmatched pace of development. PostgreSQL's mature feature set not only matches top proprietary database systems, but exceeds them in advanced database features, extensibility, security, and stability.
Learn more about PostgreSQL and participate in our community at PostgreSQL.org.
For explanations of the above features and others, please see the following resources:
There are several ways you can download PostgreSQL 13, including:
Other tools and extensions are available on the PostgreSQL Extension Network.
PostgreSQL 13 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.
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.
Website
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.
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.