商用データベース管理システムと肩を並べる存在・PostgreSQL。

この記事では、そんなPostgreSQLについて徹底的に掘り下げています。

  • データベースを触ってみたいと思っている
  • PostgreSQLについて知識を深めたい
  • PostgreSQLの使い方が知りたい
  • PostgreSQLのインストール手順を知りたい
  • PostgreSQLが無料は使えるのか
  • PostgreSQLの基本的なコマンドが知りたい
  • PostgreSQLとMySQLの違いがわからない
  • 上記のような悩みを抱えている人が求める答えを提示できる内容となっています。

PostgreSQLについて知りたい人はぜひご覧ください。

PostgreSQLとは

最初に、PostgreSQLの基礎知識についてご覧いただきましょう。


読み方

ポストグレスキューエル」と読みます。

ポスグレ」「Postgres」などと呼ばれることが多いです。


オープンソースのRDBMS

PostgreSQLはオープンソース(一般に公開されたソースコードのこと)のRDBMS(リレーショナルデータベース管理システム)です。

オープンソースのデータベース管理システムは他にも複数あります。

その中でもPostgreSQLはとても人気が高いです。

RDBMS(リレーショナルデータベース管理システム)とは何かについては次で詳しく述べます。


RDBMSについて

RDBMS(リレーショナルデータベース管理システム)とは、データを保存しておく箱の役割を持つDB(データベース)の一種です。

RDB(リレーショナルデータベース)は、データベースの中でも表形式のものを指します。

大きなデータ、複雑なデータを臨機応変・効率的に取り扱うことができます。

そんなRDB(リレーショナルデータベース)をパソコンで操作できるようにした管理システムがRDBS(リレーショナルデータベース管理システム)です。

大切なデータを確実に守り、効率的に運用することが可能です。


対応OS

WindowsやUNIX系OS(Linux・macOS)、UNIXなどほとんど対応しています。


使用料

PostgreSQLはオープンソースと述べたとおり、どんな使用目的があるとしても無料で使うことができます。


ライセンス

独自の機能や改変、追加などをした場合でも公開する義務は生じません。とても緩やかなライセンスとなっています。


PostgreSQLが歩んできた道

日々発展を続けていくPostgreSQL。

そんなPostgreSQLはどういった経緯で生み出され、進歩を遂げてきたのかについて解説します。


1.POSTGRES

1986年、研究開発を目的としてカリフォルニア大学バークレイ校の教授が開発したのが「POSTGRES」でした。

設計についての論文には、「ユーザー定義が可能な型」「複合型のサポート」など現在のPostgreSQLにも継承されている機能が記載されています。

研究開発以外にも、製造のアプリを実装するために使用されたり、大学では教育ツールとしても使用されていました。

「POSTGRES」においてデータ操作は「POSTQUEL」と呼ばれる言語を採用しています。

ユーザー増加にともなってサポートやメンテナンスに多くの時間を割くことになり、「バージョン4.2」で開発は終了しました。


2.Postgres95

前身となる「POSTGRES」の開発が終わったあと(1994年)、2人の学生によって改善されたのが「Postgres95」です。

膨大な量になっていたソースコードの整理もおこなわれ、SQL言語が使われるようになりました。

そして改良が完了した1995年に公開されたのが「Postgres95」です。


3.PostgreSQL

こうして生まれたのがPostgreSQLです。

2人の学生たちのあとを引き継いだのが現在のPostgreSQL開発チームです。

1996年以降、「Postgres95」というのは1996年以降にふさわしい名称ではない。

そういう理由から、名称を「PostgreSQL」としました。

PostgreSQLが公開された当初は、英語以外の言語に対応していませんでした。

ですが、「バージョン6.3」で石井達夫氏が日本語を取り扱うための機能を追加したことで正式に日本語を扱うことができるようになりました。

「バージョン7.3」からは標準仕様で日本語はもちろん、中国語なども使用可能となっています。


PostgreSQLとMySQLの違い

この項目では、PostgreSQLMySQLの違いについて説明します。


価格が違う

PostgreSQLは完全無料のオープンソース・ソフトウェアです。

MySQLもPostgreSQLと同じオープンソースです。

しかし、価格面がPostgreSQLとは違います。

MySQLは完全無料で使えるフリー版有料で使える商用版とが存在するデュアルライセンスを採用しています。

まずは無料で使ってみたいという人にはPostgreSQLがおすすめです。


アーキテクチャが違う

PostgreSQL:追記型のアーキテクチャ。空き領域を使用して更新データを追記するので既存データは書き換えません。

MySQL:更新型のアーキテクチャ。更新する場合は既存データを書き換えます。


運営が違う

PostgreSQLを管理している運営は「PostgreSQL Global Development Group」。

MySQLを管理している運営は「Oracle社」という違いがあります。


