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


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

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

  • Download PostgreSQL 12

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

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

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

PostgreSQLの主な機能

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

  • It is built for concurrency and performance using many features that include indexing and advanced indexing, transactions and nested transactions, multi-version concurrency control (MVCC), parallelization of reading queries, and building B-tree indexes, table partitioning, Just-In-Time (JIT) compilation of expressions, and more.
  • To ensure reliability, data redundancy, high availability, and disaster recovery, PostgreSQL offers features such as write-ahead logging (WAL), master-slave replication, active standbys, and point-in-time-recovery (PITR), and much more. These all allow for multi-node database cluster deployment which can store and manage large volumes(terabytes) of data, and specialized systems that manage petabytes.
  • Importantly, PostgreSQL is also very extensible in so many ways. To extend it, you can use stored functions and procedures, procedural languages including PL/PGSQL, Perl, Python, SQL/JSON path expressions, foreign data wrappers, and more. You can also extend its core functionality using many extensions developed by the community.
  • Security is also at the heart of Postgres. To protect your databases, it offers various forms of authentication(including GSSAPI, SSPI, LDAP, SCRAM-SHA-256, Certificate, etc.), a robust access control system, column, and row-level security, as well as multi-factor authentication with certificates and an additional method. However, good database server security should always start at the network and server layer.

PostgreSQLクライアントとツール

PostgreSQLは、psqlインタラクティブコマンドラインユーティリティやデータベース管理用のPHPベースのWebインターフェイスであるpgadmin(最も好ましい方法)など、データベース管理用の多くのクライアントアプリケーションを提供およびサポートします。

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

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

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

  • How to Install PostgreSQL in RHEL 8
  • How to Install PostgreSQL and pgAdmin in CentOS 8
  • How to Install PostgreSQL Database in Debian 10
  • How to Install PgAdmin 4 Debian 10
  • How to Install and Use PostgreSQL on Ubuntu 18.04
  • How to Install PostgreSQL with PhpPgAdmin on OpenSUSE