株式会社コーソル
COLUMN

コーソルのお役立ちコラム

コーソルでは経験豊かなエンジニアが、Oracle Databaseに関するお役立ち情報を発信しています。
データベースのチューニングや設定にお役立ていただけます。

SQL

公開日  更新日

PostgreSQLでデータベースを作成する手順をわかりやすく解説

データの利活用が不可欠とされている昨今、多くの企業でデータベースの導入が進められています。
データベースの導入にはシステムを使用することになるわけですが、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のインストールは無事に完了しましたか?
では早速、データベースを作成していきましょう。

データベースの作成手順

  1. データベースに接続する
  2. CREATE DATABASEコマンドでデータベースを作成する
  3. ¥1コマンドでデータベースが作成できているか確認する
  4. テーブルを作成する

工程ごとの詳細な手順や、使用するコマンドは以下で詳しく解説します。

①データベースに接続する

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で作成したデータベースを削除する方法

データベースの作成方法とあわせて、不要になったデータベースの消し方も覚えておきましょう。
以下の手順に沿って、作業を進めます。

作成したデータベースの消し方

  1. 削除したいデータベース以外のものに接続する
  2. DROP DATABASEコマンドを実行する
  3. \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を起動して必要な情報を入力しなければなりません。本記事では、データサーバーの作成手順をわかりやすく解説します。

この記事の監修者

監修者の写真

舛井 智行 (ますい ともゆき)

営業本部 企画&マーケティング部 次長

《資格》

Oracle Master Gold、Oracle RAC Expert、Linux Expert、LPIC Level1、Dbvisit Standby Certified Associate、基本情報技術者

《略歴》

2004年コーソル入社。2019年まで一貫してOracle Databaseの設計・構築・運用のサービス提供に従事。リモートDBAやリモート監視のサービス化、働き方改革プロジェクトで人事制度改革を手掛ける。2019年からライセンス販売強化のため企画&マーケティング部に異動。DbvisitやToad、DPAの取扱開始、販売促進活動を推し進め、ライセンス販売事業の売上拡大に注力中。

《主な著書》

オラクルマスター教科書 Gold DBA Oracle Database AdministrationⅡ
オラクルマスター教科書 Silver DBA Oracle Database Administration I
オラクルマスター教科書 Silver SQL Oracle Database SQL
Oracleの基本 ~データベース入門から設計/運用の初歩まで
プロとしてのOracle入門
Oracle Database 10g Oracle Enterprise Manager 逆引きクイックリファレンス

《担当者様からの一言》

コーソルはOracle Databaseの技術力において日本有数の知見を有すると自負しています。Oracle Masterの最高峰資格である『Oracle Master Platinum』の取得者数も日本No.1です。Oracle Databaseのことはもちろん、それ以外のDBについてもリモートDBAサービスを始めとした様々なサービス、製品を駆使してお客様のお困りごとを解消いたします。お困りごとがあればコーソルまでご相談ください。

監修者の写真

峯岸 隆一 (みねぎし りゅういち)

インフラソリューション部 市ヶ谷クラウドサービスチーム シニアエキスパート

《資格》

Oracle Master Gold、ORACLE MASTER Platinum、Oracle RAC Expert、
Oracle Database Cloud Service Oracle Infrastructure as a Service Cloud 2017 Implementation Essentials、
Oracle Cloud Infrastructure 2018 Architect Associate、
Oracle Cloud Infrastructure 2019 Architect Professional、
AWS Certified Solutions Architect – Associate、OSS-DB Silver、
MySQL 5.6 Database Administrator、基本情報技術者、テクニカルエンジニア(データベース)

《略歴》

2006年コーソル入社。2021年までOracle Databaseを中心にMySQLやGoldenGateなど、多岐にわたる製品のサポート業務に従事。2021年から企画&マーケティング部に異動し、Nutanix NDBサービス化、Qlik Replicateサービス化、AWS、OCIなど様々な製品のサービス化、クラウド環境上の製品検証、ブログ執筆を手掛ける。2023年からOCI技術に磨きをかけるべくOCI基盤の設計・構築業務を遂行中 。

《主な著書》

オラクルマスター教科書 Gold DBA Oracle Database AdministrationⅡ
オラクルマスター教科書 Silver DBA Oracle Database Administration I
オラクルマスター教科書 Silver SQL Oracle Database SQL  Oracleの基本 ~データベース入門から設計/運用の初歩まで

《担当者様からの一言》

コーソルはOracle Database製品および周辺製品において特化した技術力を有している会社です。また、育成にも力を入れており、新卒などOracle Databaseの知識がないエンジニアでも数年でOracle Master Platinumを取得するほどのエンジニアに育て上げることに成功しています。クラウド分野(AWS、Oracle Cloud)にも積極的に進出しておりますので、Oracle Databaseに関するサービスをご要望であればプラットフォーム問わず対応できるコーソルにご連絡下さい。

TOP