어제 일하고 있는 곳의 DB를 본격적으로 모두 7.4.1 버전으로 바꾸었습니다.
바꾸면서 애 먹었던 부분들을 기록해 둡니다.
서버 업그레이드 하실 때 참고 하세요.
문자셋을 unicode로 바꾸는 부분에 대해서 아랫글에서 언급하고 있으니 생략하고,
- 가장 치명적인 놈이 contrib/array 모듈을 사용하고 있다면, 그 관련 모든 것이 바뀌었습니다. text[] 자료형때문에 부득이 =* 연산자를 사용하고 있었는데, 이 연산자가 없어졌습니다. any/all 예약어로 쿼리문이 조정되어야합니다.
기존: select * from t where array_column =* 'search_value' 새방법: select * from t where 'search_value' = any (array_column)
- plpython 언어를 사용하고 있다면, 완벽하게 초기 데이터베이스 셋팅에서 resotre 시켜야 할겝니다. 7.4.x 대에서는 plpython 놈이 없어지고, plpythonu 라고 이름을 바꾸어 사용하거든요. 이것을 무시하려면, createlang 명령으로 plpythonu 언어를 해당 데이터베이스에 셋팅해 두지 마시고, 기존 DB에서 셋팅되어있는 정보를 덤프 받아서 사용해야할 듯싶습니다.
- php 쪽으로 사용한다면, 웹서버단의 php - pgsql 모듈도 새 libpq로 컴파일 되어야할 듯싶습니다. 안해도 별 문제는 없는데, server - client 프로토콜이 변경되어서 새 프로토콜로 통신하려면 새로 컴파일 해서 사용하는게 좋을 듯.
- perl, python 인테페이스 api들이 배포판에 포함되어있지 않습니다. 이부분은 각 프로그래밍 언어를 사용하시는 분이 직접 찾아서 잘 설치해서 사용하시길.
여기까지입니다. 잘 사용하시길.
unicode로 바뀌면서의 문제점들에 대한 것은 시간 날 때, tutorial에 'PostgreSQL과 한국어 처리' 제목으로 차근하고 체계적으로 글을 남겨놓겠습니다.
|