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でいいや。