PostgreSQL

PostgreSQL
開発者PostgreSQLグローバル開発グループ[ 2 ]
初回リリース1996年7月8日[ 3 ] (1996年7月8日
安定版リリース
18.1 [ 4 ] Wikidataで編集 / 2025年11月13日
リポジトリ
言語CLLVM依存の場合はC++
タイプRDBMS
ライセンスPostgreSQLライセンス(無料、オープンソース寛容型[ 5 ] [ 6 ] [ 7 ]
ウェブサイトwww.postgresql.org Wikidataで編集
PostgreSQLライセンス[ 5 ]
発行者PostgreSQLグローバル開発グループカリフォルニア大学評議員
Debian FSG互換はい[ 8 ] [ 9 ]
FSF承認はい[ 10 ]
OSI承認はい[ 7 ]
GPL互換はい
コピーレフトいいえ
異なるライセンスのコードからのリンクはい
ウェブサイトpostgresql .org /about /licence

PostgreSQL ,( / ˌ p s t ɡ r ɛ s k j u ˈ ɛ l / POHST -gres-kew- EL)、 [ 11 ] [ 12 ]としても知られるPostgreSQLは拡張性SQL無料のオープンソースリレーショナルデータベース管理システム(RDBMS)。 PostgreSQLは、原子性一貫独立性永続性ACIDを備えたトランザクション、自動更新可能なビューマテリアライズドビュートリガー外部キーストアドプロシージャを [ 13 ] WindowsLinuxmacOSFreeBSDOpenBSDなどの 主要なオペレーティングシステムデータウェアハウスデータレイク [ 14 ]または多くの同時ユーザーWebサービスまで、さまざまなワークロードを処理します。

PostgreSQL グローバル開発グループは、データベース エンジンおよびそれに密接に関連するコンポーネントの開発のみに焦点を当てています。技術的には、このコアは PostgreSQL 自体を構成するものですが、従来はプロプライエタリ ソフトウェアベンダーによって提供されていたその他の重要な機能セットを提供する大規模な開発者コミュニティとエコシステムが存在します。これらには、地理空間[ 15 ]または時間[ 16 ]データベースのサポートに必要な機能や、他のデータベース製品をエミュレートする機能など、 特殊な用途のデータベース エンジン機能が含まれます。 [ 17 ] [ 18 ] [ 19 ] [ 20 ]また、グラフィカル ユーザー インターフェイス[ 21 ] [ 22 ] [ 23 ]負荷分散および高可用性ツールセット[ 24 ]など、さまざまなユーザー インターフェイスおよびマシン インターフェイス機能もサードパーティから提供されています。 PostgreSQL 開発グループの一部ではないものの、人、会社、製品、プロジェクトからなる大規模なサードパーティ PostgreSQL サポート ネットワークは、PostgreSQL データベース エンジンの採用と使用に不可欠であり、PostgreSQL エコシステム全体を構成しています。[ 25 ]

PostgreSQLは元々 、カリフォルニア大学バークレー校で開発されたIngresデータベースの後継として誕生したことから、POSTGRESという名前でした。[ 26 ] [ 27 ] 1996年、 SQLをサポートしていることを反映して、プロジェクト名はPostgreSQLに変更されました。2007年のレビューの後、開発チームはPostgreSQLという名称とPostgresという別名を維持することを決定しました。[ 28 ]

歴史

Ingresと大学POSTGRES (1982–1994)

PostgreSQLは、カリフォルニア大学バークレー校のIngresプロジェクトから発展しました。1982年、IngresチームのリーダーであるMichael Stonebrakerは、Ingresの独自バージョンを作成するためにバークレー校を離れました。[ 26 ]彼は1985年にバークレーに戻り、1980年代初頭にますます明らかになった現代のデータベースシステムの問題点に対処するためのポストIngresプロジェクトを開始しました。彼はこれらのプロジェクトやその他のプロジェクト、[ 29 ]、そしてそれらで開拓された技術により、 2014年にチューリング賞を受賞しました

新しいプロジェクトであるPOSTGRESは、データ型を完全にサポートするために必要な最小限の機能を追加することを目指しました。[ 30 ]これらの機能には、型の定義と関係性の完全な記述機能が含まれていました。これらは広く使用されていますが、完全にユーザーが管理するものでした。POSTGRESでは、データベースは関係性を理解し、ルールを使用して関連するテーブル内の情報を自然な方法で取得できました。POSTGRESはIngresのアイデアを多く採用していましたが、コードは採用していませんでした。[ 31 ]

1986年から、システムの基礎を説明した論文が発表され、プロトタイプ版は1988年のACM SIGMODカンファレンスで発表されました。チームは1989年6月にバージョン1を少数のユーザーにリリースし、続いて1990年6月にルールシステムを書き直したバージョン2をリリースしました。1991年にリリースされたバージョン3では、再びルールシステムを書き直し、複数のストレージマネージャーのサポート[ 32 ]と改善されたクエリエンジンが追加されました。1993年までには、ユーザー数が増え、サポートと機能を求めるリクエストがプロジェクトに殺到し始めました。1994年6月30日にバージョン4.2 [ 33 ]をリリースした後(主にクリーンアップ)、プロジェクトは終了しました。バークレーはPOSTGRESをMITライセンスのバリエーションでリリースし、他の開発者がコードを自由に使用できるようにしました。当時、POSTGRES は Ingres の影響を受けたPOSTQUEL クエリ言語インタープリタを使用していました。これは、という名前のコンソール アプリケーションで対話的に使用できましたmonitor

Postgres95 (1994–1996)

1994年、バークレー大学の大学院生アンドリュー・ユーとジョリー・チェンは、POSTQUELクエリ言語インタープリタをSQLクエリ言語のインタープリタに置き換え、Postgres95を開発しました。monitorコンソールも置き換えられましたpsql。ユーとチェンは1995年5月5日に最初のバージョン(0.01)をベータテスターに​​発表しました。Postgres95のバージョン1.0は、ソフトウェアを自由に変更できるより自由なライセンスで、1995年9月5日に発表されました

1996年7月8日、Hub.org Networking ServicesのMarc Fournierは、オープンソース開発活動のために、大学以外で最初の開発サーバーを提供しました。[ 3 ] Bruce MomjianとVadim B. Mikheevの参加により、バークレーから引き継いだコードを安定化させる作業が開始されました。

PostgreSQL(1996年~現在)

1996年、SQLをサポートしていることを反映して、プロジェクト名がPostgreSQLに変更されました。ウェブサイトPostgreSQL.orgでのオンライン公開は、1996年10月22日に開始されました。[ 34 ] PostgreSQLの最初のリリースは、1997年1月29日にバージョン6.0としてリリースされました。それ以来、世界中の開発者とボランティアがPostgreSQLグローバル開発グループとしてソフトウェアのメンテナンスを行っています。[ 2 ]

このプロジェクトは、フリーでオープンソースのソフトウェアであるPostgreSQLライセンスに基づいてリリースを提供し続けています。コードは、プロプライエタリベンダー、サポート企業、そしてオープンソースプログラマーからの貢献によって提供されています。

2025年現在、PostgreSQLはメジャーリリースバージョン18であり、非同期I/O(AIO)を実装していることで注目に値します。これにより、データベースユーザーは先読みやシーケンシャルスキャンなどの同時I/Oタスクを実行できるようになります。[ 35 ]

多版型同時実行制御(MVCC)

PostgreSQLは、多版型同時実行制御(MVCC)によって同時実行性を管理します。MVCCは各トランザクションにデータベースの「スナップショット」を提供し、他のトランザクションに影響を与えることなく変更を加えることを可能にします。これにより、読み取りロックの必要性が大幅に軽減され、データベースがACID原則を維持することが保証されます。PostgreSQLは、Read Uncommitted、Read Committed、Repeatable Read、Serializableの4つのトランザクション分離レベルを提供します。PostgreSQLはダーティリードの影響を受けないため、Read Uncommittedトランザクション分離レベルを要求すると、代わりにRead commitedが提供されます。PostgreSQLは、Serializable Snapshot isolation (SSI)方式によって完全な直列化可能性をサポートしています。[ 36 ] PostgreSQLのMVCC実装は、既存の行を更新する書き込み負荷が高い場合、パフォーマンス上の問題が発生しやすく、チューニングが必要になります。[ 37 ]

ストレージとレプリケーション

レプリケーション

PostgreSQLには、変更(先行書き込みログ(WAL))をレプリカノードに非同期に送信するバイナリレプリケーションが組み込まれており、これらのレプリケートされたノードに対して読み取り専用クエリを実行する機能があります。これにより、読み取りトラフィックを複数のノード間で効率的に分割できます。同様の読み取りスケーリングを可能にした以前のレプリケーションソフトウェアは、通常、マスターにレプリケーショントリガーを追加することに依存しており、負荷が増加していました

PostgreSQLには同期レプリケーション[ 38 ]が組み込まれており、書き込みトランザクションごとに、マスターは少なくとも1つのレプリカノードがトランザクションログにデータを書き込むまで待機します。他のデータベースシステムとは異なり、トランザクションの永続性(非同期か同期か)は、データベースごと、ユーザーごと、セッションごと、さらにはトランザクションごとに指定できます。これは、そのような保証を必要としないワークロードには役立ちますが、同期スタンバイへのトランザクション到達の確認が必要となるためパフォーマンスが低下するため、すべてのデータに適用する必要はないかもしれません。

スタンバイサーバーは同期または非同期にすることができます。同期スタンバイサーバーは設定で指定でき、同期レプリケーションの候補となるサーバーを決定します。リストの先頭でアクティブにストリーミングしているサーバーが現在の同期サーバーとして使用されます。このサーバーに障害が発生した場合、システムは次のサーバーにフェイルオーバーします。

PostgreSQLのレプリケーションは、プライマリサーバとスタンバイサーバの間で競合を引き起こす可能性があります。特に、実行中のクエリがアクセスしているにもかかわらず、スタンバイサーバからタプルが早期に削除された場合にその可能性が高くなります。[ 39 ]これに対処するために、PostgreSQLにはフィードバックフラグ[ 40 ]が含まれており、スタンバイサーバは進行中のクエリをプライマリサーバに積極的に通知して、この種の競合を軽減します。

同期マルチマスターレプリケーションはPostgreSQLコアには含まれていません。PostgreSQLをベースにしたPostgres-XCは、スケーラブルな同期マルチマスターレプリケーションを提供します。[ 41 ] PostgreSQLと同じライセンスで提供されています。関連プロジェクトとしてPostgres-XLがあります。Postgres-Rもまた別のフォークです。[ 42 ]双方向レプリケーション(BDR)は、PostgreSQL用の非同期マルチマスターレプリケーションシステムです。[ 43 ]

repmgr などのツールを使用すると、レプリケーション クラスターの管理が容易になります。

非同期トリガーベースのレプリケーションパッケージが複数利用可能です。これらは、拡張コア機能の導入後も、データベースクラスタ全体のバイナリレプリケーションが適切でない状況で役立ちます。

インデックス

PostgreSQLには、通常のB木インデックスとハッシュテーブルインデックス、そして4つのインデックスアクセスメソッド(一般化検索木(GiST)、一般化転置インデックス(GIN)、空間分割GiST(SP-GiST)[ 45 ]ブロック範囲インデックス(BRIN))が組み込まれています。さらに、ユーザー定義のインデックスメソッドを作成することもできますが、これはかなり複雑なプロセスです。PostgreSQLのインデックスは、以下の機能もサポートしています

スキーマ

PostgreSQLスキーマは名前空間であり、同じ種類と名前のオブジェクトを単一のデータベース内に共存させることができます。 データベーススキーマとは、各テーブルのデータが他のテーブル内のデータとどのように関連するかを定義する抽象的、構造的、組織的な仕様です。ロールテーブルスペースなどの一部のグローバルオブジェクトを除くすべてのPostgreSQLデータベースオブジェクトは、スキーマ内に存在します。スキーマはネストできず、スキーマにスキーマを含めることはできません。権限システムによって、スキーマとそのコンテンツへのアクセスが制御されます。デフォルトでは、新しく作成されたデータベースにはpublicという単一のスキーマしかありませんが、他のスキーマを追加することができ、publicスキーマは必須ではありません

設定search_pathにより、PostgreSQLが非修飾オブジェクト(プレフィックス付きスキーマを持たないオブジェクト)のスキーマをチェックする順序が決まります。デフォルトでは$user, public$user現在接続中のデータベースユーザーを参照)に設定されています。このデフォルトはデータベースレベルまたはロールレベルで設定できますが、セッションパラメータであるため、クライアントセッション中に自由に(複数回でも)変更でき、そのセッションのみに影響します。

search_path にリストされている存在しないスキーマ、またはログインしているユーザーがアクセスできないその他のスキーマは、オブジェクトの検索中に黙ってスキップされます。

新しいオブジェクトは、search_path で最初に表示される有効なスキーマ (アクセス可能なスキーマ) に作成されます。

データ型

以下のような幅広いネイティブデータ型がサポートされています

さらに、ユーザーは独自のデータ型を作成することができ、通常はPostgreSQLのインデックス基盤(GiST、GIN、SP-GiST)を介して完全にインデックス化できます。これらの例としては、 PostgreSQLのPostGISプロジェクトの地理情報システム(GIS)データ型が挙げられます。

ドメインと呼ばれるデータ型もあります。これは他のデータ型と同じですが、ドメインの作成者によって定義されたオプションの制約が付加されます。つまり、このドメインを使用して列に入力されたデータは、ドメインの一部として定義された制約に従う必要があります。

データの範囲を表すデータ型、いわゆる範囲型を使用できます。範囲型は、離散的な範囲(例:1から10までのすべての整数値)または連続的な範囲(例:午前10時から午前11時までの任意の時間)に対応しています。組み込みの範囲型には、整数、大整数、小数、タイムスタンプ(タイムゾーン付きとなし)、日付の範囲が含まれます。

カスタム範囲型を作成することで、inet 型をベースとした IP アドレス範囲や、float データ型をベースとした float 範囲など、新しい種類の範囲を作成できます。範囲型は、それぞれ[]と の文字を使用して、包含範囲と排他範囲の境界をサポートします。(例:は 4 から 9 までのすべての整数を表します。) 範囲型は、重複、包含、右辺などのチェックに使用される既存の演算子とも互換性があります。 ()[4,9)

ユーザー定義オブジェクト

データベース内のほぼすべてのオブジェクトの新しいタイプを作成できます。これには以下が含まれます

継承

テーブルは、親テーブルから特性を継承するように設定できます。ONLYキーワード(つまり、親テーブルからデータを選択しない限り)を使用して子テーブルのデータは親テーブルに存在するように見えます。親テーブルに列を追加すると、その列が子テーブルに表示されます SELECT*FROMONLYparent_table;

継承を使用すると、トリガーまたはルールを使用して親テーブルへの挿入を適切な子テーブルに直接送信し、テーブルパーティションを実装できます。

この機能は完全にはサポートされていません。特に、テーブル制約は現在継承できません。親テーブルのすべてのチェック制約と非NULL制約は、子テーブルに自動的に継承されます。その他の種類の制約(一意制約、主キー制約、外部キー制約)は継承されません。

継承は、エンティティ関係図(ERD) に描かれた一般化階層の機能を PostgreSQL データベースに直接 マッピングする方法を提供します。

その他のストレージ機能

  • 外部キー制約、列制約、行チェックを含む参照整合性制約
  • バイナリおよびテキストのラージオブジェクトストレージ
  • 表領域
  • 列ごとの照合
  • オンラインバックアップ
  • 先行書き込みログを使用して実装されたポイントインタイムリカバリ
  • pg_upgrade によるインプレースアップグレードでダウンタイムを短縮

制御と接続性

外部データラッパー

PostgreSQLは、外部データラッパー(FDW)を介して他のシステムにリンクし、データを取得できます。[ 49 ]これらは、ファイルシステム、他のリレーショナルデータベース管理システム(RDBMS)、Webサービスなど、 あらゆるデータソースの形式を取ることができます。つまり、通常のデータベースクエリでは、これらのデータソースを通常のテーブルのように使用でき、複数のデータソースを結合することさえできます

インターフェース

PostgreSQLは、アプリケーションがデータベースサーバーに接続できるようにするバイナリ通信プロトコルをサポートしています。このプロトコルはバージョン管理されており(PostgreSQL 7.4時点では3.0)、詳細な仕様が定められています。[ 50 ]

この通信プロトコルの公式クライアント実装はC APIであるlibpqです。[ 51 ]さらに、公式にサポートされているECPGツールを使用すると、SQLコマンドをCコードに埋め込むことができます。[ 52 ]どちらも標準のPostgreSQLディストリビューションの一部です。[ 53 ]

PostgreSQLに接続するためのサードパーティライブラリは C ++[ 54 ] Java[ 55 ] Julia[ 56 ] [57 ] [ 58 ] Python[ 59 ] Node.js[ 60 ] Go[ 61 ] Rustなど、多くのプログラミング言語で利用可能です[ 62 ]

手続き型言語

手続き型言語を使用すると、開発者はカスタムサブルーチン(関数)(ストアドプロシージャと呼ばれることが多い)を使用してデータベースを拡張できます。これらの関数は、データベーストリガー(特定のデータの変更時に呼び出される関数)やカスタムデータ型、集計関数の構築に使用できます。[ 63 ]手続き型言語は、関数を定義せずにSQLレベルのDOコマンドを使用して呼び出すこともできます。[ 64 ]

言語は2つのグループに分けられます。安全な言語で書かれた手続きはサンドボックス化されており、どのユーザーでも安全に作成・使用できます。安全でない言語で書かれた手続きは、データベースのセキュリティ制限を回避できる一方で、データベース外部のソースにアクセスできるため、スーパーユーザーのみが作成できます。Perlなどの一部の言語では、安全なバージョンと安全でないバージョンの両方が提供されています。

PostgreSQL には、次の 3 つの手続き型言語のサポートが組み込まれています。

  • プレーンSQL(安全)。より単純なSQL関数は、呼び出し元の(SQL)クエリ内にインライン展開できるため、関数呼び出しのオーバーヘッドが削減され、クエリオプティマイザーが関数の内部を「確認」できるようになります。
  • Procedural Language/PostgreSQL ( PL/pgSQL ) (安全)。Oracle の Procedural Language for SQL ( PL/SQL ) 手続き型言語および SQL/Persistent Stored Modules ( SQL/PSM ) に似ています。
  • C(安全ではありません)は、1つ以上のカスタム共有ライブラリをデータベースにロードできます。Cで記述された関数は最高のパフォーマンスを発揮しますが、コードにバグがあるとクラッシュし、データベースが破損する可能性があります。ほとんどの組み込み関数はCで記述されています。

さらに、PostgreSQLでは拡張機能を通じて手続き型言語をデータベースにロードすることができます。PostgreSQLにはPerlTclPythonをサポートする3つの言語拡張機能が含まれています。Pythonについては現在のPython 3が使用され、廃止されたPython 2はPostgreSQL 15でサポートされなくなりました。以前は両方ともサポートされていましたが、デフォルトでPython 2が使用され、古いバージョンと新しいバージョンを同じセッションで使用することはできませんでした。[ 65 ]外部プロジェクトでは他の多くの言語のサポートが提供されており、[ 66 ] PL/ JavaJavaScript(PL/V8)、PL/ Julia[ 58 ] PL/ R[ 67 ] PL/ Rubyなどが含まれます。

トリガー

トリガーは、SQLデータ操作言語(DML)文のアクションによって起動されるイベントです。例えば、INSERT文は、文の値が有効かどうかをチェックするトリガーを起動する場合があります。ほとんどのトリガーは、INSERT文またはUPDATE文の いずれかによってのみ起動されます。

トリガーは完全にサポートされており、テーブルにアタッチできます。トリガーは列ごとに設定でき、条件付きトリガーも可能です。つまり、UPDATEトリガーはテーブルの特定の列をターゲットにでき、トリガーのWHERE句で指定された条件セットに基づいてトリガーを実行することができます。INSTEAD OF条件を使用して、トリガーをビューにアタッチできます。複数のトリガーはアルファベット順に実行されます。トリガーは、ネイティブのPL/pgSQLで記述された関数を呼び出すだけでなく、PL/PythonやPL/Perlなどの他の言語で記述された関数も呼び出すことができます。

非同期通知

PostgreSQLは、NOTIFY、LISTEN、UNLISTENコマンドを介してアクセスできる非同期メッセージングシステムを提供しています。セッションは、特定のイベントが発生したことを示すために、ユーザ指定のチャネルとオプションのペイロードとともにNOTIFYコマンドを発行できます。他のセッションは、特定のチャネルをリッスンできるLISTENコマンドを発行することで、これらのイベントを検出できます。この機能は、テーブルが更新されたことを他のセッションに知らせたり、別のアプリケーションが特定のアクションが実行されたことを検出したりするなど、さまざまな目的に使用できます。このようなシステムにより、アプリケーションが何かが変更されたかどうかを確認するために継続的にポーリングする必要がなくなり、不要なオーバーヘッドが削減されます。通知は完全にトランザクション化されており、メッセージは送信元のトランザクションがコミットされるまで送信されません。これにより、実行中のアクションに対してメッセージが送信され、その後ロールバックされるという問題が解消されます

PostgreSQL の多くのコネクタ (libpq、JDBC、Npgsql、psycopg、node.js など) はこの通知システムをサポートしているため、外部アプリケーションで使用できます。

PostgreSQLはLISTENとFOR UPDATE SKIP LOCKEDを組み合わせることで、効率的で永続的な「pub/sub」サーバーまたはジョブサーバーとして機能することができます。 [ 68 ] [ 69 ] [ 70 ]

ルール

ルールは、入力クエリの「クエリツリー」を書き換えることを可能にします。ルールは、自動的に呼び出されるSQLのマクロ言語です。「クエリ書き換えルール」はテーブル/クラスに添付され、入力されたDML(選択、挿入、更新、および/または削除)を1つ以上のクエリに「書き換え」ます。このクエリは、元のDML文を置き換えるか、それに加えて実行されます。クエリ書き換えは、DML文の解析後、クエリプランニングの前に行われます

ルールが提供する機能は、後に新しいタイプのトリガーが導入されたことで、ほぼすべての点で複製されました。トリガーの使用は通常、ルールよりも好まれます。これは、同等のルールを使用するよりも、トリガーの動作と相互作用について推論しやすいためです。

その他のクエリ機能

  • トランザクション
  • 全文検索
  • ビュー
    • マテリアライズドビュー[ 71 ]
    • 更新可能なビュー[ 72 ]
    • 再帰的ビュー[ 73 ]
  • 内部結合、外部結合(完全結合、左結合、右結合)、クロス結合
  • サブ選択
  • 正規表現[ 75 ]
  • 共通テーブル式と書き込み可能な共通テーブル式
  • トランスポート層セキュリティ(TLS)による暗号化接続。現在のバージョンでは、その設定オプションがあっても脆弱なSSLは使用されません[ 76 ]
  • ドメイン
  • セーブポイント
  • 2フェーズコミット
  • TOAST(Oversized-Attribute Storage Technique)は、大きなテーブル属性(大きなMIME添付ファイルやXMLメッセージなど)を別の領域に透過的に保存し、自動的に圧縮するために使用されます
  • 埋め込みSQLはプリプロセッサを用いて実装されます。SQLコードはまずCコードに埋め込まれて記述されます。次に、ECPGプリプロセッサを通して実行され、SQLはコードライブラリの呼び出しに置き換えられます。その後、Cコンパイラを用いてコンパイルできます。埋め込みはC++でも機能しますが、すべてのC++構文を認識できるわけではありません。

並行性モデル

PostgreSQLサーバーはプロセスベース(スレッドベースではない)であり、データベースセッションごとに1つのオペレーティングシステムプロセスを使用します。複数のセッションは、オペレーティングシステムによって利用可能なすべてのCPUに自動的に分散されます。多くの種類のクエリは、複数のCPUまたはコアを活用して、複数のバックグラウンドワーカープロセス間で並列化することもできます。[ 77 ]クライアントアプリケーションはスレッドを使用し、各スレッドから複数のデータベース接続を作成できます。[ 78 ]

セキュリティ

PostgreSQLは、内部セキュリティをロールごとに管理します。ロールは通常、ユーザー(ログイン可能なロール)またはグループ(他のロールがメンバーであるロール)と見なされます。権限は、列レベルに至るまで、あらゆるオブジェクトに対して付与または取り消しすることができ、データベース、スキーマ、テーブル、行レベル でのオブジェクトの表示/作成/変更/削除を許可または禁止できます

PostgreSQLのSECURITY LABEL機能(SQL標準の拡張)は、 Security-Enhanced Linux (SELinux)セキュリティポリシーに基づいたラベルベースの強制アクセス制御(MAC)をサポートするバンドルされたロード可能なモジュールを使用して、追加のセキュリティを可能にします。[ 79 ] [ 80 ]

PostgreSQL は、次のような幅広い外部認証メカニズムをネイティブにサポートしています。

GSSAPI、SSPI、Kerberos、peer、ident、および certificate メソッドでは、認証システムによって一致したユーザーが特定のデータベース ユーザーとして接続できるかどうかをリストする指定された「マップ」ファイルも使用できます。

これらの方法は、クラスタのホストベース認証構成ファイルpg_hba.conf)で指定され、許可される接続の種類を決定します。これにより、どのユーザーがどのデータベースに接続できるか、どこから接続できるか(IPアドレス、IPアドレス範囲、ドメインソケット)、どの認証システムを適用するか、接続にトランスポート層セキュリティ(TLS)を使用する必要があるかどうかを制御できます。

