前回は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」ってな感じで、同時に付けておく。
1 2 3 4 5 6 7 8 9 | #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をインストールする。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | #パッケージ検索 $ 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の設定ファイルとプログラムファイルの場所は、今回の場合、以下のようになっています。
1 2 3 4 5 | #設定ファイル等 /var/lib/pgsql/9.2/data #PostgreSQLプログラムファイル /usr/pgsql-9.2 |
PostgreSQLのサービス起動
サービスを確認してみたところ、起動されていないので起動する。
まずは、PostgreSQLのサービスを自動起動に変更しておく。
1 2 3 4 5 6 7 8 9 10 | #サービス自動起動の確認 $ 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」というようにしても可能。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | #サービスの確認 $ 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」です。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | #ユーザー確認 $ 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 |
コメント
細かい記事ありがとうございました
助かりました!
>ザッツ須之内さん
お役に立ててよかったです。