VirtualBox上のCentOSにpostgresqlをインストールした

今回はVirtualBox上のCentOSpostgresqlをインストールしてみたので、その備忘録として行った作業を残しておこうかと。

【目次】

・追加したuserでsudoできるようにする
postgresqlcentOSにinstallする

追加したuserでsudoできるようにする

rootユーザー以外のユーザーを作成して、そのユーザーでpostgresqlのinstallを行う。

まずは下のようにuserの作成&パスワードの設定

#ユーザーの追加
$ useradd user_name

#作成したユーザーのパスワード設定
$ passwd user_name

ただ、ここままだとsudo権限がないので

$ sudo yum install ~

をしても。。。

user_name は sudoers ファイル内にありません。この事象は記録・報告されます。

と言われてコマンドを実行できず。。

なのでwheelグループに今回作ったユーザーを追加する必要が。

まずはWheelグループがsudo権限あるかを確認。
vi /etc/sudoers
visudoコマンドが推奨されるようです。
*1

## Allows people in group wheel to run all commands
%wheel        ALL=(ALL)       ALL

その後、実際に今回作ったアカウントをwheelグループに追加する。
vi /etc/group

#変更前
wheel:x:10:

#変更後
wheel:x:10:user_name

これで今回作成したユーザーでもsudoできるようになったので、
本題のpostgresqlをinstallする準備が整いました。

postgresqlcentOSにinstallする

今回は下のURLを参考にpostgresqlをinstallする
YUM Installation - PostgreSQL wiki

・PGDG RPM fileをinstallする
この場合はCentOSCentOS 6 64-bit、
PostgreSQLPostgreSQL 9.3なので下のようになるようです。

yum localinstall http://yum.postgresql.org/9.3/redhat/rhel-6-x86_64/pgdg-centos93-9.3-1.noarch.rpm

YUMレポジトリの環境設定
今回はCentOSなので、このファイル(/etc/yum.repos.d/CentOS-Base.repo)の[base]と[updates]セクションに

/etc/yum.repos.d/CentOS-Base.repo

上記記述を追加する。


・利用可能なパッケージの確認
今度は利用可能なパッケージを表示する

yum list postgres*


・必要なパッケージのインストール

#必要に応じてパッケージinstall
yum install postgresql93-server


・DBのPGDATAの初期化

#installしたpostgresqlのバージョン指定
$ service postgresql-9.3 initdb

#上のコマンドでうまく動作しなかった場合、
/usr/pgsql-9.3/bin/postgresql93-setup initdb


postgresqlの自動立ち上げ

#OS起動時にpostgresqlを立ちあげたい場合
$ chkconfig postgresql-9.3 on


・dbの起動

$ service postgresql-9.3 start
#他にもstop,restart,reloadがある

文章書き慣れていないので、これだけ書くのもだいぶ時間かかりますね。
だけど曖昧な部分が整理できるので、やったことを文章にするのは有効な気がします。


参考記事
YUM Installation - PostgreSQL wiki

10日でおぼえるLinuxサーバー入門教室 CentOS対応 (10日でおぼえるシリーズ)

10日でおぼえるLinuxサーバー入門教室 CentOS対応 (10日でおぼえるシリーズ)

PostgreSQL全機能リファレンス (アドバンストリファレンスシリーズ)

PostgreSQL全機能リファレンス (アドバンストリファレンスシリーズ)

*1:visudo は、編集後 sudoers ファイルをパースし、 文法エラーがあった場合は変更を保存しない。 エラーが見つかると、visudo はそれが起こった 行番号を示すメッセージが表示し、 “What now?” というプロンプトを出す。