前回はCentOSへRuby on Railsをインストールしました。
前回の記事はこちら⇒Linux(CentOS)へRuby on Railsをインストール
続いて、「PostgreSQL」をインストールします。
なお、今回のバージョンは以下です。
- CentOS-6.4-i386
- PostgreSQL 9.2.4
PostgreSQLのRPMパッケージをインストール
「yum search」コマンドで検索したところ、デフォルトのバージョンは「8.4」だったので、PostgreSQL公式サイトより最新バージョン「9.2」のRPMパッケージをダウンロードし、インストールする。
なお、今回のURLはこちら⇒http://yum.postgresql.org/9.2/redhat/rhel-6-i386/pgdg-centos92-9.2-6.noarch.rpm
「rpm」コマンドのインストールするオプションは「-i」。
「-v」と「-h」オプションでインストール情報を出力するので、「-ivh」ってな感じで、同時に付けておく。
#PostgreSQLのRPMパッケージのダウンロード $ wget http://yum.postgresql.org/9.2/redhat/rhel-6-i386/pgdg-centos92-9.2-6.noarch.rpm #RPMパッケージのインストール $ rpm -ivh pgdg-centos92-9.2-6.noarch.rpm #インストールしたパッケージ情報を参照 $ rpm -q pgdg-centos92 pgdg-centos92-9.2-6.noarch
PostgreSQLのインストール
RPMパッケージをインストールすると、「yum search」コマンドで検索するとパッケージが追加されている。
インストールしたバージョン「9.2」を指定し、PostgreSQLをインストールする。
#パッケージ検索 $ yum search postgresql92 … (省略) … postgresql92.i686 : PostgreSQL client programs and libraries postgresql92-devel.i686 : PostgreSQL development header files and libraries postgresql92-server.i686 : The programs needed to create and run a PostgreSQL server #PostgreSQLのインストール(以下の3つ) $ yum install postgresql92 $ yum install postgresql92-devel $ yum install postgresql92-server #環境変数「PATH」の表示 $ echo $PATH /usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/[ユーザー]/bin #環境変数「PATH」へ追加 $ PATH=$PATH:/usr/pgsql-9.2/bin #環境変数「PATH」の表示 $ echo $PATH /usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/[ユーザー]/bin:/usr/pgsql-9.2/bin #PostgreSQLのバージョン確認 $ psql --version psql (PostgreSQL) 9.2.4
なお、PostgreSQLの設定ファイルとプログラムファイルの場所は、今回の場合、以下のようになっています。
#設定ファイル等 /var/lib/pgsql/9.2/data #PostgreSQLプログラムファイル /usr/pgsql-9.2
PostgreSQLのサービス起動
サービスを確認してみたところ、起動されていないので起動する。
まずは、PostgreSQLのサービスを自動起動に変更しておく。
#サービス自動起動の確認 $ chkconfig --list postgresql-9.2 postgresql-9.2 0:off 1:off 2:off 3:off 4:off 5:off 6:off #PostgreSQLのサービスを自動起動にする $ chkconfig postgresql-9.2 on #サービス自動起動の確認 $ chkconfig --list postgresql-9.2 postgresql-9.2 0:off 1:off 2:on 3:on 4:on 5:on 6:off
サービスを自動起動にしても、それと同時にサービスが起動されるわけではないので、起動してやらなくてはいけない。
初回起動時は「initdb」を実行してデータベース初期化を行う必要があるよう。
なお、サービスのコマンドは「service」コマンドでも、「/etc/init.d/postgresql-9.2 start」というようにしても可能。
#サービスの確認 $ service postgresql-9.2 status は停止しています #サービスの確認 $ /etc/init.d/postgresql-9.2 status は停止しています #サービスの起動(エラー) $ service postgresql-9.2 start /var/lib/pgsql/9.2/data is missing. Use "service postgresql-9.2 initdb" to initialize the cluster first. [失敗] #データベース初期化 $ service postgresql-9.2 initdb データベースを初期化中: [ OK ] #サービスの起動 $ service postgresql-9.2 start postgresql-9.2 サービスを開始中: [ OK ] #サービスの確認 $ service postgresql-9.2 status (pid 2627) を実行中...
PostgreSQLへログイン
「/etc/passwd」を見ると、ユーザー「postgres」が追加されている。
とりあえずパスワード変更しておき、ユーザー「postgres」にスイッチユーザーすると「psql」コマンドで、PostgreSQLへログインできた。
なお、「psql -l」のように「-l」オプションを付けると、データベース一覧が参照できるよう。
ちなみにログアウトは「\q」です。
#ユーザー確認 $ cat /etc/passwd root:x:0:0:root:/root:/bin/bash … (省略) … postgres:x:26:26:PostgreSQL Server:/var/lib/pgsql:/bin/bash #ユーザー「postgres」のパスワード変更 $ passwd postgres #ユーザー「postgres」へスイッチユーザー $ su postgres #「psql」コマンドでログイン bash-4.1$ psql psql (9.2.4) "help" でヘルプを表示します. postgres=# #ログアウト postgres=# \q
コメント
細かい記事ありがとうございました
助かりました!
>ザッツ須之内さん
お役に立ててよかったです。