PostgreSQL 7.3.x のバックアップ(No.1)


PostgreSQL 7.3.x

ユーザ/ディレクトリ作成 (rootにて実行)

groupadd postgres
useradd pgsql73

mkdir /usr/local/src/postgresql-7.3.x
chown pgsql80:postgres /usr/local/src/postgresql-7.3.x
mkdir /usr/local/pgsql-7.3.x
chown pgsql80:postgres /usr/local/pgsql-7.3.x
cd /usr/local
rm pgsql73
ln -s pgsql-7.3.x pgsql73
mkdir /var/pgsql73
chown pgsql73:postgres /var/pgsql73
mkdir /etc/pgsql73.d

コンパイル (pgsql73にて実行)

cd /usr/local/src/postgresql-7.3.x
./configure \
  --prefix=/usr/local/pgsql-7.3.x \
  --sysconfdir=/etc/pgsql73.d \
  --enable-integer-datetimes \
  --with-pgport=5432 \
  --with-perl
make
make check
make install

pgsql73ユーザの ~/.bashrc 修正

PG_HOME=/usr/local/postgresql-7.3
PATH="$PATH":$PG_HOME/bin
export PGLIB=$PG_HOME/lib
export PGDATA=/var/pgsql73
export MANPATH="$MANPATH":$PG_HOME/man
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH":"$PGLIB"

/.bashrc 反映

source ~/.bashrc

データベースの初期化

initdb --encoding=EUC_JP --no-locale --pgdata=/var/pgsql73

initdb に失敗した場合、再度データベースを完全初期化する方法 (pgsql73にて実行)

cd /var/pgsql73
rm -Rf *
cd /usr/local/src/postgresql-7.3.x
make install
cd
initdb --encoding=EUC_JP --no-locale --pgdata=/var/pgsql73

syslog対応

/var/pgsql73/postgresql.conf 修正 (pgsql73にて実行)

#syslog = 0 # range 0-2

を以下のように変更

syslog = 2 # range 0-2

/etc/syslog.conf 修正 (rootにて実行)
次の2行を追加

# PostgreSQL 7.3 log
local0.*                                                /var/log/pgsql73.log

syslog実行 (rootにて実行)

touch /var/log/pgsql73.log
/etc/rc.d/init.d/syslog restart

テスト起動 (pgsql73にて実行)

postmaster &
createdb test
psql test
test=# select version();
test=# \q