티스토리 뷰

xml2 는 PostgreSQL에서 xpath관련 함수를 제공합니다.
버전 8.4에서는 없어지고 Posgres 내부에서 표준 API를 제공한다고 8.3 버전 Document에 나와있습니다.

어쨌거나...

소스 코드를 제가 사용하고 있는 배포판(Redhat AS4와 Fedora8)에 맞도록 컴파일해 사용할 능력(service로 등록한다든지...)은 없기 때문에 주로 배포판에 맞도록 컴파일된 (주로 binary 폴더에 들어있는) 버전으로 Redhat Enterprise AS4 에 PosrgreSQL 을 설치했습니다. 그런데 이 배포판에는 xml2 라이브러리가 포함되어 있지 않았습니다.
궁여지책으로 다음과 같은 방법을 사용하였습니다.

소스코드를 다운 받아서 /usr/local 에 저장합니다.
tar xvfz postgresql-8.3.0.tar.gz
해서 압축을 풀고,
압축 풀린 파일들이 있는 /usr/local/postgresql-8.3.0/에 가서
./configure
./make
./make install을 해주면
/usr/local/pgsql에 설치가 됩니다.

다음은 xml2라이브러리 설치입니다.
/usr/local/postgresql-8,3,0/contrib/xml2
에 가서
make install
하면
/usr/local/pgsql/lib 에 pgxml.so 파일이
/usr/local/pgsql/share/contrib/ 에 pgxml.sql 과 unistall_pgxml.sql파일이 생성됩니다.

여기까지 하고,  psql -d 데이타베이스이름 -f pgxml.sql 하면 /usr/local/pgsql에 설치된 Posgres의 해당 데이터베이스에서 함수를 사용할 수 있습니다.

하지만 Redhat AS4에서 컴파일된 Binary에서 사용하는 것이 목적이기 때문에
라이브러리 파일인 pgxml.so파일은 /usr/lib로
sql 스크립트 파일인 pgxml.sql과 unistall_pgxml.sql 은
/usr/share/pgsql/contrib로 복사해줍니다. 그리고
pgxml.sql의 내용을 수정해 주어야 이 함수들을 설치할 수 있습니다.

이 파일을 열어서 &libdir/pgxml을 /usr/lib/pgxml로 바꾸어주면, 라이브러리를 찾아서 함수들을 사용할 수 있도록 해줍니다.

pgAdmin III 에서 확인해 보시면 해당 함수가 설치되어 있는 것을 확인하실 수 있습니다.

앗싸.





댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/04   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
글 보관함