標準準拠

PostgreSQLは最新のSQL標準に高度に準拠していると主張していますが、完全ではありません(「2024年9月のバージョン17リリース時点で、PostgreSQLはSQL:2023 Core準拠の177の必須機能のうち少なくとも170に準拠しています」。他のデータベースで完全に準拠しているものはありません[ 82 ])。1つの例外は、テーブル名や列名などの引用符で囲まれていない識別子の処理です。PostgreSQLでは、内部的に小文字に変換されます[ 83 ]が、標準では引用符で囲まれていない識別子は大文字に変換する必要があるとされています。したがって、標準によれば、はnotFooと同等になるはずです。その他の欠点としては、トランザクション中に行のバージョンを自動的にログに記録し、時間内に参照できる可能性のあるテンポラルテーブルが存在しないことが挙げられます(FOR SYSTEM TIME述語)。ただし、比較的SQLに準拠したサードパーティ製の拡張機能は利用可能です[ 16 ]FOOfoo

ベンチマークとパフォーマンス

PostgreSQLの非公式な性能研究は数多く行われてきました。[ 84 ]スケーラビリティ向上を目的とした性能改善は、バージョン8.1から本格的に開始されました。バージョン8.0とバージョン8.4の簡単なベンチマークでは、後者は読み取り専用ワークロードで10倍以上、読み取りと書き込みの両方のワークロードで少なくとも7.5倍高速であることが示されました。[ 85 ]

