Webサイト制作コースのお申し込みはこちら Webサイト制作コースのお申し込みはこちら

PostgreSQLとは

PostgreSQL(ポストグレスキューエル)とは、「POSTGRES, Version 4.2」がベースになっている、オープンソースのオブジェクトリレーショナルデータベース管理システム(ORDBMS)のことです。

POSTGRESは後にいくつかの商用データベースで利用可能になった、多くの概念に関する先駆となりました。

PostgreSQLはオリジナルのソースコードを引き継いだオープンソースのデータベースで、ソースはすべて公開されており、さまざまな利用用途において無料で利用可能です。

さらに、標準SQLの多くの機能やその他の最新機能もサポートしています。

LinuxやmacOSなどのUNIX系OSはもちろん、Windowsにも対応している特徴があります。

BSDライセンス(Berkeley Software Distribution License)の中でも、非常に緩やかなライセンスを採用しており、独自で機能の追加や改修をした場合にも公開する義務はありません。

PostgreSQLのダウンロード・インストール方法

ではさっそく、PostgreSQLのダウンロード・インストール方法をみていきましょう。

まずは、PostgreSQLをサイトからダウンロードします。

次のURLからダウンロード可能です。

https://www.postgresql.org/

サイトを開いたら、画面の左上もしくは中央にある「Download」をクリックします。

PostgreSQLのダウンロード・インストール方法

ダウンロードページを開いたら、使っているOSに合わせて「macOS」か「Windows」を選びます。

PostgreSQLのダウンロード・インストール方法

OSごとのダウンロードページを開いたら、「Download the installer」のリンクをクリックしましょう。

PostgreSQLのダウンロード・インストール方法

バージョンごとのダウンロードリンクがあるので、ここではmacOSの最新バージョンである「12.3」をダウンロードします。

クリックするとダウンロードが開始されるので任意の場所に保存してください。

PostgreSQLのダウンロード・インストール方法

ダウンロードはこれで終了です。

 

続いてPostgreSQLをインストールしましょう。

ダウンロードしたdmgファイルを開いてインストーラーを起動します。

PostgreSQLのダウンロード・インストール方法

Macはdmgファイルをクリックすると「postgresql-◯-.◯-◯-osx」が開くので、これをクリックしましょう。

PostgreSQLのダウンロード・インストール方法

セットアップインストーラーが開きました。「Next >」をクリックして進めます。

PostgreSQLのダウンロード・インストール方法

Installation Directoryでインストールする場所を指定します。

デフォルトの場所でも任意の場所でもOKです。設定したら「Next >」をクリックしましょう。

PostgreSQLのダウンロード・インストール方法

Select Componentsでインストールしたいコンポーネントを選べます。

ここはすべてにチェックを入れたままでOKです。

PostgreSQLのダウンロード・インストール方法

Data Directoryで作成したデータを格納するディレクトリを指定します。

こちらも変更したい場合は変更してOKです。ここではデフォルトのまま進めます。

PostgreSQLのダウンロード・インストール方法

Postgresアカウントのパスワードを設定します。

パスワードは忘れないようにメモしておいてくださいね。

パスワードを入力(確認用も)したら「Next >」をクリックします。

PostgreSQLのダウンロード・インストール方法

PortでPostgreSQLと通信を行う際のポート番号を指定できます。

基本的にはデフォルトで設定されている「5432」で問題ないです。

もし他で「5432」を使用している場合は変更しましょう。

PostgreSQLのダウンロード・インストール方法

Advanced Optionsで新規で作成するデータベースクラスタのロケールを設定します。

デフォルトは[Default locale] になっていますが、ここでは「ja_JP/UTF-8」にしました。

PostgreSQLのダウンロード・インストール方法

Pre Installation Summaryで、ここまでの設定内容を確認できます。

問題なければ「Next >」で進めましょう。

PostgreSQLのダウンロード・インストール方法

インストールの最終確認です。

「Next >」でインストールが開始しますので、問題ないようでしたらインストールを開始します。

PostgreSQLのダウンロード・インストール方法

上記の画面が表示されたらインストール完了です。

「Stack Builder ……」と書かれているチェックボックスにチェックを入れて「Finish」をクリックすると、追加アプリケーション(ドライバーなど)のインストールができます。

不要であればこちらのチェックは外して終了しましょう。

PostgreSQLへ接続する

PostgreSQLのインストールができたら、さっそく接続してみましょう。

ここでは、psqlを使って接続してみます。

