PostgreSQL
PostgreSQL 9.5 より、データの新規挿入または更新を行う「UPSERT」機能が実装された。「UPSERT」機能とは、データの新規挿入(INSERT)ができれば挿入を行い、新規挿入ができなければ更新(UPDATE)を行うもの。「ON CONFLICT」句を指定すると、データ変更の衝突を適切に処理できるという。
自動バキューム機能が標準で有効とされ、複数のテーブルに並列してバキュームを行うようになった。加えて Heap-Only Tuplesの採用により、バキューム自体の必要性が低減した。
PostgreSQL 8.1 より、パーティショニングを組み込みでサポートしている。バージョンが上がる度に機能が追加されている。
テーブル・パーティショニングは継承を用いて実現する。 これは、Oracle Database 7 のパーティション・ビューに近い実装である。
テーブルを作成する際、他テーブルを「親」テーブルとして指定し、継承関係を定義できる。 「子」テーブルに挿入された行は、親テーブルを参照した際にも取得される。 親テーブルに対する列の追加やCHECK制約の定義は自動的に子テーブルにも反映されるが、外部キーや一意性制約は継承をサポートしていない。
パーティショニングされたテーブルへは親テーブルを通してアクセスする。 SELECT, UPDATE, DELETE 文は子テーブルを含むよう展開されるが、クエリの条件が CHECK 制約に適合しない子テーブルは設定により自動的に除外することもできるため効率よく処理できる。
INSERT については、バージョン10以降は宣言的テーブルパーティショニングにより子テーブルに振り分けることが出来る。バージョン9.6までは、子テーブルを直接指定するか、親テーブルにトリガを作成することで挿入先を指示して振り分けることが出来る。
PostgreSQL はクライアントサーバモデルであり、データベースへの接続は主に TCP/IP ポート番号 5432 を用いて通信を行う。通信プロトコルは「フロントエンド/バックエンドプロトコル」として公開されている。
ルールにより SQL の内部表現である「クエリ木」を書き換えることができる。 一般的なルールの用途は更新可能ビューを実現することであり、標準 SQL で規定される "INSTEAD OF" トリガ の代わりに用いられる。
このときから、インターネットを通じて世界中のデータベース開発者のグループがPostgreSQLの開発に参加し、共同作業によるプロジェクトをうまく調整する体制ができあがった。
1999年7月23日、日本PostgreSQLユーザ会が設立し、任意団体として活動を開始した。
Postgres は Illustra により商業化されていたが、Illustra は Informix に買収され、Informix は 2001年に IBM に買収された。2001年以降には PostgreSQL を商用サポートする会社が現れた。
2001年 Command Prompt, Inc. (Mammoth Replicator; レプリケーション)
2003年 SRAOSS (PowerGres, PowerGRES Plus) PowerGRES Plusは富士通とSRAOSSが開発したRDBMSであり、SRAOSSがPostgreSQLより開発した商用RDB『PowerGres』をベースとして、ストレージ管理部分に富士通『Symfoware Server』のものを移植している。
2005年 EnterpriseDB 社 (Postgres Plus; Oracle との互換性向上)
2005年 Greenplum 社 (BizGres; データウェアハウスやBI向け)
2006年2月1日、日本PostgreSQLユーザ会は NPO として再編成された。
2011年7月、オープンソースデータベース技術者認定試験(OSS-DB Exam)において基準のRDBMSとして採用された。
PostgreSQLはIllustraや、Illustraを買収しその技術を採りいれたInformixとともにオブジェクト関係データベース管理システムを実装してきた。 問い合わせ言語には SQL を用いており、SQL92, 99の大部分と、2003, 2008の一部をサポートしている。
Webmin (OSS)
Navicat for PostgreSQL (商用)
SQLMaestro (商用)
Database Master (商用)
MailサービスをOracleからPostgresに切り替えた。
AWSの一部であるAmazon Redshiftは、ParAccelのPostgres改変版をベースにしたカラム型オンライン分析処理(OLAP)システムである。
National Oceanic and Atmospheric Administration (NOAA) National Weather Service (NWS)、Interactive Forecast Preparation System(IFPS)、 NEXRAD 気象レーダー 、地表、および水文学システムからのデータを統合して詳細なローカライズされた予測モデルを構築するシステム。
イギリスの全国気象サービスMet Officeは 、より多くのオープンソーステクノロジーを展開するための戦略において、OracleをPostgreSQLに置き換え始めた。
WhitePages.comはOracleとMySQLを使用していたが、コアディレクトリを社内で移動することになったとき、PostgreSQLを使用することにした。WhitePages.comは複数のソースからの大規模なデータセットを組み合わせる必要があるため、データを高速にロードしてインデックスを作成できるPostgreSQLの能力が、PostgreSQLの使用を決定する鍵となった 。
FlightAware 、フライト追跡Webサイト。
Grofersは、オンライン食料品配達サービス。
Guardianは2018年にMongoDBからPostgreSQLに移行した 。
PL/pgSQL: Oracle Databaseで用いられるPL/SQLを参考にして実装されたビルトイン言語。
PL/Tcl
PL/Perl
PL/Python
C言語
ページ置換アルゴリズムはクロックに変更され、スケーラビリティが大幅に向上した。ページの参照には共有ロックのみが必要であるため並行してアクセスが可能になった。8コア程度が上限となった。
ページを管理するハッシュテーブルのロックが16個に分割され、共有ロックの実装に使用されるスピンロックへのアクセスが分散された。他にスピンロックの実装やサブトランザクションの排他制御が改良され、16コアまでのスケーラビリティが確認されている。