最初の業界標準でピア検証されたベンチマークは、2007年6月に、Sun Java System Application Server(GlassFishの独自バージョン)9.0 Platform Edition、UltraSPARC T1ベースのSun Fireサーバー、PostgreSQL 8.2を使用して実施されました。[ 86 ] SPECjAppServer2004 JOPS@Standardの778.14という結果は、 ItaniumベースのHP-UXシステムでOracle 10を使用した場合の874 JOPS@Standardと比較して遜色ありません。[ 84 ]

2007年8月、サンはSPECjAppServer2004 JOPS@Standardのベンチマークスコアを813.73に向上させました。テスト対象システムの価格が引き下げられたことで、価格性能比は84.98ドル/JOPSから70.57ドル/JOPSに向上しました。[ 87 ]

PostgreSQLのデフォルト設定では、データベースブロックのキャッシュやソートなど、パフォーマンスが重要な用途に少量の専用メモリしか使用しません。この制限は主に、古いオペレーティングシステムでは大きな共有メモリブロックを割り当てるためにカーネルの変更が必要だったためです。[ 88 ] PostgreSQL.orgは、 Wikiで基本的な推奨パフォーマンスプラクティスに関するアドバイスを提供しています。[ 89 ]

2012年4月、EnterpriseDBのRobert Haas氏は、64コアのサーバーを使用してPostgreSQL 9.2の線形CPUスケーラビリティを実証しました。[ 90 ]

Matloob Khushi氏は、PostgreSQL 9.0とMySQL 5.6.15のゲノムデータ処理能力についてベンチマークテストを実施しました。彼のパフォーマンス分析では、ランダムなヒトDNA領域を形成する80,000個のデータセット2つを用いて、PostgreSQLが重複ゲノム領域をMySQLの8倍高速に抽出できることが分かりました。PostgreSQLでは、データの挿入とアップロードも高速でしたが、両データベースの一般的な検索能力はほぼ同等でした。[ 91 ]

プラットフォーム

PostgreSQLは、以下のオペレーティングシステムで利用可能です: Linux (最近のすべてのディストリビューション)、macOSバージョン10.14以降で利用可能でテスト済みの64ビットARMおよびx86-64インストーラー、 [ 92 ] Windows (64ビットWindows Server 2022および2016用のインストーラーが利用可能でテスト済み[ 93 ] )、 FreeBSDOpenBSD[ 94 ] NetBSDDragonFlyBSD、および公式の(非公式ではあるがおそらく利用可能な)バイナリ実行ファイルがないもの、Solaris[ 95 ]およびillumos

