PostgreSQLとは?
PostgreSQLはオープンソースのRDBMSです。
RDBMS(リレーショナルデータベース管理システム)とは、リレーショナルデータベースを管理するためのソフトウェアのことです。
DB-Enginesのデータベースシェア調査では、人気度スコアがSQL Serverに続き現在第4位です。
PostgreSQLの他に人気なオープンソースRDBMSにMySQLがあります。
PostgreSQLは、MySQLと比較して人気度スコアで、2倍以上の差が付けられています。
一方、2017年 OSS データベースサーバシェア調査によると、PostgreSQLの世界シェアは 14.6%にもかかわらず、アジアでは人気が高く約 30%のシェアを占めています。
PostgreSQLは小規模、大規模開発両方に向いています。
しかし、大規模開発は有償のデータベースが非常に強い分野です。
そのため、PostgreSQLは大規模開発より小規模開発や、勉強目的で使われる傾向にあります。
オープンソースソフトウェア
PostgreSQLはオープンソースソフトウェア(OSS)です。
オープンソースなためソースコードが公開されています。
それを再開発・再配布することができます。
ソースコードは、githubというソースを管理・公開するためのアプリケーション上で公開されています。
標準SQLに準拠
どのRDBMSもISO(国際標準化機構)がリリースした「SQL:2011」と呼ばれる標準SQLに準拠しています。
特にPostgreSQLはこの標準SQLを意識しています。
例えば、SQLの関数には、データがnull値の場合、別に置き換える関数があります。
PostgreSQLでは標準SQLで定義されている、coalesce(コウアレス)関数を使います。
標準SQLで定義されている関数なので、PostgreSQL、Oracle、MySQL、SQLServerなどで使えます。
一方、Oracle Databaseではnvl関数を使います。
このnvl関数は、標準SQLには存在せず、Oracleだけで使える独自の関数です。
このように、PostgreSQLから他のRDBMSへ移行する必要がある場合、わざわざSQLを書き直す必要が起きにくくなります。
これは、PostgreSQLを使う上でのメリットになります。
MySQL、Oracleについては別で解説します。