データの利活用が不可欠とされている昨今、多くの企業でデータベースの導入が進められています。
データベースの導入にはシステムを使用することになるわけですが、PostgreSQL(ポストグレスキューエル)は有力な選択肢の一つです。
そこで今回は、PostgreSQLの基本操作であるデータベースの作成手順を解説します。
PostgreSQLを使ったことがない方や、データベースの作成に不安を抱えている方は、ぜひ当記事をご参照のうえ、作業をお進めください。
目次
PostgreSQLとは
そもそもPostgreSQLとは、“PostgreSQL Global Development Group”が開発したリレーショナル データベース マネジメント システム(RDBMS)のことを指します。
1986年に開発されたPOSTGRESがベースとなっており、30年以上にわたって今もなお開発が続けられています。
PostgreSQLの特徴は、BSDライセンスに基づいたPostgreSQLライセンスを採用している“オープンソースソフトウェア”である点です。
つまり、すべてのソースコードが公開されており、誰でも無料で使用できるということです。
さらに商用利用も可能なうえ、機能の改変や追加を行っても利用者にはそのソースコードを公開する義務がないのも大きな特徴といえるでしょう。
PostgreSQLは、日本語を含む他言語に対応した高性能かつ信頼性の高いソフトウェアとして、世界中で人気を博しています。
PostgreSQLのインストール方法
PostgreSQLでデータベースを作成する際は、まずシステムをインストールする必要があります。
以下に沿って、作業を進めましょう。
①インストーラーをダウンロードする
まずは、以下のURLからPostgreSQLの公式サイトにアクセスし、インストーラーをダウンロードします。
PostgreSQL公式サイト:https://www.postgresql.org/
公式サイトの画面上部に表示される“Download”を、クリックしましょう。
その後、“BINARY PACKAGES”のブロック内から、ご自身が利用するOSの種類(macOS、Solaris、Windowsなど)を選択すれば、ダウンロード用のページが表示されます。
“Download the installer”と書かれたリンクをクリックすると、PostgreSQLのバージョン一覧が出てきますので、自社のOSに適したものを選び、ダウンロードを開始します。
②PostgreSQLをインストールする
ダウンロードしたPostgreSQLのファイルをダブルクリックして、インストーラーを起動させます。
インストール場所やコンポーネント、データを設置するディレクトリなどを指定する画面が表示されますので、それぞれ選択し“Next”をクリックして次に進みましょう。
続いて、スーパーユーザーとしてデータベースに接続する際に必要なパスワードを設定します。
ポート番号やデフォルトロケールの選択を終えたら、PostgreSQLのインストールが開始されます。
PostgreSQLでデータベースを作る手順
PostgreSQLのインストールは無事に完了しましたか?
では早速、データベースを作成していきましょう。
データベースの作成手順
- データベースに接続する
- CREATE DATABASEコマンドでデータベースを作成する
- ¥1コマンドでデータベースが作成できているか確認する
- テーブルを作成する
工程ごとの詳細な手順や、使用するコマンドは以下で詳しく解説します。
①データベースに接続する
PostgreSQLでデータベースを作成するには、あらかじめデータベースに接続しておく必要があります。
初めてデータベースを作成する際は、自動で作成されている“postgres”という名称のデータベースをご活用ください。
PostgreSQLへの接続時は、フロントエンドインターフェイス“psql”を使用します。
PostgreSQLフォルダを開き、その中にある“SQL Shell(psql)”をクリックしましょう。
するとpsqlが起動し、以下の情報の入力を求められます。
psqlに入力する情報
- 接続先のホスト名:Server [localhost]
- データベース名:Database [postgres]
- ポート番号:Port [5432]
- ユーザー名:Username [postgres]
- クライアント側のエンコーディング:Client Encoding [SJIS]
- パスワード
かっこ内には既定のデフォルト値が表示されておりますので、情報の変更や追加の入力は不要です。
パスワード欄には、PostgreSQLをインストールした際に設定したものを入力します。
上記の情報を入力し、Enterキーを押せばPostgreSQLへの接続は完了です。
問題なく接続できていれば、ターミナルが“psql postgres”から“postgres=#”に変わります。
②CREATE DATABASEコマンドでデータベースを作成する
新しいデータベースを作成する際は、“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 ] ]
【パラメータの詳細】
パラメータ | 詳細 |
name | ・新規作成するデータベースの名前 |
user_name | ・新規データベースを所有するユーザーのロール名 |
template | ・新規データベースの作成元となるテンプレートの名前
・デフォルトテンプレートを使用する場合は“DEFAULT”と指定する |
encoding | ・新規データベースで使用される文字セット符号化方式 |
lc_collate | ・新規データベースで使用する照合順序 |
lc_ctype | ・新規データベースで使用する文字のクラス |
tablespace_name | ・新規データベースに関連付けされるデフォルトのテーブル空間名 |
allowconn | ・“true”の場合は、データベースに接続可能
・“false”の場合、誰もこのデータベースに接続できない |
connlimit | ・データベースで確立できる同時接続数
・“-1”は無制限を示す |
istemplate | ・“true”の場合、CREATE DATABASE権限があれば、どのユーザーでもデータベースの複製が可能
・“false”の場合、データベースの所有者かスーパーユーザーしか複製できない |
構文内の“CREATE DATABASE name”のname部分に、新規作成するデータベースの名前を入力します。
各情報を入力して実行すれば、データベースの作成は完了です。
なお、文字セットや照合順序、文字のクラスは、このタイミングでしか指定できず、あとから設定を変えることはできませんのでご注意ください。
③¥1コマンドでデータベースが作成できているか確認する
きちんとデータベースが作成されたか確認するために、“\1”のコマンドを実行してデータベース一覧を表示してみましょう。
一覧に先ほど作成したデータベースの名前が表示されていれば、問題なく作業が完了したということです。
作成したデータベースに接続するには”\c”コマンドを使います。”\c データベース名“でデータベースに接続すると、プロンプトに表示されているデータベース名も“postgres=#”から、”データベース名=#”に変わります。
④テーブルを作成する
作成したデータベースにデータを入れるには、テーブルを作らなければなりません。
テーブルとは、表形式で表される各種データの格納領域のことです。
Excelでいうところの、テーブルは“シート”、データベースは“ブック”に置き換えられます。
【テーブルのイメージ】
商品番号 | 商品名 | 価格 |
001 | 米 | 2800 |
002 | 塩 | 120 |
003 | 砂糖 | 280 |
PostgreSQLでテーブルを作る際は、次の構文を使います。
CREATE TABLE <table-name> (
<column1-name> <column1-datatype> <column1-constraint>,
<column2-name> <column2-datatype> <column2-constraint>,
<column3-name> <column3-datatype> <column3-constraint>,
…
…
<columnN-name> <columnN-datatype> <columnN-constraint>
);
また、列ごとに以下の制約をつけることも可能です。
制約と意味
制約 | 意味 |
PRIMARY KEY | l 主キーとする |
UNIQUE | l 列内で重複する値を許可しない |
REFERENCES | l 外部キーとする
l 参照先は指定した表名(列名)となる |
CHECK | l 条件に合う値のみ登録を許可する |
NOT NULL | l NULL値を許可しない |
DEFAULT | l 初期値を指定する |
上記を反映したうえで、実際にテーブルを作成する構文の例を見てみましょう。
# CREATE TABLE name
# (id char(4) not null,
# name text not null,
# age text not null,
# PRIMARY KEY(id));
これを実行し、構文に間違いがなければテーブルが作成されます。
PostgreSQLで作成したデータベースを削除する方法
データベースの作成方法とあわせて、不要になったデータベースの消し方も覚えておきましょう。
以下の手順に沿って、作業を進めます。
作成したデータベースの消し方
- 削除したいデータベース以外のものに接続する
- DROP DATABASEコマンドを実行する
- \1コマンドでデータベースが削除されたか確認する
前提として、接続しているデータベースを削除することはできないため、“\c name”のメタコマンドを使用して、別のデータベースに接続しておかなければなりません。
nameに接続したいデータベースの名前を入力し、DROP DATABASEを実行します。
DROP DATABASE [ IF EXISTS ] name
データベースの削除が完了したか、“\l”を実行して確認してみてください。
表示されたデータベースの一覧に、削除したデータベースの名前がなければ作業は終了です。
データベースを削除する際の注意点
PostgreSQLで作成したデータベースを削除する際は、以下の点にご注意ください。
データベースを削除する際に押さえておくべき注意点
- 削除したデータベースは復元できない
- 削除するデータベースに接続している状態では削除できない
- データベースの所有者とスーパーユーザーしか削除できない
もっとも気をつけなければならないのは、消したデータベースはいかなる手段を講じても復元させることができない点です。
データベースを削除する際は、本当に消しても大丈夫なのか、今一度確認することをおすすめします。
また、前項でもお伝えしましたが、ご自身を含む誰かがデータベースに接続している状態では、データベースを削除することはできません。
データベースに誰も接続していない状態であることを確認したうえで、作業を進めましょう。
くわえて、データベースを削除できるのは、そのデータベースの所有者と管理権限を有するスーパーユーザーのみです。
PostgreSQLでデータベースを作成する際はpsqlを使用する
今回は、PostgreSQLでデータベースを作成する方法を解説しました。
PostgreSQLは、世界的に人気のあるRDBMSであり、高性能かつ信頼性が高いだけでなく無料で使えるといった理由から、多くの企業で活用されています。
その点、PostgreSQLの基本操作であるデータベースの作成方法は、エンジニアの方であれば覚えておいて損はありません。
PostgreSQLを使用したことのない方は、まずインストールするところから始めてみましょう。
なお、コーソルで取り扱っているDPAをご活用いただければ、PostgreSQLを含む、さまざまなデータベースのモニタリングが可能です。
くわえてDPAの構築支援も実施しておりますので、PostgreSQLを導入される方は、ぜひこちらもあわせてご利用ください。
ディスクリプション:PostgreSQLでデータサーバーを作成する際は、psqlを起動して必要な情報を入力しなければなりません。本記事では、データサーバーの作成手順をわかりやすく解説します。