ようこそゲストさん

mitc - 日記

2007/06/05(火) PostgreSQL8をCentOS5にyumを使ってインストールしてみた

はてブ 2007/06/05 25:41 Linuxmiff
環境:
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は切ってしまいました.
切らなくても動くかはわからないです.


名前:  非公開コメント   

E-Mail(任意/非公開):
URL(任意):
  • TB-URL  http://mitc.s279.xrea.com/adiary.cgi/038/tb/