6.PostgreSQL9.1.2のインストール

下記を参考にしました。
http://www.abetake.com/index.php?PostgreSQL%209.1.1

CentOS6.2パッケージのPostgreSQLのバージョンは8.3。
現在使用しているバージョンが8.1で最新バージョンは9.1.2です。8.3は少し古いようなので、最新バージョン9.1.2を使用することにしました。
とりあえず、インストールされているPostgreSQLを削除して、samba経由でダウンロードしてきたPostgreSQLのソースコードを新サーバーに取り込みます。
以下、インストールは石井達夫先生の「PostgreSQL完全攻略ガイド(技術評論社)」の通り。
また、readline、zlibは最初から入っていました。

configure、initdbのオプションは次のようにしました。

configureは
$ /usr/local/src/postgresql-9.1.2/configure (オプションを付けませんでした)

環境設定を/home/postgres/.bashrcに追加して
PATH="$PATH":/usr/local/pgsql/bin
export POSTGRE_HOME=/usr/local/pgsql
export PGLIB=$POSTGRE_HOME/lib
export PGDATA=$POSTGRE_HOME/data
(manは入っていなかったので省略)

$ source /home/potgres/.bashrc

initdbは
$ initdb --encoding=EUC_JP --no-locale

自動起動するために
# cp /usr/local/src/postgresql-9.1.2/contrib/start-scripts/linux /etc/rc.d/init.d/pgsql
# chmod 755 /etc/rc.d/init.d/pgsql
# chkconfig -add pgsql
# chkconfig pgsql on
# chkconfig --list pgsql
pgsql 0:off 1:off 2:on 3:on 4:on 5:on 6:off

/usr/local/pgsql/data/pg_hba.confの編集。下記追加
host all all 0.0.0.0/0 trust

/usr/local/pgsql/data/postgresql.confの編集
# - Connection Settings -
listen_address = '*'
max_connection = 64
# - Memory -
shared_buffers = 160M
temp_buffers = 40M
work_mem = 10M
# - When to Log -
silent_mod = on

autovacuumはデフォルトでonになっているので、当面さわらない。

以前、PostgreSQL8.2にSolaris10/PostgreSQL8.1のダンプデータをリストアしようとして、外字データがネックになり、リストアできないことがありました。今回もそうなると思っていましたが、あっさり8.1のEUC_JPのデータをPostgreSQL9.1.2にリストアすることができました。8.2の時のトラブルはいったいなんだたんだろう? UTF-8にしようかと思っていましたが、特に問題なくリストアできるのなら、EUC_JPでいいや。