LinuxサーバへPostgreSQLをセットアップする手順

Linux環境へPostgreSQLによるデータベースを構築するための初期セットアップ手順をまとめます。

試した環境 :
Amazon Web Service EC2
CentOS 7 (x86_64) – with Updates HVM (AWS Marketplaceより)

この記事ではCentOS7など、Red Hat系ディストリビューションで使用できるyumコマンドを利用して
PostgreSQLのパッケージをインストールする手順から解説しています。

必要なパッケージをyumインストールする

PostgreSQLのデータベースを構築するために以下の3つのパッケージが必要となります。

  • postgresql.x86_64
  • postgresql-libs.x86_64
  • postgresql-server.x86_64
以下のコマンドで3つのパッケージをひとまとめでインストール出来ます。
$ sudo yum -y install postgresql-server
インストールしたパッケージを確認する。
$ sudo yum list installed | grep postgresql

初期化してPostgreSQLを起動する

パッケージのインストールが完了したらPostgreSQLの初期化を以下のコマンドで行います。

$ sudo postgresql-setup initdb
以下のように表示されたら初期化完了です。


PostgreSQLを起動する

$ sudo systemctl start postgresql


次回から自動起動するようにしておく

$ sudo systemctl enable postgresql


起動状態を確認する

$ sudo systemctl status postgresql

(PostgreSQLが起動中)

データベースを操作する

PostgreSQLの起動が完了したら、
アプリケーションで利用するデータベースやテーブル、ユーザー(ロール)の作成等を行うことが出来ます。

postgresユーザでbashを起動する

ルートの権限から※postgresユーザへ切り替えます。
(※postgresというユーザーはPostgreSQLインストール時に自動的に作成されています)

# su - postgres
もしくは
$ sudo su - postgres
専用のbashが起動する
bash-4.2$

(bashを終了するにはexitコマンドを実行します)

データベースを作成する

bashが起動したら、基本的にpsqlコマンドを使用してデータベースやユーザの作成を行います。

作成されているDB一覧を表示する

$ psql -l


DBを作成する

$ createdb testdb


DBへ接続する

$ psql -d testdb

接続状態

オプションを何もつけずpsqlと実行すると
デフォルトで用意されているpostgresというデータベースへ接続されます。


接続状態から抜ける(接続を切る)

# \q


接続状態から他のDBへ接続を切り替える

# \c (他のDB名)

DB接続が出来たらSQLを実行して実際にアプリケーションで利用するテーブルの作成やデータの挿入などを行います。

また、データベースやユーザー(ロール)を作成する場合など、操作内容によってDBへ接続する前後で書式が微妙に異なるコマンドがある点に注意が必要です。

Follow me!