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
$ 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-4.2$
(bashを終了するにはexitコマンドを実行します)
データベースを作成する
bashが起動したら、基本的にpsqlコマンドを使用してデータベースやユーザの作成を行います。
作成されているDB一覧を表示する
$ psql -l
DBを作成する
$ createdb testdb
DBへ接続する
$ psql -d testdb
接続状態
デフォルトで用意されているpostgresというデータベースへ接続されます。
接続状態から抜ける(接続を切る)
# \q
接続状態から他のDBへ接続を切り替える
# \c (他のDB名)
DB接続が出来たらSQLを実行して実際にアプリケーションで利用するテーブルの作成やデータの挿入などを行います。
また、データベースやユーザー(ロール)を作成する場合など、操作内容によってDBへ接続する前後で書式が微妙に異なるコマンドがある点に注意が必要です。