PostgreSQLは、以下の命令セットアーキテクチャ(およびオペレーティングシステム)で動作することが期待できます。Windowsおよびその他のオペレーティングシステム上の64ビットx86-64および32ビットx86。Windows以外では、64ビットARM [ 96 ]および古い32ビットARM ( Raspberry PiARMv6などを含む[ 97 ])、RISC-Vz/ArchitectureS/390PowerPC(64ビットPower ISAを含む)、SPARC(これも64ビット)、MIPSPA-RISCがサポートされています。他のプラットフォームでも動作することが知られています(ただし、最新バージョンでは何年もテストされていません)。[ 98 ]

データベース管理

PostgreSQLを管理するためのオープンソースのフロントエンドとツールには以下が含まれます

psqlセッションの例[ 99 ]
regression=# select foo ;エラー: 列 "foo" が存在しませんコンテキスト:  PL/pgSQL 関数 "test1" で戻り値を関数の戻り値の型にキャストしています 行1: select foo;  ^ regression=# \q
peter@localhost testdb=> \a \t \x出力形式は整列しています。タプルのみはオフです。拡張表示はオンです。
regression=# select '\x' ;警告: 文字列リテラルでのエスケープの非標準使用1行目: select '\x';  ^ヒント: エスケープにはエスケープ文字列構文を使用してください。例: E'\r\n'。?column? ---------- x (1 row)回帰=# E '\x'を選択します
piro=> \set foo 30; piro=> select * from test where foo <= :foo ; foo | bar -----+-----  10 |  20 | (2 行)
testdb=> \set foo 'my_table' testdb=> SELECT * FROM :"foo" ;testdb=> \set content `cat my_file.txt` testdb=> my_tableINSERT INTO VALUES ( :'content' );
回帰=# select (回帰(# 1 ); ?列? ----------  1 (1 行)
piro=> select ( piro(> ' piro'> ' || $$ piro$> $$ ) piro-> from " piro"> foo" ;エラー: リレーション " foo" が存在しません 5 行目: from "  ^
testdb=> CREATE TABLE my_table (最初の整数NULL以外デフォルト0 2番目のテキスト) ; -- コマンドの終了CREATE TABLE=# SELECT '0x10' :: mpz AS "hex" , '10' :: mpz AS "dec" , -# '010' :: mpz AS oct , '0b10' :: mpz AS bin ; -- テーブル出力hex | dec | oct | bin -----+-----+-----+----- 16 | 10 | 8 | 2 (1 行)
regression=# select schemaname from pg_tables limit 3 ; -- 1つのフィールド出力schemaname ------------ pg_catalog pg_catalog pg_catalog (3行)=# 10.0、1e - 6、1E + 6を選択; ?column? | ?column? | ?column? ----------+----------+----------  10.0 | 0.000001 | 1000000 (1 行)regression=# begin ; BEGIN regression=# create table asdf ( foo serial primary key ); NOTICE:  CREATE TABLE は、シリアル列 "asdf.foo" に暗黙的なシーケンス "asdf_foo_seq" を作成します。NOTE :  CREATE TABLE / PRIMARY KEY は、テーブル "asdf" に暗黙的なインデックス "asdf_pkey" を作成します。CREATE TABLE regression=# insert into asdf values ( 10 )はfooを返します。foo -----  10 (1 row)INSERT 0 1回帰=# ROLLBACK ; ROLLBACK
psql
PostgreSQLの主要なフロントエンドはpsqlコマンドラインプログラムです。これを使用して、SQLクエリを直接入力したり、ファイルから実行したりできます。さらに、psqlは、スクリプトの作成やさまざまなタスクの自動化を容易にするための、多数のメタコマンドとシェルのような機能を提供します。たとえば、オブジェクト名やSQL構文のタブ補完などです
pgAdmin
pgAdmin パッケージは、PostgreSQL 用の無料かつオープンソースのグラフィカルユーザーインターフェイス(GUI) 管理ツールで、多くのコンピュータプラットフォームでサポートされています。 [ 100 ]このプログラムは、12 以上の言語で利用可能です。最初のプロトタイプは pgManager と呼ばれ、1998 年から PostgreSQL 6.3.2 用に作成され、その後書き直されてGNU 一般公衆利用許諾書(GPL) の下で pgAdmin としてリリースされました。2 番目のバージョン (pgAdmin II) は完全に書き直されたもので、2002 年 1 月 16 日に最初にリリースされました。3 番目のバージョンである pgAdmin III は、もともとArtistic Licenseの下でリリースされ、その後 PostgreSQL と同じライセンスの下でリリースされました。Visual Basicで作成されていた以前のバージョンとは異なり、pgAdmin III は C++ で作成されており、wxWidgets [ 101 ]フレームワークを使用しているため、ほとんどの一般的なオペレーティングシステムで実行できます。クエリツールには、管理および開発タスクをサポートするための pgScript と呼ばれるスクリプト言語が含まれています。 2014年12月、pgAdminプロジェクトの創設者であり主要開発者であるDave Page氏[ 102 ]は、Webベースモデルへの移行に伴い、クラウド導入を容易にすることを目指したpgAdmin 4の開発を開始したことを発表しました[ 103 ]。2016年にはpgAdmin 4がリリースされました。pgAdmin 4のバックエンドはPythonで記述され、FlaskQtフレームワークが使用されています[ 104 ]
phpPgAdmin
phpPgAdminは、 PHPで書かれたPostgreSQL用のWebベースの管理ツールで、元々はMySQL管理用に書かれた人気のphpMyAdminインターフェースをベースにしています。[ 105 ]
PostgreSQL Studio
PostgreSQL Studioを使用すると、ユーザーはウェブベースのコンソールからPostgreSQLデータベース開発の基本的なタスクを実行できます。また、ファイアウォールを開くことなくクラウドデータベースを操作できます。[ 106 ]
TeamPostgreSQL
PostgreSQL用のAJAX/JavaScript駆動型ウェブインターフェース。ウェブブラウザを介してデータとデータベースオブジェクトの閲覧、保守、作成が可能です。インターフェースには、自動補完機能付きのタブ付きSQLエディタ、行編集ウィジェット、行とテーブル間のクリックスルー外部キーナビゲーション、よく使用するスクリプトのお気に入り管理などの機能があります。ウェブインターフェースとデータベース接続の両方でSSHをサポートしています。Windows、Macintosh、Linux用のインストーラーと、スクリプトから実行されるシンプルなクロスプラットフォームアーカイブが用意されています。[ 107 ]
LibreOffice、OpenOffice.org
LibreOfficeOpenOffice.org BaseはPostgreSQLのフロントエンドとして使用できます。[ 108 ] [ 109 ]
pgBadger
pgBadger PostgreSQLログアナライザーは、PostgreSQLログファイルから詳細なレポートを生成します。[ 110 ]
pgDevOps
pgDevOpsは、複数のPostgreSQLバージョン、拡張機能、コミュニティコンポーネントのインストールと管理、SQLクエリの開発、実行中のデータベースの監視、パフォーマンスの問題の検出を行うためのWebツールスイートです。[ 111 ]
管理者
アドミニストレーターは、PHPで書かれた、PostgreSQLなどのシンプルなWebベースの管理ツールです
pgBackRest
pgBackRestは、フルバックアップ、差分バックアップ、増分バックアップをサポートするPostgreSQLのバックアップおよびリストアツールです。[ 112 ]
pgaudit
pgauditは、PostgreSQLが提供する標準のログ機能を介して、詳細なセッションおよび/またはオブジェクトの監査ログを提供するPostgreSQLの拡張機能です。[ 113 ]
WAL-E
WAL-Eは、Pythonで書かれた、物理( WALベース)バックアップをサポートするPostgreSQLのバックアップおよびリストアツールです。 [ 114 ]
DBeaver
DBeaverはPostgreSQL用の無料かつオープンソースのGUI管理ツールで、ビジュアルエンティティダイアグラムとインテリセンス機能を備えています。商用PROライセンスもご用意しています
Postgresus
Postgresusは、外部ソース(S3、NAS、FTP、Google Drive、Google Cloudなど)と外部サービス(Slack、Discord、Telegram、SMTPなど)への通知をサポートし、スケジュールされたバックアップ用のGUIを備えたオープンソースのバックアップツールです。[ 115 ]

多くの企業がPostgreSQL用のプロプライエタリツールを提供しています。これらのツールの多くは、様々なデータベース製品に適応したユニバーサルコアで構成されています。これらのツールは、管理機能の大部分はオープンソースツールと共通ですが、データモデリング、インポート、エクスポート、レポート作成などの機能が向上しています。

著名なユーザー

PostgreSQLを主要データベースとして使用している著名な組織や製品には、以下のものがあります

サービス実装

いくつかの著名なベンダーは、 PostgreSQLをサービスとしてのソフトウェアとして提供しています

リリース履歴

リリース履歴
リリース 初回リリース 最新マイナーバージョン 最新リリース サポート終了[ 162 ]マイルストーン
6.0 1997年1月29日 該当なし該当なし該当なしPostgreSQLの最初の正式リリース、ユニークインデックス、pg_dumpallユーティリティ、ident認証
6.1 1997年6月8日 サポート対象外:6.1.1 1997年7月22日 該当なし複数列インデックス、シーケンス、moneyデータ型、GEQO(GEnetic Query Optimizer)
6.2 1997年10月2日 サポート対象外:6.2.11997年10月17日 該当なしJDBCインターフェース、トリガー、サーバープログラミングインターフェース、制約
6.3 1998年3月1日 サポート対象外:6.3.21998年4月7日 2003年3月1日 SQL-92 サブセレクト機能、PL/pgTCL
6.4 1998年10月30日 サポート対象外:6.4.21998年12月20日 2003年10月30日 VIEW(読み取り専用)とRULE、PL/pgSQL
6.5 1999年6月9日 サポート対象外:6.5.31999年10月13日 2004年6月9日 MVCC、一時テーブル、より多くの SQL ステートメントのサポート (CASE、INTERSECT、EXCEPT)
7.0 2000年5月8日 サポート対象外:7.0.32000年11月11日 2004年5月8日 外部キー、結合のSQL-92構文
7.1 2001年4月13日 サポート対象外:7.1.32001年8月15日 2006年4月13日 先行書き込みログ、外部結合
7.2 2002年2月4日 サポート対象外:7.2.82005年5月9日 2007年2月4日 PL/Python、OIDは不要になり、メッセージの 国際化
7.3 2002年11月27日 サポート対象外:7.3.212008年1月7日 2007年11月27日 スキーマ、テーブル関数、準備済みクエリ[ 163 ]
7.4 2003年11月17日 サポート対象外:7.4.302010年10月4日 2010年10月1日 JOINとデータウェアハウス関数の最適化[ 164 ]
8.0 2005年1月19日 サポート対象外:8.0.262010年10月4日 2010年10月1日 Microsoft Windows上のネイティブサーバー、セーブポイント表領域ポイントインタイムリカバリ[ 165 ]
8.1 2005年11月8日 サポート対象外:8.1.232010年12月16日 2010年11月8日 パフォーマンス最適化、2フェーズコミット、テーブルパーティション、インデックスビットマップスキャン、共有行ロック、ロール
8.2 2006年12月5日 サポート対象外:8.2.232011年12月5日 2011年12月5日 パフォーマンス最適化、オンラインインデックス構築、アドバイザリロック、ウォームスタンバイ[ 166 ]
8.3 2008年2月4日 サポート対象外:8.3.232013年2月7日 2013年2月7日 ヒープのみのタプル、全文検索[ 167 ] SQL/XML、ENUM型、UUID
8.4 2009年7月1日 サポート対象外:8.4.222014年7月24日 2014年7月24日 ウィンドウ関数、列レベルの権限、並列データベース復元、データベースごとの照合、共通テーブル式、再帰クエリ[ 168 ]
9.0 2010年9月20日 サポート対象外:9.0.232015年10月8日 2015年10月8日 組み込みバイナリストリーミングレプリケーションホットスタンバイ、インプレースアップグレード機能、64ビットWindows [ 169 ]
9.1 2011年9月12日 サポート対象外:9.1.242016年10月27日 2016年10月27日 同期レプリケーション、列ごとの照合順序、ログなしテーブル、シリアル化可能なスナップショット分離、書き込み可能な共通テーブル式、SELinux統合、拡張機能、外部テーブル[ 170 ]
9.2 2012年9月10日[ 171 ]サポート対象外:9.2.242017年11月9日 2017年11月9日 カスケードストリーミングレプリケーション、インデックスのみのスキャン、ネイティブJSONサポート、改善されたロック管理、範囲型、pg_receivexlogツール、空間分割GiSTインデックス
9.3 2013年9月9日 サポート対象外:9.3.252018年11月8日 2018年11月8日 カスタムバックグラウンドワーカー、データチェックサム、専用JSON演算子、LATERAL JOIN、高速化されたpg_dump、新しいpg_isreadyサーバー監視ツール、トリガー機能、ビュー機能、書き込み可能な外部テーブル、マテリアライズドビュー、レプリケーションの改善
9.4 2014年12月18日 サポート対象外:9.4.262020年2月13日 2020年2月13日 JSONBデータ型、設定値を変更するためのALTER SYSTEM文、読み取りをブロックせずにマテリアライズド・ビューを更新する機能、バックグラウンド・ワーカープロセスの動的な登録/開始/停止、論理デコードAPI、GiNインデックスの改善、Linuxヒュージページのサポート、pg_prewarmによるデータベースキャッシュの再読み込み、ドキュメント形式のデータに適した列型としてHstoreを再導入。[ 172 ]
9.5 2016年1月7日 サポート対象外:9.5.252021年2月11日 2021年2月11日 UPSERT、行レベルセキュリティ、TABLESAMPLE、CUBE/ROLLUP、GROUPING SETS、新しいBRINインデックス[ 173 ]
9.6 2016年9月29日 サポート対象外:9.6.242021年11月11日 2021年11月11日 並列クエリのサポート、ソート/結合プッシュダウンによるPostgreSQL外部データラッパー(FDW)の改善、複数の同期スタンバイ、大規模テーブルの バキューム処理の高速化
10 2017年10月5日 サポート対象外:10.232022年11月10日 2022年11月10日 論理レプリケーション、[ 174 ]宣言的テーブルパーティショニング、クエリ並列性の向上
11 2018年10月18日 サポート対象外:11.222023年11月9日 2023年11月9日 パーティショニングの堅牢性とパフォーマンスの向上、ストアドプロシージャでのトランザクションのサポート、クエリ並列処理の強化、式のジャストインタイム(JIT)コンパイル[ 175 ] [ 176 ]
12 2019年10月3日 サポート対象外:12.222024年11月21日 2024年11月21日 クエリパフォーマンスとスペース使用率の向上、SQL/JSONパス式のサポート、生成列、国際化と認証の改善、新しいプラガブルテーブルストレージインターフェース。[ 177 ]
13 2020年9月24日 サポート対象外:13.232025年11月13日 2025年11月13日 Bツリーインデックスエントリの重複排除によるスペース節約とパフォーマンス向上、集計またはパーティションテーブルを使用するクエリのパフォーマンス向上、拡張統計を使用した場合のクエリプランニングの改善、インデックスの並列バキューム、増分ソート[ 178 ] [ 179 ]
14 2021年9月30日 サポート対象:14.202025年11月13日 2026年11月12日 共通表式にSQL標準のSEARCH句とCYCLE句を追加し、GROUP BYにDISTINCTを追加できるようにしました[ 180 ] [ 181 ]
15 2022年10月13日 サポート対象:15.152025年11月13日 2027年11月11日 SQL標準のMERGE文を実装します。PL/Pythonは現在、 Python 3のみをサポートしており、廃止されたPython 2ではなくPython 3plpythonu意味します
16 2023年9月14日 サポート対象:16.112025年11月13日 2028年11月9日 論理レプリケーション、pg_stat_ioビュー(I/Oメトリクス用)の改善[ 182 ]
17 2024年9月26日 サポート対象:17.72025年11月13日 2029年11月8日 バキュームプロセス、I/Oレイヤー、クエリ実行のパフォーマンス向上、JSON機能の拡張、MERGE機能の追加、COPYの改善。高可用性とアップグレードのための論理レプリケーションの強化、セキュリティ、運用、監視、分析の改善。[ 183 ]
18 2025年9月25日 最新バージョン:18.12025年11月13日 2030年11月14日 新しいI/Oサブシステムと非同期I/Oの機能強化。[ 184 ]
凡例:
サポート対象外
対応
最新バージョン
プレビュー版
将来版

エコシステムとデリバティブ

PostgreSQLは、その寛容なオープンソースライセンスと拡張可能なアーキテクチャにより、幅広いエコシステムを形成しています。これには、専用のサポートとホスティングを提供する多数の企業に加え、特定のワークロード向けにPostgreSQLを適応させたフォークや派生データベースが含まれます。注目すべき派生データベースには以下が含まれます。

  • Greenplum Database: 大規模な分析のために設計された、PostgreSQLの旧バージョンをベースにした超並列処理(MPP)データウェアハウス。[ 185 ]
  • TimescaleDB : PostgreSQL拡張機能として提供される時系列データベース。時系列データの高速な取り込みと複雑なクエリの処理に最適化されています。[ 186 ]
  • Amazon Aurora : Amazon Web Servicesが提供するクラウドネイティブのリレーショナルデータベース。PostgreSQL互換エディションも提供しています。[ 187 ]
  • Neon: ストレージとコンピューティングを分離し、データベースブランチなどの最新の開発機能を提供するオープンソースのPostgreSQLサーバーレス実装。[ 188 ]
  • AlloyDB: コンピューティングとストレージを分離し、ハイブリッドワークロードと統合AI機能向けに設計された、PostgreSQL互換のフルマネージドGoogle Cloudデータベース。[ 189 ]

参照

参考文献

  1. ^ 「PostgreSQL」 。 2019年9月21日閲覧。PostgreSQL :世界で最も先進的なオープンソースリレーショナルデータベース
  2. ^ a b「貢献者プロフィール」 . PostgreSQLグローバル開発グループ. 2017年3月14日閲覧
  3. ^ a b「Happy Birthday, PostgreSQL!」 PostgreSQLグローバル開発グループ。2008年7月8日。
  4. ^ 「PostgreSQL 18.1、17.7、16.11、15.15、14.20、13.23 リリース!」 2025年11月13日。
  5. ^ a b「ライセンス」 . PostgreSQL Global Development Group . 2010年9月20日閲覧
  6. ^ 「PostgreSQLライセンスがOSIに承認」 Crynwr、2010年2月18日。2016年8月8日時点のオリジナルよりアーカイブ2010年2月18日閲覧。
  7. ^ a b「OSI PostgreSQLライセンス」 . Open Source Initiative. 2010年2月20日. 2010年2月20日閲覧
  8. ^ 「Debian -- sidのパッケージpostgresqlの詳細」 . packages.debian.org . 2021年1月25日閲覧
  9. ^ 「ライセンス:メイン」 . FedoraProject .
  10. ^ "PostgreSQL" . fsf.org .
  11. ^ 「FAQ:PostgreSQLとは何ですか?発音はどうですか?Postgresとは何ですか?」 PostgreSQL Wiki PostgreSQLコミュニティ2021年10月2日閲覧
  12. ^ 「オーディオサンプル、5.6k MP3」
  13. ^ 「PostgreSQLとは?」 . PostgreSQL 9.3.0ドキュメント. PostgreSQLグローバル開発グループ. 2013年9月20日閲覧
  14. ^ 「データレイクにおけるParquetとPostgres | Crunchy Data Blog」 . Crunchy Data . 2022年5月3日. 2024年9月19日閲覧
  15. ^ "PostGIS" . postgis.net . 2023年12月18日. 2023年12月18日閲覧。PostGISは、地理空間データの保存、インデックス作成、クエリのサポートを追加することで、PostgreSQLリレーショナルデータベースの機能を拡張します。
  16. ^ a b「Temporal Extensions」 . PostgreSQL Wiki . 2023年12月18日. 2023年12月18日閲覧。Postgresは拡張してTemporal Databaseにすることができます。このようなデータベースは、データベースコンテンツの履歴を時間の経過とともに追跡し、自動的に保持し、変更やクエリを可能にします。
  17. ^ 「Orafce - Oracleの互換性関数とパッケージ」 . GitHub.com . 2023年12月17日. 2023年12月18日閲覧。Oracle RDBMSの関数とパッケージのサブセットをエミュレートする関数と演算子。
  18. ^ "pg_dbms_job" . GitHub.com . 2023年11月8日. 2023年12月18日閲覧。Oracle DBMS_JOBパッケージと同様に、ジョブキュー内のジョブをスケジュールおよび管理するためのPostgreSQL拡張機能。
  19. ^ "WiltonDB" . WiltonDB . 2023. 2023年12月18日閲覧。WiltonDBはWindows向けにパッケージ化されており、Microsoft SQL Serverの代替として使用できるように設計されています。
  20. ^ 「Babelfish for PostgreSQL」。babelfishpg.org 。 2023年12月18日閲覧。Babelfish for PostgreSQL、Microsoft SQL Server用に作成されたアプリケーションからのクエリをPostgreSQLが理解する機能を提供します。
  21. ^ 「PostgreSQLクライアント」 . wiki.postgresql.org . 2023年10月18日. 2023年12月18日閲覧このページは、SQLを入力して結果を取得できる対話型SQLクライアント(GUIまたはその他の形式)の一部です。
  22. ^ "設計ツール" . wiki.postgresql.org . 2023年10月23日. 2023年12月18日閲覧.エンティティ関係図などの作成を通じてスキーマ設計を支援するツール。ほとんどがGUIです。
  23. ^ 「PostgreSQL GUIツールのコミュニティガイド」 . wiki.postgresql.org . 2023年12月1日. 2023年12月18日閲覧このページは、Postgresで動作する様々なユーティリティ(例:データローダー、コンパレーターなど)のリストです。
  24. ^ 「レプリケーション、クラスタリング、接続プール」 . wiki.postgresql.org . 2020年7月13日. 2023年12月18日閲覧. PostgreSQLを単一サーバー上で実行する以外にも拡張する方法は数多くあります。…万能な方法はありません…
  25. ^これは、PostgreSQLをサポートする目的で使用される場合、PostgreSQLの名称を(実際のPostgreSQLプロジェクトとの法的関係について人々を混乱させ ない公正使用として)承認された範囲で自由に使用できるという認識に基づいています。ただし、PostgreSQL商標ポリシーが適用されます。 「商標ポリシー」。PostgreSQL.org 。 2020年12月8日。 2023年12月17日閲覧。PostgreSQLプロジェクトとコミュニティをサポートする目的での(PostgreSQLの名称の)使用を許可するよう、皆様と協力していきます。
  26. ^ a b Stonebraker, M.; Rowe, LA (1986年5月). POSTGRESの設計(PDF) . Proc. 1986 ACM SIGMOD Conference on Management of Data. Washington, DC . 2011年12月17日閲覧.
  27. ^ 「PostgreSQL:歴史」 PostgreSQLグローバル開発グループ。2017年3月26日時点のオリジナルよりアーカイブ。 2016年8月27日閲覧
  28. ^ 「プロジェクト名 – コアチームからの声明」 . archives.postgresql.org. 2007年11月16日. 2007年11月16日閲覧
  29. ^ 「マイケル・ストーンブレーカー – AMチューリング賞受賞者」amturing.acm.org 2018年3月20日閲覧。Postgresで開拓された技術は広く実装された[..] ストーンブレーカーはこのような規模の連続起業に携わった唯一のチューリング賞受賞者であり、学術界において独特の視点を持っている。
  30. ^ Stonebraker, M.; Rowe, LA. POSTGRESデータモデル(PDF) . 第13回国際超大規模データベース会議議事録. イギリス、ブライトン: Morgan Kaufmann Publishers. pp.  83– 96. ISBN 0-934613-46-X
  31. ^ Pavel Stehule (2012年6月9日). "Historie projektu PostgreSQL" (チェコ語).
  32. ^ PostgreSQLの簡潔な歴史「バージョン3は1991年に登場し、複数のストレージマネージャのサポート、改良されたクエリエグゼキュータ、書き換えられたルールシステムが追加されました。」 postgresql.org PostgreSQLグローバル開発グループ、2020年3月18日閲覧。
  33. ^ 「University POSTGRES、バージョン4.2」。1999年7月26日。
  34. ^ Page, Dave (2015年4月7日). 「Re: PostgreSQL 20周年?」 . pgsql-advocacy (メーリングリスト) . 2015年4月9日閲覧
  35. ^ Group, PostgreSQL Global Development (2025年9月25日). 「PostgreSQL 18 リリース!」 . PostgreSQLニュース. 2025年12月6日閲覧{{cite web}}:|last=一般的な名前があります(ヘルプ
  36. ^ Dan RK Ports; Kevin Grittner (2012). 「PostgreSQLにおけるシリアル化可能なスナップショット分離」(PDF) . Proceedings of the VLDB Endowment . 5 (12): 1850– 1861. arXiv : 1208.4179 . Bibcode : 2012arXiv1208.4179P . doi : 10.14778/2367502.2367523 . S2CID 16006111 . 
  37. ^ Bohan Zhang、Andy Pavlo (2023). 「PostgreSQLで最も嫌いな部分」 . OtterTune (ブログ).
  38. ^同期レプリケーションを備えたPostgreSQL 9.1(ニュース)、H Online
  39. ^ 「26.4. ホットスタンバイ」 . PostgreSQLドキュメント. 2025年5月8日. 2025年7月22日閲覧
  40. ^ Hood, Stu (2025年6月30日). 「Postgresの書き込み速度は向上したが、レプリケーションが機能しなくなった」 . ParadeDB . 2025年7月22日閲覧
  41. ^ 「Postgres-XCプロジェクトページ」(ウェブサイト). Postgres-XC. 2012年7月1日時点のオリジナルよりアーカイブ。
  42. ^ 「Postgres-R:PostgreSQL用データベースレプリケーションシステム」 Postgres Global Development Group. 2010年3月29日時点のオリジナルよりアーカイブ。 2016年8月27日閲覧
  43. ^ "Postgres-BDR" . 2ndQuadrant Ltd. 2016年8月27日閲覧
  44. ^ Marit Fischer (2007年11月10日). 「Backcountry.com、ついにオープンソースコミュニティに恩返し」(プレスリリース)Backcountry.com. 2010年12月26日時点のオリジナルよりアーカイブ。
  45. ^ Bartunov, O; Sigaev, T (2011年5月). SP-GiST – PostgreSQLの新しいインデックスフレームワーク(PDF) . PGCon 2011. オタワ, カナダ. 2016年1月31日閲覧.
  46. ^ Bartunov, O; Sigaev, T (2010年5月). PostgreSQLにおけるK近傍探索(PDF) . PGCon 2010. オタワ, カナダ. 2016年1月31日閲覧.
  47. ^PostgreSQL、NoSQLデータベース | Linux Journal」www.linuxjournal.com
  48. ^ Geoghegan, Peter (2014年3月23日). 「jsonbについて思うこと」 .
  49. ^ Obe, Regina; Hsu, Leo S. (2012). 「10. レプリケーションと外部データ」. PostgreSQL: Up and Running (第1版). セバストポル, カリフォルニア州: O'Reilly Media, Inc. p. 129. ISBN 978-1-4493-2633-32016年10月17日閲覧外部データラッパー(FDW)は[...]外部データソースをクエリするためのメカニズムです。PostgreSQL 9.1で、このSQL/MED標準準拠の機能が導入されました
  50. ^ "フロントエンド/バックエンドプロトコル" . postgresql.org . 2023年11月9日. 2023年12月17日閲覧このドキュメントでは、PostgreSQL 7.4以降に実装されているプロトコルのバージョン3.0について説明します。
  51. ^ "libpq" . postgresql.org . 2023年11月9日. 2023年12月17日閲覧
  52. ^ 「C言語での埋め込みSQL」 . postgresql.org . 2023年11月9日. 2023年12月17日閲覧
  53. ^ "クライアントインターフェース" . postgresql.org . 2023年11月9日. 2023年12月17日閲覧
  54. ^ "libpqxx" . 2020年4月4日閲覧
  55. ^ 「PostgreSQL JDBCドライバー」 。 2020年4月4日閲覧
  56. ^ "[ANN] PostgresORM.jl: PostgreSQLのオブジェクトリレーショナルマッピング" . JuliaLang . 2021年6月30日. 2021年8月26日閲覧
  57. ^ "GitHub - invenia/LibPQ.jl: libpq の Julia ラッパー" . GitHub 2021 年8 月 26 日に取得
  58. ^ a b “PL/Julia extension ( minimal )” . JuliaLang . 2020年3月8日. 2021年8月26日閲覧
  59. ^ "PostgreSQL + Python | Psycopg" . initd.org . 2012年11月1日時点のオリジナルよりアーカイブ。 2015年1月21日閲覧
  60. ^ "node-postgres" . 2020年4月4日閲覧
  61. ^ 「SQLデータベースドライバー」 . Go wiki . golang.org . 2015年6月22日閲覧
  62. ^ 「Rust-Postgres」 . 2020年4月4日閲覧
  63. ^ 「サーバープログラミング」 . PostgreSQLドキュメント. 2019年5月19日閲覧
  64. ^ "DO" . PostgreSQLドキュメント. 2019年5月19日閲覧
  65. ^ 「PL/Python - Python手続き型言語」 . PostgreSQLドキュメント. 2022年10月23日閲覧
  66. ^ 「手続き型言語」 . postgresql.org. 2016年3月31日. 2016年4月7日閲覧
  67. ^ "postgres-plr/plr" . 2021年6月17日 – GitHub経由.
  68. ^ Chartier, Colin (2019年11月8日). 「システム設計ハック:Postgresは優れたpub/subおよびジョブサーバーです」 LayerCIブログ. 2019年11月24日閲覧
  69. ^ 「リリース9.5」 . postgresql.org . 2021年2月11日.
  70. ^ Ringer, Craig (2016年4月13日). 「PostgreSQL 9.5におけるSKIP LOCKEDの目的とは?」2nd Quadrant . 2019年11月24日閲覧
  71. ^ 「マテリアライズド・ビュー関係を追加する」 2013年3月4日. 2013年3月4日閲覧
  72. ^ 「自動更新可能なビューのサポート」 . 2012年12月8日. 2012年12月8日閲覧
  73. ^ 「CREATE RECURSIVE VIEW構文の追加」 2013年2月1日。 2013年2月28日閲覧
  74. ^ Momjian, Bruce (2001). 「サブクエリ」 . PostgreSQL: 導入と概念. Addison-Wesley. ISBN 0-201-70331-92010年8月9日時点のオリジナルよりアーカイブ。2010年9月25日閲覧
  75. ^ Bernier, Robert (2006年2月2日). 「PostgreSQLでの正規表現の使用」 . O'Reilly Media . 2010年9月25日閲覧
  76. ^ 「PostgreSQL と POODLE に関する短いメモ」 . hagander.net .
  77. ^ Berkus, Josh (2016年6月2日). 「PostgreSQL 9.6ベータ版とPGCon 2016」 . LWN.net .
  78. ^ 「FAQ – PostgreSQL wiki」 . wiki.postgresql.org . 2017年4月13日閲覧
  79. ^ 「SEPostgreSQLドキュメント – PostgreSQL wiki」 . wiki.postgresql.org .
  80. ^ 「NB SQL 9.3 - SELinux Wiki」 . selinuxproject.org .
  81. ^ 「PostgreSQL 10ドキュメント:付録E. リリースノート」。2021年8月12日。
  82. ^ 「PostgreSQL: 概要」 . www.postgresql.org . 2024年10月14日閲覧
  83. ^ 「識別子の大文字と小文字の区別」 PostgreSQLグローバル開発グループ。2021年11月11日。
  84. ^ a b Berkus, Josh (2007年7月6日). 「PostgreSQLが初の本格的なベンチマークを公開」 . 2007年7月12日時点のオリジナルよりアーカイブ2007年7月10日閲覧。
  85. ^ジェルジのヴィルモス (2009 年 9 月 29 日)。「PostgreSQLの歴史」2010 年8 月 28 日に取得
  86. ^ "SPECjAppServer2004 Result" . SPEC . 2007年7月6日. 2007年7月10日閲覧
  87. ^ "SPECjAppServer2004 Result" . SPEC . 2007年7月4日. 2007年9月1日閲覧
  88. ^ 「カーネルリソースの管理」 . PostgreSQLマニュアル. PostgreSQL.org . 2011年11月12日閲覧
  89. ^ Greg Smith (2010年10月15日). PostgreSQL 9.0 High Performance . Packt Publishing . ISBN 978-1-84951-030-1
  90. ^ロバート・ハース(2012年4月3日)「32コアと言ったかな?64はどうかな?」2012年4月8日閲覧
  91. ^ Khushi, Matloob (2015年6月). 「ゲノムデータのためのデータベースパフォーマンスのベンチマーク」. J Cell Biochem . 116 (6): 877– 83. arXiv : 2008.06835 . doi : 10.1002/jcb.25049 . PMID 25560631. S2CID 27458866 .  
  92. ^ 「Mac OS Xパッケージ」 . PostgreSQLグローバル開発グループ. 2016年8月27日閲覧
  93. ^ 「PostgreSQL: Windowsインストーラー」 . www.postgresql.org . 2021年8月26日閲覧
  94. ^ "postgresql-client-10.5p1 – PostgreSQL RDBMS (クライアント)" . OpenBSD ポート. 2018年10月4日. 2018年10月10日閲覧.
  95. ^ 「PostgreSQLのインストールと構成 - Oracle Solaris Cluster Data Service for PostgreSQLガイド」 . docs.oracle.com . 2023年2月4日閲覧
  96. ^ 「AArch64、 DebConfで BoF を計画中」。debian.org
  97. ^ Souza, Rubens (2015年6月17日). 「ステップ5(更新):Raspberry Pi 1および2へのPostgreSQLのインストール」 . Raspberry PG . 2016年9月20日時点のオリジナルよりアーカイブ。 2016年8月27日閲覧
  98. ^ 「サポートされているプラ​​ットフォーム」 . PostgreSQL Global Development Group . 2012年4月6日閲覧
  99. ^ 「利用可能なレクサー — Pygments」
  100. ^ 「pgAdmin: PostgreSQLの管理ツール」ウェブサイト2011年11月12日閲覧
  101. ^ 「Debian -- jessieのパッケージpgadmin3の詳細」 。 2017年3月10日閲覧
  102. ^ "pgAdmin開発チーム" . pgadmin.org . 2015年6月22日閲覧
  103. ^ Dave, Page (2014年12月7日). 「pgAdminの物語」 . Dave's Postgres Blog . pgsnake.blogspot.co.uk . 2014年12月7日閲覧
  104. ^ "pgAdmin 4 README" . GitHub . 2018年8月15日閲覧
  105. ^ phpPgAdminプロジェクト (2008年4月25日). 「phpPgAdminについて」 . 2008年4月25日閲覧
  106. ^ PostgreSQL Studio (2013年10月9日). 「PostgreSQL Studioについて」 . 2013年10月7日時点のオリジナルよりアーカイブ2013年10月9日閲覧。
  107. ^ 「TeamPostgreSQLウェブサイト」 2013年10月3日. 2013年10月3日閲覧
  108. ^ oooforum.org (2010年1月10日). 「OpenOfficeのバックエンド」 . 2011年9月28日時点のオリジナルよりアーカイブ2011年1月5日閲覧。
  109. ^ libreoffice.org (2012年10月14日). 「基本機能」 . 2012年1月7日時点のオリジナルよりアーカイブ2012年10月14日閲覧。
  110. ^ Greg Smith、Robert Treat、Christopher Browne. 「PostgreSQLサーバーのチューニング」 . Wiki . PostgreSQL.org . 2011年11月12日閲覧
  111. ^ "pgDevOps" . BigSQL.org . 2017年4月1日時点のオリジナルよりアーカイブ2017年5月4日閲覧。
  112. ^ “pgbackrest/pgbackrest” . GitHub . 2021年11月21日.
  113. ^ "pgaudit/pgaudit" . GitHub . 2021年11月21日.
  114. ^ "ワルイー/ワルイー" . 2021 年 6 月 24 日 – GitHub 経由。
  115. ^ Dugin, Rostislav (2025年11月28日), RostislavDugin/postgresus 、 2025年11月28日閲覧。
  116. ^ Claire Giordano (2019年10月31日). 「Citus拡張機能を使用してAzure上でPostgresをスケールアウトし、ペタバイト規模の分析を実現する設計」 .ブログ. Microsoft Tech Community.
  117. ^ Emmanuel Cecchet (2009年5月21日). 「変更されていないPostgreSQLでペタバイト級のウェアハウスを構築する」 (PDF) . PGCon 2009. 2011年11月12日閲覧.
  118. ^ 「MySpace.com、すべての友人向けに分析機能を拡張」(PDF)。ケーススタディ。Aster Data。2010年6月15日。2010年11月14日時点のオリジナルよりアーカイブ(PDF) 。 2011年11月12日閲覧
  119. ^ 「先週末の停電」ブログGeni、2011年8月1日。
  120. ^ 「データベース」 . Wiki . OpenStreetMap.
  121. ^ PostgreSQL関連会社.ORGドメイン、オーストラリア:Computer World、2023年8月24日
  122. ^ a b c W. Jason Gilmore; RH Treat (2006). PHPとPostgreSQL入門 8: 初心者からプロまで. Apress. ISBN 978-1-43020-136-620178月30日閲覧
  123. ^ソニーオンライン、オラクルではなくオープンソースデータベースを選択、Computer World
  124. ^ 「PostgreSQL に関する Web Commerce Group のケーススタディ」(PDF) (1.2 版)。PostgreSQL。
  125. ^ 「アーキテクチャの概要」 . Redditソフトウェアwiki . Reddit. 2014年3月27日. 2014年11月25日閲覧
  126. ^ピラック、マーティン。「PostgreSQL @Skype」(PDF)wiki.postgresql.org 2019 年1 月 16 日に取得
  127. ^ 「データベースにいくら支払っているのか?」 Sun Microsystemsブログ、2007年。2009年3月7日時点のオリジナルよりアーカイブ2007年12月14日閲覧。
  128. ^ 「データベース – MusicBrainz」 . MusicBrainz Wiki . 2011年2月5日閲覧
  129. ^ Duncavage, Daniel P (2010年7月13日). 「NASA​​はPostgresとNagiosの支援を必要としている」 .
  130. ^ Roy, ​​Gavin M (2010). "PostgreSQL at myYearbook.com" (トーク). USA East: PostgreSQL Conference. 2011年7月27日時点のオリジナルよりアーカイブ。
  131. ^ 「12時間で100万人以上の新規ユーザーを獲得し、Instagramを維持」 Instagram-engineering.tumblr.com、2011年5月17日。 2012年7月7日閲覧
  132. ^ 「Postgres at Disqus」 。 2013年5月24日閲覧
  133. ^ Kelly, Matthew (2015年3月27日). At the Heart of a Giant: Postgres at TripAdvisor . PGConf US 2015. 2015年7月23日時点のオリジナルよりアーカイブ2015年7月23日閲覧。プレゼンテーションビデオ
  134. ^ 「Yandex.Mail、OracleからPostgresへの移行に成功 [pdf]」 Hacker News: news.ycombinator.com 2016年9月28日閲覧
  135. ^ a b S. リッグス; G. チオーリ; H. クロージング; G. バルトリーニ (2015)。PostgreSQL 9 管理クックブック - 第 2 版。パックト。ISBN 978-1-84951-906-920179月5日閲覧
  136. ^ 「Met Office swaps Oracle for PostgreSQL」 . computerweekly.com . 2014年6月17日. 2017年9月5日閲覧
  137. ^ 「オープンソースソフトウェア」FlightAware . 2017年11月22日閲覧
  138. ^ 「GrofersでのAnsible(パート2)— PostgreSQLの管理」 . Lambda - The Grofers Engineering Blog . 2017年2月28日. 2018年9月5日閲覧
  139. ^マクマホン、フィリップ、チオリアン、マリア=リヴィア、コールマン、スージー、アクーラム、アカシュ(2018年11月30日)。「デジタルブログ:モンゴに別れを告げ、Postgresにこんにちは」ガーディアン。ISSN 0261-3077 
  140. ^ 「APIとChatGPTのエラーレベルが上昇」 2023年11月21日. 2023年12月2日閲覧
  141. ^ 「Microsoft FY25第3四半期決算発表の電話会議」 2025年5月5日。
  142. ^ Alex Williams (2013年4月1日). 「Heroku、重大なPostgreSQLセキュリティホールの修正のため顧客にアップグレードを強制」 . TechCrunch .
  143. ^ Barb Darrow (2013年11月11日). 「HerokuがPostgresをデータベースロールバックとプロアクティブアラートで強化」 . GigaOM. 2013年11月12日時点のオリジナルよりアーカイブ
  144. ^ Craig Kerstiens (2013年9月26日). 「WAL-EとHeroku Postgresによる継続的な保護」 . Herokuブログ.
  145. ^ 「EnterpriseDB、Postgres Plusクラウドデータベースを提供」 Techweekeurope.co.uk、2012年1月27日。2012年1月30日時点のオリジナルよりアーカイブ2012年7月7日閲覧。
  146. ^ 「Alibaba Cloud、EnterpriseDBとの技術提携を拡大」Milestone Partners2018年9月26日。 2020年6月9日閲覧
  147. ^ O'Doherty, Paul; Asselin, Stephane (2014). 「3: VMware Workspace Architecture」. VMware Horizo​​n Suite: エンドユーザーサービスの構築. VMware Press Technology. アッパーサドルリバー, ニュージャージー州: VMware Press. p. 65. ISBN 978-0-13-347910-22016年9月19日閲覧オープンソース版のPostgreSQLに加えて、VMwareはvFabric Postgres(vPostgres)を提供しています。vPostgresは、仮想環境向けに調整されたPostgreSQL仮想アプライアンスです
  148. ^ Al Sargent (2012年5月15日). 「VMware vFabric Suite 5.1 のご紹介:自動導入、新コンポーネント、オープンソースサポート」 . VMware ブログ.
  149. ^ 「VMware vFabric Suite EOA」(PDF) 2014年9月1日. 2023年12月17日閲覧
  150. ^ Jeff (2013年11月14日). 「Amazon RDS for PostgreSQL – 提供開始」 . Amazon Web Services ブログ.
  151. ^ Alex Williams (2013年11月14日). 「PostgreSQLがAmazonのリレーショナルデータベースサービスで利用可能に」 . TechCrunch .
  152. ^ 「Amazon Aurora アップデート – PostgreSQL 互換性」 AWSブログ2016年11月30日2016年12月1日閲覧
  153. ^ 「Azure Database for PostgreSQL の発表」 Azureブログ2017 年 5 月 10 日. 2019 年6 月 19 日閲覧
  154. ^ 「Aliyun PolarDB、Oracleなどのデータベースのクラウドへのワンクリック移行をサポートするメジャーアップデートをリリース」 Develop Paper、2019年7月6日。
  155. ^ 「PostgreSQLデータベースの非同期マスタースレーブレプリケーションをワンクリックで」 DZone . 2017年5月26日閲覧
  156. ^ 「IBM Cloud Hyper Protect DBaaS for PostgreSQL ドキュメント」 . cloud.ibm.com . 2020年6月24日閲覧
  157. ^ 「Crunchy Data、Crunchy BridgeのリリースによりPostgreSQLのサポートを継続」 2020年9月18日。
  158. ^ 「SELECT 'Hello, World' クラウド向けに構築されたサーバーレスPostgres」。2022年6月15日。
  159. ^ 「AlloyDB for PostgreSQL 高速高可用性クラウドデータベース - Google Cloud ブログ」。2025年3月6日。
  160. ^ 「最新のSaaS向けサーバーレスPostgres、Nileのご紹介」 2023年10月25日。
  161. ^ 「AlloyDB Omniの一般提供開始を発表」。Google Cloud Blog。2024年4月10日。
  162. ^ 「バージョン管理ポリシー」 . PostgreSQLグローバル開発グループ. 2018年10月4日閲覧
  163. ^ Vaas, Lisa (2002年12月2日). 「データベースは企業をターゲットにする」 . eWeek . 2016年10月29日閲覧
  164. ^ Krill, Paul (2003年11月20日). 「PostgreSQLがオープンソースデータベースを強化」 . InfoWorld . 2016年10月21日閲覧
  165. ^ Krill, Paul (2005年1月19日). 「PostgreSQLオープンソースデータベース、Windowsの性能向上に貢献」 InfoWorld . 2016年11月2日閲覧
  166. ^ Weiss, Todd R. (2006年12月5日). 「オープンソースPostgreSQLデータベースのバージョン8.2がリリース」 Computerworld . 2016年10月17日閲覧
  167. ^ Gilbertson, Scott (2008年2月5日). 「PostgreSQL 8.3:オープンソースデータベースが驚異的なスピードを約束」 . Wired . 2016年10月17日閲覧
  168. ^ Huber, Mathias (2009年7月2日). 「PostgreSQL 8.4は豊富な機能を備えている」 . Linux Magazine . 2016年10月17日閲覧
  169. ^ Brockmeier, Joe (2010年9月30日). 「PostgreSQL 9の5つのエンタープライズ機能」 . Linux.com . Linux Foundation . 2017年2月6日閲覧
  170. ^ Timothy Prickett Morgan (2011年9月12日). 「PostgreSQLが9.1にバージョンアップ、エンタープライズ向けを目指す」 The Register . 2017年2月6日閲覧
  171. ^ 「PostgreSQL: PostgreSQL 9.2 リリース」 . www.postgresql.org . 2012年9月10日.
  172. ^ 「PostgreSQL用Hstoreの再導入InfoQ
  173. ^ Richard, Chirgwin (2016年1月7日). 「Say oops, UPSERT your head: PostgreSQL version 9.5 has landed」 . The Register . 2016年10月17日閲覧
  174. ^ 「PostgreSQL: ドキュメント: 10: 第31章 論理レプリケーション」 . www.postgresql.org . 2021年8月12日.
  175. ^ 「PostgreSQL 11がリリースされました」 2018年10月18日. 2018年10月18日閲覧
  176. ^ 「PostgreSQLリリースノート」 。 2018年10月18日閲覧
  177. ^ 「PostgreSQL:PostgreSQL 12がリリースされました!」Postgresqlニュース2019年10月3日。
  178. ^ 「PostgreSQL 13リリースノート」 . www.postgresql.org . 2021年8月12日.
  179. ^ 「PostgreSQL 13がリリースされました!」www.postgresql.org . 2020年9月24日。
  180. ^ 「PostgreSQL 14リリースノート」 . www.postgresql.org . 2021年11月11日.
  181. ^ 「PostgreSQL 14がリリースされました!」www.postgresql.org . 2021年9月30日。
  182. ^ 「PostgreSQL 16がリリースされました!」 2023年9月14日。
  183. ^ 「PostgreSQL 17がリリースされました!」 2024年9月26日。
  184. ^ 「PostgreSQL 18がリリースされました!」 2025年9月25日。
  185. ^ 「Greenplumデータベースドキュメント」 . docs.greenplum.org . 2025年8月10日閲覧
  186. ^ 「 Timescaleについて」。Timescale 2025年8月10日閲覧。TimescaleDBはPostgreSQLの拡張機能として実装されており、PostgreSQLインスタンス内で実行され、PostgreSQLと同じように操作できます。
  187. ^ 「PostgreSQL 互換の Amazon Aurora」 Amazon Web Services, Inc. 2025 年8 月 10 日閲覧
  188. ^ 「Neonとは?」 . Neon . 2025年8月10日閲覧。Neonは、フルマネージドのサーバーレスPostgreSQLです。ストレージとコンピューティングを分離し、PostgreSQLのストレージ層をクラウド向けに設計されたカスタムビルドのマルチテナントストレージエンジンに置き換えています。
  189. ^ 「AlloyDB の概要」 . Google Cloud . 2025年8月10日閲覧。AlloyDB for PostgreSQLは、PostgreSQLと互換性のあるフルマネージドデータベースサービスで、ハイブリッドトランザクション処理や分析処理など、最も要求の厳しいワークロード向けに設計されています。AlloyDBは分散型アーキテクチャを採用しています。コンピューティング層とストレージ層は分離されており、個別にスケーリングできます。

さらに詳しい情報