<関連記事>
MySQLの使い方を初心者向けに徹底解説!ダウンロード方法やサーバーへの接続の仕方は?よく使うコマンドとオプションも確認


PostgreSQLのバージョンを確かめたい時は

知っておくと便利な情報についてご紹介します。

自分以外の人がインストールしたPostgreSQLを触る場合、PostgreSQLのバージョンがわからない時に使える知識です。

バージョン関数を使って調べる方法が簡単です。

  1. select version();


PostgreSQLの特徴

気軽に試せる

ストアドプロシージャ・トリガ・ビュー・ユーザー定義関数・トランザクション……。

PostgreSQLは様々な機能を備えています。

多くの機能を有しつつ、非常にスリムなプログラムがPostgreSQLの魅力です。

少ないリソースでも稼働するのも嬉しいところ。

高いスペックのマシンを準備する必要がないので気軽にテストすることが可能です。


標準SQLに準拠している

他RDBMSも標準SQLに完全対応or準拠していると宣伝しています。

ですが実際に蓋を開けてみると、独自構文が使いやすかったり、独自のSQL拡張など方言があるのが現状です。

その点、PostgreSQLはPostgreSQL独自の方言をあまり入れ込むことなく、標準SQLに準拠しています。


GIS(地理情報システム)

PostgreSQLのアドオンソフト・GIS。

PostGISと一緒に使用すると、GISのデータをPostgreSQLに入れ込むことができます。


Windows用インストーラーがある

Windowsユーザーは見逃せない特徴の1つです。

GUIで色んな設定ができるインストーラ-があります。


WindowsサービスにPostgreSQLを登録可能

Windowsを起動した際、自動的にPostgreSQLを起動させることが可能です。

PostgreSQLを使うメリット

PostgreSQLを使うメリットについて見てみましょう。

無料で使える

機能は商用RDBMSに比肩するほど優秀にも関わらず、無料で使用可能です。

コストを抑えたいという人にはうってつけのソフトウェアといえるでしょう。


BSDライセンスを採用している

ライセンスによっては、独自に改変した場合は改変したことを公開しなければなりません。

しかし、PostgreSQLが採用しているライセンス・BSDライセンスは改変を公開する義務が生じません。

独自の改変を施したものを製品に組み込むことも可能です。


日本語に対応している

PostgreSQLが日本語に対応していることは「PostgreSQLが歩んできた道」でも説明しました。

PostgreSQLはマルチバイト対応機能が標準装備されています。

そのため、日本語を使用するユーザーにとって正しい日本語を扱うことができるのは有り難いメリットと言えるでしょう。


PostgreSQLのインストール手順

1.インストーラーをダウンロードする

PostgreSQL公式サイトでインストーラーをダウンロードしましょう。

「Download」をクリックし、OSを選択します。

そして、「Download the installer」をクリックします。

「Download PostgreSQL」のページが表示されたら最新バージョンを選んだら、ダウンロードの開始です。


2.インストーラーを起動して先に進む

ダウンロードしたインストーラーを開いて画面の指示に沿って進みます。


3.パスワードを設定する

postgres用のパスワードを設定します。

2回同じパスワードを入力しましょう。


4.Portを設定する

サーバー接続のためのポート番号を入力します。

デフォルト・ポート番号が入力されているので、それを使ってもOKです。


5.ロケールを設定する

ロケールとは国や地域の設定のことです。

「C」を選んで先に進みましょう。

「C」を選ぶ理由は文字を並べ替えた時などに問題が起きないからです。

以上でPostgreSQLのインストール・ダウンロードは完了です。


6.PATHを設定する

インストール・ダウンロードが完了したら、最後にPATHの設定をします。

PATHの設定をしておくと、コマンドプロントからPostgreSQLに接続するのに役立ちます。

コントロールパネル画面から「システムとセキュリティ」を選択し、次に「システム」をクリックしてください。

「システムの詳細設定」を開き、「環境変数」を押下してください。

「ユーザー環境変数」の変数の中から「Path」を選択し、編集ボタンを押下します。

変数値のパスの最後に「;」を入力します。

そのあとに、実行ファイルがあるサブディレクトリ(\bin)を入力しましょう。

入力が完了したら「OK」を押してPATHの設定が終了です。


PostgreSQLの使い方

PostgreSQLの使い方に迷った時はまず公式サイトをチェックしてみましょう。

PostgreSQLの公式サイトには、使い始めたばかりの人向けのコンテンツが豊富にあります。

マニュアルやバージョン別のリリースノートの参照もできますので、何か困った時は覗いてみると良いでしょう。

また、こちらのサイトも日本語の参考となる情報が充実しているのでおすすめです。

日本PostgreSQLユーザ会


