상세 컨텐츠

본문 제목

PostgreSQL 설치하기

프로그래밍/시스템, 서버구축

by 라제폰 2008. 12. 30. 13:18

본문


2. PostgreSQL 설치하기

2.1 postgres 계정 만들기

  • postgres라는 계정과 그룹을 만든다. 기본적으로 RedHat 패키지는 useradd란 명령으로 그룹과 계정을 같이 만들어 준다.
            # useradd postgres
            # passwd postgres
    

2.2 백업 하기

  • 처음 설치하는 경우는 '2.3 컴파일및 설치'로 넘어간다. 백업은 postgres 계정으로 작업한다.
            $ pg_dumpall -z > db.out
    

2.3 컴파일및 설치

  1. 컴파일 하기전 postmaster 데몬을 죽인다.
            # ps -aux | grep postmaster
            # kill PID (위에서 찾은 pid 번호)
    
  2. PostgreSQL 소스를 /usr/local 방에서 푼다.
  3. 풀면 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                        (컴파일)
    
  4. 'All of PostgreSQL is successfully made. Ready to install' 란 메세지가 보이면 성공.
            # su postgres                     (postgres 계정으로 작업하기위해)
            $ make install                    (설치)
    

2.4 설치후 작업

  1. 라이브러리 추가
            # vi /etc/ld.so.conf             
              /usr/local/pgsql/lib
            # /sbin/ldconfig
    
  2. 환경변수 추가
    각 개인의 환경변수를 설정하기위해 개인의 .bash_profile에 다음을 추가한다.
    (DB를 사용할 계정의 환경변수를 설정 - postgres 계정에도 적용시킨다.)
    
            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
    
  3. 환경 변수 적용
                                              
    각 계정에서 실행해서 환경변수를 적용시킨다.
            $ source .bash_profile            
    
  4. 데이터베이스 초기화 하기
    postgres계정으로 작업해야한다.
            $ initdb -e EUC_KR
    

2.5 postmaster 데몬 뛰우기

  • postgres 계정으로 뛰워야 한다.
        
        $ postmaster -i -S -D /usr/local/pgsql/data

2.6 백업 데이터 복구

  • 백업된 파일 db.out을 복구하기 위해 다음과 같이 postgres 계정으로 작업한다.

        $ psql -e template1 < db.out

관련글 더보기