원본출처 : http://mong2.speedinline.com/ing_board/data_file/ing_board/up_postgresql.txt
발견경위 : 우연히 검색하다....
# 이문서의 대상 : 오로지 나! <--- 디게 중요함.
기타 대상 : 그래두 보고싶은 너 <--- 전혀 고려안함.
# postgreSQL 7.0.3 -> 7.2 안전빵(?) 업그레이드...
%오로지 한글 정렬을 위해 업그레이드 함... 기타이유 없고, 필요성 못느낌...
그리고 결정적으로 모가 몬지 모름...--;
## 현재 시스템 설정상황
redhat 7.0 + apache + mysql + php + postgresql ( all RPM setting...)
1. 기존 postgresql을 그대로 두면서... 업그레이드를 시도한다... 포트를 이용한다.(결국 새로설치...)
기존 5432 로 도는것을 다른번호 5433으로 포트를 변경한다. (/etc/services 수정)
그런후 재가동시킨다... 물론 기존에 도는 프로그램을 수정해줘야 하겠다. 당연한 소리인가...--;
허나... 여기선 제외시킨다. 왜? 난 rpm 설치를 해보고... 한글 정렬되면 걸루쫑...
아니면 tarball설치 들어갈꼬니까...^^ 그리고 기존에 소스로 설치되어 있지두 않기땜시... 더 구찮다...
이경우는 기존에 tarball로 설치한 경우만 해볼만 하겠다. rpm인 경우는 나두 모르겠다...
그러하므로 pass
2. 기존의 자료를 백업한다...
여기서 한가지! 이전버전의 DB 구조와는 호환이 되지 않으므로 pg_dump 를 이용하셔 backup, psql 을
이용하여 restore를 해야 한다구 한다.
postgres 계정으로 백업을 미리 받아둔다...
pg_dump -u -d dbname > db_name.dmp
restore한 DB들은 EUC_KR이 아닌 SQL_ASCII로(보통... ) 되어 있으므로, 스키마는 빼고 데이타만
백업한후 7.2버전에서 새로 만든 데이타베이스에 넣어준다. 좀 많이 구찮다... ;-(
3. 최후에 건빵...
~postgre 디렉 전체를 백업해 둔다... 혹~ 모르니까... 닌 타고난 왕재수~ 잖아...-,.^
4.1 소스 컴파일...(tar)
다운 받아둔 소스를 적당한 디렉에 풀고(/usr/local ) 컴파일 들어간다...
컴파일 하기전 postmaster 데몬을 죽인다.
#ps -aux | grep postmaster
#kill PID (위에서 찾은 pid 번호)
#tar xvfz postgresql-7.2.tar.gz
#mv postgresql-7.2 pgsql
#cd postgresql
#./configure --enable-locale --enable-multibyte --enable-nls --with-maxbackends=128 --with-tcl
--with-perl --with-python --with-pam --with-openssl=/usr/inlcude/openssl --enable-odbc
--with-gnu-ld --enable-syslog
#make
#make install
#cd doc
#make install
#cd ~postgres
#chown -R postgres.postgres *
#su - postgres
#initdb -E EUC_KR <<- 절라 중요함... 이거 안하면... 한글정렬 어림없다구 함... :-|
#psql template1
#select version();
4.2 Rpm 업그레이드 (Rpm)
다운 받아둔 소스를 바루 설치한다....
(postgressql-7.2-1PGDGl.i386.rpm, postgressql-server-7.2-1PGDGl.i386.rpm,
postgressql-devel-7.2-1PGDGl.i386.rpm )
#rpm -Uvh postgressql-*
#su - postgres
#initdb -E EUC_KR <<- 절라 중요함... 이거 안하면... 한글정렬 어림없다구 함... :-|
#psql template1
#select version();
5. postmaster 데몬 뛰우기
postgres 계정으로 뛰워야 한다.
$ postmaster -i -S -D /usr/local/pgsql/data
6. 백업 데이터 복구
백업된 파일 db.out을 복구하기 위해 다음과 같이 postgres 계정으로 작업한다.
$ psql -e template1 < db.out
7. 끝~~
기타 프로그램을 돌려본다... 제대루 도는지 확인후... 잘되면... 바루 퇴근 : ), 어림없으면... 날밤까~ : (
8. 한마디
위 작업을 그대로 따라해두 안될경우가 있다... 그렇다면 당신두 나만큼이나 왕재수 임을 선언하라...--;
한가지더... 백업한 자료까지 엿먹일경우... 당신이 더 왕재수다... 인정하구 나에게 오라... 소주한잔 쏜다~~
9. 참고자료
http://database.sarang.net의 많은 문서들과 게시판에 올라온 많은 글들... 이것저것 짜집기...^^
잘되면 내탓 아니되면 니탓이요...:-) 어떠한 경우에두 내가 책임 질꺼 같냐...? 미춋냐...-,.^
필씅~
|