PostgreSQL 8.1.x の変更点


* PostgreSQL 8.1.x [#j0172592]

** ユーザ/ディレクトリ作成 (rootにて実行) [#q12e5aad]
 groupadd postgres
 useradd pgsql81
 
 mkdir /usr/local/src/postgresql-8.1.x
 chown pgsql81:postgres /usr/local/src/postgresql-8.1.x
 mkdir /usr/local/postgresql-8.1.x
 chown pgsql81:postgres /usr/local/postgresql-8.1.x
 cd /usr/local
 rm postgresql-8.1
 ln -s postgresql-8.1.x postgresql-8.1
 mkdir /var/pgsql81
 chown pgsql81:postgres /var/pgsql81
 mkdir /etc/pgsql81.d

** コンパイル (pgsql81にて実行) [#ybe60e21]
 cd /usr/local/src/postgresql-8.1.x
 ./configure \
   --prefix=/usr/local/postgresql-8.1.x \
   --sysconfdir=/etc/pgsql81.d \
   --enable-integer-datetimes \
   --with-pgport=5433 \
   --with-perl
 make
 make check
 make install

** pgsql81ユーザの ~/.bashrc 修正 [#v14e82c0]
 PG_HOME=/usr/local/postgresql-8.1
 PATH="$PATH":$PG_HOME/bin
 export PGLIB=$PG_HOME/lib
 export PGDATA=/var/pgsql81
 export MANPATH="$MANPATH":$PG_HOME/man
 export LD_LIBRARY_PATH="$LD_LIBRARY_PATH":"$PGLIB"

~/.bashrc 反映
 source ~/.bashrc

** データベースの初期化 [#a94af37f]
 initdb --encoding=EUC_JP --no-locale --pgdata=/var/pgsql81
 
initdb に失敗した場合、再度データベースを完全初期化する方法 (pgsql81にて実行)
 cd /var/pgsql81
 rm -Rf *
 cd /usr/local/src/postgresql-8.1.x
 make install
 cd
 initdb --encoding=EUC_JP --no-locale --pgdata=/var/pgsql81

** syslog対応 [#j154f4b9]
/var/pgsql81/postgresql.conf 修正 (pgsql81にて実行)
 #syslog = 0 # range 0-2
を以下のように変更
 syslog = 2 # range 0-2

/etc/syslog.conf 修正 (rootにて実行)~
次の2行を追加
 # PostgreSQL 8.1 log
 local0.*                                                /var/log/pgsql81.log

syslog実行 (rootにて実行)
 touch /var/log/pgsql81.log
 /etc/rc.d/init.d/syslog restart

** テスト起動 (pgsql81にて実行) [#n81dfafa]
 postmaster &
 createdb test
 psql test
 test=# select version();
 test=# \q