「大切なことだけピックアップして知りたい」という人に向けて、次項からは「操作方法」と「基本的なコマンド」に焦点を絞って紹介します。


PostgreSQLの使い方①操作方法

気軽に試せる

ストアドプロシージャ・トリガ・ビュー・ユーザー定義関数・トランザクション……。

PostgreSQLは様々な機能を備えています。

多くの機能を有しつつ、非常にスリムなプログラムがPostgreSQLの魅力です。

少ないリソースでも稼働するのも嬉しいところ。

高いスペックのマシンを準備する必要がないので気軽にテストすることが可能です。


標準SQLに準拠している

他RDBMSも標準SQLに完全対応or準拠していると宣伝しています。

ですが実際に蓋を開けてみると、独自構文が使いやすかったり、独自のSQL拡張など方言があるのが現状です。

その点、PostgreSQLはPostgreSQL独自の方言をあまり入れ込むことなく、標準SQLに準拠しています。


GIS(地理情報システム)

PostgreSQLのアドオンソフト・GIS。

PostGISと一緒に使用すると、GISのデータをPostgreSQLに入れ込むことができます。


Windows用インストーラーがある

Windowsユーザーは見逃せない特徴の1つです。

GUIで色んな設定ができるインストーラ-があります。


WindowsサービスにPostgreSQLを登録可能

Windowsを起動した際、自動的にPostgreSQLを起動させることが可能です。


PostgreSQLの使い方②基本的なコマンド



ターミナルを起動する

  1. psql -d テーブル名

上記を入力すると、ダイレクトにテーブルへ接続することが可能です。


文字列定数の入力

「’」シングルクオーテーションで文字列を囲んでください。

  1. ‘文字列’

空白・改行を含んだとしても同じ文字列として認識します。


数値定数の入力

数値の入力はそのまま記述して大丈夫です。

  1. 1
  2. 150

小数点を入力する場合は「.」の前後に最低でも1つの数値を記述する必要があります。

  1. 7.221


エスケープ文字列の入力

特殊な意味合いの文字、キーボードで入力できない文字はエスケープ文字列を使用して表示します。

シングルクオーテーション前に「E」もしくは「e」を入力しましょう。

  1. E’文字列’
  2. e’文字列’

特殊な文字の入力方法は以下になります。

  • \b:バックスペース文字
  • \n:改行
  • \f:改ページ
  • \t:タブ文字
  • \r:復帰改行 など


ビット文字列定数の入力

2進数表記の場合、シングルクオーテーション前に「B」もしくは「b」を入力しましょう。

使用できる文字は「0」と「1」のみ。

  1. B’111′
  2. b’100′

16進数表記での記述も可能です。

使用できる文字は「0~9」もしくは「A~F」です。

  1. X’59E’
  2. x’F108A’


コメントの入力

ハイフンを2つ続けて記述したところがコメントの始まりです。

  1. ? toiro


データベース

データベースを選択する

  1. \c データベースの名前

データベースの一覧を表示する

  1. \l


インデックス

インデックスを追加する

  1. create index インデックス名 on テーブル名(カラム名);

インデックスを削除する

  1. drop index インデックス名;


テーブル

テーブル一覧を表示する

  1. \dt;

テーブル構造を表示する

  1. \d テーブル名;

表示数を指定する

  1. select * from テーブル名 limit 数;

表示する開始位置を指定する

  1. select * from テーブル名 offset 数;

データを更新する

  1. update テーブル名 set 更新内容;

データを削除する

  1. delete from テーブル名 where 条件;

カラムの中の平均値を表示する

  1. select avg(カラム名) from テーブル名;

カラムの中の合計値を表示する

  1. select sum(カラム名) from テーブル名;

カラムの中の最小値を表示する

  1. select min(カラム名) from テーブル名;

カラムの中の最大値を表示する

  1. select max(カラム名) from テーブル名;


テーブル構造

カラムを追加する

  1. alter table テーブル名 add カラム名 データ型;

カラム名を変更する

  1. alter table テーブル名 rename カラム名 to 新カラム名;

カラムの削除をする

  1. alter table テーブル名 drop カラム名;


外部ファイルの読み込み

  1. \i ファイル名


まとめ

以上、PostgreSQLについて詳しく解説しました。

PostgreSQLの基礎知識や歴史にはじまり、インストール方法から基本的な操作方法、コマンドなどについてなど、PostgreSQLについて知識を深めることができたのではないでしょうか。

PostgreSQLの使用を考えている人は、ぜひこの機会に導入を検討してみてはいかがでしょうか。

​toiroフリーランスは、SHIFTグループがプライムとして参画している独自案件をフリーランスエンジニア向けに紹介する唯一のプラットフォームサービスです。

エージェントによるサポートもありますので、ご利用を検討してみてはいかがでしょうか。