使ってる環境がFedora Core 3なのだが、FC公式リポジトリには7.xしかない。PostgreSQL本家に8.1.3のrpmがあったもののarchが686で、自サーバでは動かず。unameでi686って出てるんだけどな~。EDENだから?
導入
- PostgreSQL: FTP Browser(Top → source → v8.1.3)からtar玉をダウンロードする。今回使ったのは、postgresql-8.1.3.tar.gz。
- ダウンロードしたアーカイブを適当な場所において展開。
- いつものconfigure → make → make install。今回は↓で。
./configure --enable-thread-safety --without-docdir
- tar玉に同梱されている「INSTALL」のShort Version風で、さくっと確認。
# adduser postgres
# mkdir ~postgres/data
# chown postgres:postgres ~postgres/data
# su - postgres
(profile中のPATH設定に/usr/local/pgsql/bin/を追加)
% initdb -D ~/data
% pg_ctl start -D ~/data
% createdb test
% psql test
test=# select * from pg_catalog.pg_tables;
~テーブルの一覧~
設定
- デフォルトの状態では、他ホストからの接続を受け付けないので、許可を追加する。
- data/pg_hba.confに許可IPを追加。
host all all 192.168.1.0/24 trust
- data/postgresql.confにLISTENアドレスを設定。
listen_addresses = '*'
- iptablesで許可するのを忘れがち。(デフォルトの場合)tcpポート5432を許可。
FC3の場合、/etc/sysconfig/iptablesを編集して
# /etc/init.d/iptables restart - ログがstderrに出るのは好まないのでsyslogに変更
log_destination = 'syslog'
- ついでに接続関係もログるように変更
log_connections = on
log_disconnections = on
log_duration = on - postmasterを再起動。