PostgreSQL のインストール
RedHat ES 4 に PostgreSQL 8.0.9をインストールした。
PostgreSQL は、本家から取得した rpm を用いたのだが、
起動に失敗してしまう。
起動スクリプトに起因するてんが2点ほど・・・。
その1: バージョンチェックでこける。
initdb すると、バージョン情報を管理するためのファイルが作成される。
# cat /var/lib/pgsql/data/PG_VERSION 8.0
このファイルには、メジャーバージョン(8.0)のみしか出力されていない。
ところが、起動スクリプト /etc/init.d/postgresql では、
マイナーバージョン(8.0.9)までをチェックしており、
An old version of the database format was found. You need to upgrade the data format before using PostgreSQL.
などとエラーメッセージが表示されて起動できなかった。
PG_VERSION を 8.0.9 として対応。
その2: runuser が失敗する。
以下のメッセージが表示されて起動に失敗する。
/var/log/messages
kernel: audit(1163747568.789:0): avc: denied { getattr } for pid=24575 exe=/usr/bin/postgres path=/var/lib/pgsql/data/postgresql.conf dev=dm-4 ino=443192 scontext=root:system_r:postgresql_t tcontext=user_u:object_r:var_lib_t tclass=file