psqlとは、PostgreSQLで作成されたデータベースへコマンドラインベースで接続したり、テーブルのデータを取得したりできるツールのことです。

macでpsqlを起動するには、アプリケーションフォルダにある「PostgreSQL ○」フォルダを開きます。○はバージョン番号ごとに変わります。

PostgreSQLへ接続する

フォルダの中にある「SQL Shell (psql)」がpsqlです。これを起動します。

PostgreSQLへ接続する

起動するとターミナルが立ち上がり、次のメッセージが表示されるはずです。

For more details, please visit https://support.apple.com/kb/HT208050.
/Library/PostgreSQL/12/scripts/runpsql.sh; exit
mbp:~ ○○○○○$ /Library/PostgreSQL/12/scripts/runpsql.sh; exit
Server [localhost]: 

接続するサーバはデフォルトのままで問題ないので、何の入力しないでエンターキーを押していきましょう。

途中でパスワードの入力が求められるので、インストール時に設定したパスワードを入力します。

Server [localhost]:
Database [postgres]:
Port [5432]:
Username [postgres]:
Password for user postgres:
Welcome to psql 12.3, the PostgreSQL interactive terminal.
Type:  \copyright for distribution terms
       \h for help with SQL commands
       \? for help with psql commands
       \g or terminate with semicolon to execute query
       \q to quit
postgres=#

問題なくpsqlへ接続できると「postgres=#」と表示されます。

これで接続・起動が確認できました。

psqlを終了させるには「\q」と入力すればOKです。

PostgreSQLの設定ファイルについて

PostgreSQLに関する設定ファイルは、大きく分けて次の3つあります。

・postgresql.conf:PostgreSQLの基本的な設定に関するファイル
・pg_hba.conf:ホスト単位で接続許可を設定するファイル
・pg_ident.conf:OSのユーザー名とデータベースのユーザー名をマッピングするファイル

ここでは詳しい解説はしませんが、それぞれどんな設定がされているのか覚えておきましょう。

PostgreSQLでデータベースを作成する

PostgreSQLでデータベースを新しく作成してみます。

データベースを新規作成する時は「CREATE DATABASE」コマンドを使います。

CREATE DATABASE name
    [ [ WITH ] [ OWNER [=] user_name ]
           [ TEMPLATE [=] template ]
           [ ENCODING [=] encoding ]
           [ LC_COLLATE [=] lc_collate ]
           [ LC_CTYPE [=] lc_ctype ]
           [ TABLESPACE [=] tablespace_name ]
           [ ALLOW_CONNECTIONS [=] allowconn ]
           [ CONNECTION LIMIT [=] connlimit ]
           [ IS_TEMPLATE [=] istemplate ] ]

[]で書かれた部分はオプションです。

書いても書かなくてもOKなので、基本的には次のようにシンプルに書けます。

CREATE DATABASE name

nameの部分に作成したいデータベース名を指定して作成します。

では実際にデータベースを作成してみましょう。

psqlを起動して次のようにコマンドを入力します。

postgres=# CREATE DATABASE mydb;

入力後に「CREATE DATABASE」と表示されれば、データベースの作成完了です。

作成したデータベースの一覧を確認してみましょう。

データベースの一覧を表示するには「¥l」を入力します。

postgres=#\l
                                  List of databases
   Name    |  Owner   | Encoding |   Collate   |    Ctype    |   Access privileges   
-----------+----------+----------+-------------+-------------+-----------------------
 mydb      | postgres | UTF8     | ja_JP.UTF-8 | ja_JP.UTF-8 | 
 postgres  | postgres | UTF8     | ja_JP.UTF-8 | ja_JP.UTF-8 | 
 template0 | postgres | UTF8     | ja_JP.UTF-8 | ja_JP.UTF-8 | =c/postgres          +
           |          |          |             |             | postgres=CTc/postgres
 template1 | postgres | UTF8     | ja_JP.UTF-8 | ja_JP.UTF-8 | =c/postgres          +
           |          |          |             |             | postgres=CTc/postgres
(4 rows)

上記のように「mydb」が作成されているのがわかります。

なお、「postgres」「template0」「template1」はデフォルトで用意されているデータベースです。

指定のデータベースに接続する

psqlを立ち上げてPostgreSQLへ接続する際に、データベースの指定がない場合は接続に使うロールと同じ名前のデータベースへ接続します。

ここでは、先ほど作成した「mydb」へ接続してみましょう。

psqlを起動し、「Database [postgres]:」でmydbと入力します。

