PostgreSQLとは? PostgreSQLはどのように機能しますか?

PostgreSQLは、PostgreSQLグローバル開発グループによって開発された、世界で最も先進的なエンタープライズクラスのオープンソースデータベース管理システムです。信頼性、機能の堅牢性、および高いパフォーマンスで人気のある、強力で拡張性の高いオブジェクトリレーショナルSQL構造化クエリ言語 )データベースシステムです。格納および管理できるデータ量と、対応できる同時ユーザー数の両方において、非常にスケーラブルであることが知られています。

PostgreSQLは、自由なオープンソースライセンスであるPostgreSQL Licenseの下で利用および配布できます。これは、ソフトウェアをダウンロードし、使用、変更、および無料で配布できることを意味します。また、クロスプラットフォームであり、Linux、Windows、およびmacOS、および他の多くのオペレーティングシステムで実行されます。

PostgreSQLをダウンロード

Download PostgreSQL 12

SQL言語を使用し、非常に多くの強力で最新の機能を拡張しています。 SQL標準に必要な多くの機能がサポートされているSQL準拠ですが(執筆時点ではPostgreSQLの最新バージョンは12であり、SQLの必須機能179のうち少なくとも160は確認されています)、構文または関数。

PostgreSQLはどのように機能しますか?

PostgreSQLは、クライアントとサーバーがネットワーク環境の異なるホストに存在できるクライアントサーバーモデルを使用します。サーバープログラムはデータベースファイルを管理し、クライアントアプリケーションからデータベースへの接続を受け入れます。接続ごとに新しいプロセスを「 フォーク 」することにより、クライアントからの複数の同時接続を処理できます。クライアントからデータベース要求を実行し、結果をクライアントに送り返します。リモートクライアントは、ネットワークまたはインターネットを介してサーバーに接続できます。

有効なクライアントプログラムには、PostgreSQLに付属するテキスト指向のツール、グラフィカルツール、または他のプログラミング言語を使用して開発されたアプリケーションが含まれます。

PostgreSQLサーバーとクライアントのリクエスト

PostgreSQLサーバーとクライアントのリクエスト

PostgreSQLの主な機能

 

PostgreSQLは、プリミティブ(文字列、整数、数値、ブールなど)、構造化(日付/時刻、配列、範囲、UUIDなど)、ドキュメント(JSON、JSONB、XML、Key-Value(Hstore)など、いくつかのデータタイプをサポートしています)、ジオメトリ(点、線、円、多角形)、およびカスタマイズ(複合タイプとカスタムタイプ)。 UNIQUE、NOT NULL、主キーと外部キー、除外制約、明示的および助言的ロックなどの機能を使用してデータの整合性をサポートします。

  • インデックス作成と高度なインデックス作成、トランザクションとネストされたトランザクション、マルチバージョン同時実行制御(MVCC)、クエリの読み取りの並列化、Bツリーインデックスの構築、テーブルのパーティション分割、ジャストイン時間の(JIT)式のコンパイルなど。
  • 信頼性、データの冗長性、高可用性、および災害復旧を保証するために、PostgreSQLは、先読みロギング(WAL)、 マスタースレーブレプリケーション 、アクティブスタンバイ、ポイントインタイムリカバリ(PITR)などの機能を提供します。 。これらはすべて、大量のデータ(テラバイト)を格納および管理できるマルチノードデータベースクラスターの展開、およびペタバイトを管理する特殊なシステムを可能にします。
  • 重要なことに、PostgreSQLは非常に多くの点で拡張可能です。拡張するには、ストアドファンクションとプロシージャ、PL / PGSQL、Perl、Python、SQL / JSONパス式、外部データラッパーなどの手続き型言語を使用できます。コミュニティによって開発された多くの拡張機能を使用して、コア機能を拡張することもできます。
  • セキュリティもPostgresの中心です。データベースを保護するために、GSSAPI、SSPI、LDAP、SCRAM-SHA-256、証明書などのさまざまな形式の認証、堅牢なアクセス制御システム、列、行レベルのセキュリティ、およびマルチ証明書と追加のメソッドによる要素認証。ただし、優れたデータベースサーバーのセキュリティは、常にネットワーク層とサーバー層から始める必要があります。

PostgreSQLクライアントおよびツール

PostgreSQLは 、このようなpsqlの対話型のコマンドラインユーティリティやなどのデータベース管理のための多くのクライアントアプリケーションを提供し、サポートしていpgAdminで 、(最も有利な方法である)データベース管理のためのPHPベースのWebインタフェースを。

PostgreSQLデータベースを使用してアプリケーションのデータを保存するには、サポートされているライブラリまたはドライバーを使用してアプリケーションを接続します。これは、最も一般的なプログラミング言語で利用できます。 libpqは、人気のあるCアプリケーションプログラマーのPostgreSQLへのインターフェイスであり、他のいくつかのPostgreSQLアプリケーションインターフェイスの基盤となるエンジンです。

誰がPostgreSQLを使用していますか?

PostgreSQLは、RedHat、Debian、Apple、Sun Microsystem、Cisco、および他の多くの企業や組織で使用されています。

Linux上のPostgreSQLデータベースを使用してアプリケーションを設定する場合は、これらの関連ガイドを確認してください。

Source