PostgreSQL8をCentOS5にyumを使ってインストールしてみた


環境:
VMWare6上のCentOS5 + PostgreSQL8.2.4 (yumを使用)
Windows Vista上のpgAdmin v1.6.3

CentOS側

インストール

yum install postgresql-server

ユーザ,グループは「postgres」で作成されます.
スタートアップスクリプトも/etc/rc.d/init.d/postgresqlに配置されます.
基本的にファイルは,/va/lib/pgsqlに配置されます.

ユーザの切り替え

PostgreSQL関係の操作を行う時は,デーモンの再起動以外は基本的にpostgresユーザで行います.
そのためにまずrootになり,そこからpostgresにsuします.
つまり,一般ユーザでCentOSにログインしている状態から

[user] su -
[root] su - postgres
[postgres]

こういう感じで動きます.
suとユーザ名の間にハイフンを入れるのを忘れないようにしましょう.
これを挟むことで環境変数をsu後のユーザにあわせて設定し直します.
postgresユーザ用の環境変数も,本来は手動で設定する必要がありますがyumが勝手に設定してくれています.

initdb

データベースを初期化します.
初期化処理によって/var/lib/pgsql/data/以下に設定ファイルなどを作成します.
initdbをやり直したい時には,これらのファイルもしくはdataディレクトリ自体を削除します*1

[postgres] initdb -W -E EUC_JP --no-locale

日本語を扱うならまだEUC-JPの方がいいみたいです.
no-localeを入れないとグルーピング処理などで問題が発生するらしいです.
試していないのでわからないですが.

参考にしたのは:Stray Penguin – Linux Memo (PostgreSQL)

設定

(注意!)これらの設定は,とりあえず外部から*2接続するためのもので,実運用に際してはもっと細かく条件を絞り込んで簡単に外からアクセスされないようにする必要があります.

/var/lib/pgsql/data/postgresql.conf

listen_addresses = '*'
port = 5432

全てのIPを受け付ける
ポート番号は5432*3

/var/lib/pgsql/data/pg_hba.conf

TYPE	DATABASE	USER	CIDR-ADDRESS	METHOD
host	all		all	192.168.1.0./24	password

192.168.1.0/24((192.168.1.xの全てのIP)
全てのデータベースに全てのユーザでパスワード認証をもってしてアクセスできる.

/etc/rc.d/init.d/postgresql

- # chkconfig: - 64 36
+ # chkconfig: 345 90 11

自動的に配置される起動スクリプトでは,chkconfigが正しく通らないみたいなのでちょっと修正.
そしてchkconfigで設定.

chkconfig --del postgresql
chkconfig --add postgresql

参考:PostgreSQL 入門:PostgreSQL のインストール & 設定(自動起動の設定)

*1 : そうしないとinitdbに怒られます

*2 : というよりVMWareを使ってホストOSのWindowsからゲストOSのCentOS内にあるPostgreSQLに

*3 : 実は,起動スクリプトの方でもこの番号を指定しているので,もしかしたらここを変えても変わらないかも.毎度のことながら試していなくてすいません

ポートの開放

system-config-securitylevel

postgres_firewall.png
【CUSTOMIZE > Allow incoming > Other ports】
5432を入力してOK.

Windows側

pgAdmin3のインストール.
pgAdmin III: PostgreSQL administration and management tools

【Download > Windows > pgAdmin v1.6.x】

インストーラの指示に従えばうまくいきました.

postgres_pgadmin_setting.png
サーバが動くようになれば,後はpgAdminで楽をします.
データベースにアクセスしてロールを作ったりデータベースを作ったり,テーブルを作ったりするといいです.

とりあえず導入から接続までを試して今日は終わり.

ほかに

理解度が低いのでSE Linuxは切ってしまいました.
切らなくても動くかはわからないです.

Leave a Comment


NOTE - You can use these HTML tags and attributes:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>