Server [localhost]: 
Database [postgres]: mydb
Port [5432]: 
Username [postgres]: 
Password for user postgres: 
psql (12.3)
Type "help" for help.
mydb=#

これでmydbへの接続が完了します。

また、現在接続中のデータベースとは別のデータベースへ接続したい場合には、「¥c」コマンドを使います。

postgres=# \c mydb
You are now connected to database "mydb" as user "postgres".
mydb=# 

これでmydbデータベースへ接続できました。

ターミナルに表示されているデータベース名も「mydb」になっています。

PostgreSQLでテーブルを作成する

では、データベースにテーブルを作成してみましょう。

テーブルを作成するには「CREATE TABLE」コマンドを使用します。

書式は次のようになります。

CREATE TABLE [ IF NOT EXISTS ] table_name (
  column_name data_type [, ... ]
)

サンプルでidとnameをもつmytableを作成してみましょう。

CREATE TABLE mytable (
  id integer, 
  name varchar(10)
);

コマンド入力後に「CREATE TABLE」と表示されれば正常に作成できています。

テーブルへデータを追加する

mytableにデータを追加してみましょう。

データを追加するには、「INSERT INTO」コマンドを使います。

INSERT INTO table_name [ ( column_name [, ...] ) ]
    VALUES ( { expression | DEFAULT } [, ...] )

こちらもサンプルで実際に確認してみます。

mydb=# INSERT INTO mytable VALUES (526, 'Sasaki');
INSERT 0 1

これでデータの追加が完了です。

テーブルの中身を表示してみましょう。

SELECT * FROM mytable;
 id  |  name  
-----+--------
 526 | Sasaki
(1 row)

追加したデータが表示されました。

テーブルのデータを更新する

先ほど追加したデータを更新してみましょう。

データを更新する場合は「UPDATE」コマンドを使用します。

UPDATE [ ONLY ] table_name 
    SET column_name = { expression | DEFAULT } [, ...]
    [ WHERE condition ]

さっそく、サンプルで確認してみましょう。

UPDATE mytable SET id = 527;
UPDATE 1
SELECT * FROM mytable;
 id  |  name  
-----+--------
 527 | Sasaki
(1 row)

ちゃんとデータの更新ができました。

テーブルのデータを削除する

今度はテーブルのデータを削除してみましょう。

データを削除するには「DELETE」コマンドを使いましょう。

DELETE FROM [ ONLY ] table_name
    [ WHERE condition ]

実際にデータを削除してみます。

DELETE FROM mytable;
DELETE 1

SELECT * FROM mytable;
 id | name 
----+------
(0 rows)

データの削除が完了し、テーブルが空になりました。

まとめ

PostgreSQLの概要やインストール方法、データベースへの接続方法などを解説しました。

PostgreSQLはさまざまなOSに対応し、利用者も多いデータベースです。

ぜひこの記事を参考に、インストールして利用してみてください!

エンジニアになりたい人に選ばれるプログラミングスクール「ポテパンキャンプ 」

ポテパンキャンプは卒業生の多くがWebエンジニアとして活躍している実践型プログラミングスクールです。 1000名以上が受講しており、その多くが上場企業、ベンチャー企業のWebエンジニアとして活躍しています。

基礎的な学習だけで満足せず、実際にプログラミングを覚えて実践で使えるレベルまで学習したいという方に人気です。 プログラミングを学習し実践で使うには様々な要素が必要です。

それがマルっと詰まっているポテパンキャンプでプログラミングを学習してみませんか?

卒業生の多くがWebエンジニアとして活躍

卒業生の多くがWeb企業で活躍しております。
実践的なカリキュラムをこなしているからこそ現場でも戦力となっております。
活躍する卒業生のインタビューもございますので是非御覧ください。

経験豊富なエンジニア陣が直接指導

実践的なカリキュラムと経験豊富なエンジニアが直接指導にあたります。
有名企業のエンジニアも多数在籍し品質高いWebアプリケーションを作れるようサポートします。

満足度高くコスパの高いプログラミングスクール「ポテパンキャンプ」

運営する株式会社ポテパンは10,000人以上のエンジニアのキャリアサポートを行ってきております。
そのノウハウを活かして実践的なカリキュラムを随時アップデートしております。

代表の宮崎もプログラミングを覚えサイトを作りポテパンを創業しました。
本気でプログラミングを身につけたいという方にコスパ良く受講していただきたいと思っておりますので、気になる方はぜひスクール詳細をのぞいてくださいませ。