postgres라는 계정과 그룹을 만든다. 기본적으로 RedHat 패키지는 useradd란 명령으로 그룹과 계정을 같이 만들어 준다.
# useradd postgres
처음 설치하는 경우는 2.3 컴파일 하기로 넘어간다.
백업은 postgres 계정으로 작업한다.
$ pg_dumpall -z > db.out
컴파일 하기전 postmaster 데몬을 죽인다.
# ps -aux | grep postmaster
# kill PID (위에서 찾은 pid 번호)
PostgreSQL 소스를 /usr/local 방에서 푼다. 풀면 postgresql-6.5.3이란 디렉토리가 생기는데 이름을 pgsql로 바꿔준다. (기존의 pgsql 디렉토리는 버전을 명시하며 이름을 바꿔준다.)
# mv postgresql-6.5.3 pgsql (이름을 pgsql로 바꾼다)
# chown -R postgres.postgres pgsql (user와 group을 바꾼다)
# cd /usr/local/pgsql/src
# vi Makefile.custom (Pentitum pro급 이상에서 최적화를
CFLAG+= -m486 위해 생성한다)
# ./configure --with-mb=EUC_KR (한글 사용을 위해)
# cd /usr/local/pgsql/doc
# make install (맨 페이지, HTML 문서파일 설치)
# cd /usr/local/pgsql/src
# make all (컴파일)
'All of PostgreSQL is successfully made. Ready to install' 란 메세지가 보이면 성공.
# su postgres (postgres 계정으로 작업하기위해)
$ make install (설치)
# vi /etc/ld.so.conf (라이브러리를 찾기위해 추가)
/usr/local/pgsql/lib
# /sbin/ldconfig
각 개인의 환경변수를 설정하기위해 개인의 .bash_profile에 다음을 추가한다.
PATH=$PATH:/usr/local/pgsql/bin
MANPATH=$MANPATH:/usr/local/pgsql/man
PGLIB=/usr/local/pgsql/lib
PGDATA=/usr/local/pgsql/data
export PATH MANPATH PGLIB PGDATA
환경 변수 적용을 위해 다음과 같이 한다.
$ source .bash_profile (환경변수 적용-각개인이 실행)
데이터베이스 초기화 하기 ( postgres계정으로 작업해야한다 )
$ initdb -e EUC_KR
postgres 계정으로 뛰워야 한다.
$ postmaster -i -S -D /usr/local/pgsql/data
백업된 파일 db.out을 복구하기 위해 다음과 같이 postgres 계정으로 작업한다.
$ psql -e template1 < db.out