PostgreSQL은 기본적으로 JDBC 드라이버를 제공하므로 소스 배포본에서 컴파일한 후 사용하면 된다. 컴파일 후의 결과물은 postgresql.jar라는 클래스인테 아시다시피 이 클래스는 OS에 종속되지 않는다. 다음은 자세한 순서이다.
Installing JDK
현제 OS에 맞는 JDK를 구하여 설치
$ tar zxvpf jdk1.1.8_ELF.V99-7-19.tar.gz -C /usr/local
PATH에 /usr/local/jdk1.1.8/bin을 추가
CLASSPATH=".;/usr/local/jdk1.1.8/lib/classes.zip"을 설정
Compiling the JDBC Driver (postgresql.jar)
JDBC 드라이버 디렉토리로 이동한다.
$ cd src/interfaces/jdbc
이때 JDK의 설치가 완전히 되어 있어야 하며 JDK1.1.x는 jdbc1을 JDK1.2.x는 jdbc2를 인자로 주어야함
$ make jdbc1
컴파일이 끝나면 postgresql.jar가 현재 디렉토리에 생성되며 이 것을 적당한 곳으로 복사한후 CLASSPATH변수에 추가.
CLASSPATH=".;/usr/local/pgsql/lib/postgresql.jar;/usr/local/jdk1.1.8/lib/classes.zip"
Testing JDBC Driver in UNIX
예제를 컴파일한 후 실행
$ javac example/basic.java
$ java example.basic jdbc:postgresql://host:port/database userid passwd
정상적으로 작동하면 postgresql.jar 만들기는 끝
Testing JDBC Driver in Windows95/98
postgresql.jar를 Windows로 내려받고 적당한 디렉토리에 복사한후 CLASSPATH에 추가
위의 basic.java를 가져와서 겈파일한 후 실행
$ javac example/basic.java
$ java example.basic jdbc:postgresql://host:port/database userid passwd
정상적으로 작동하면 postgresql.jar는 이제 Windows에서도 쓸 수 있음
주의
제가 테스트할 때는 UNIX쪽은 JDK1.1.8이었고 Windows98쪽은 JDK1.2.2였습니다. 그래서 postgresql.jar를 Windows98에서 컴파일 할 때 -deprecation을 옵션으로 주고 상황 파악 후에 다시 컴파일 하라는 메시지가 나오더군요.아마도 JDK버젼 간의 호환성 유지를 위한 배려(?)인가 봅니다.이 때는 제가 소스를 정확히 몰라서 소스 레벨의 수정으로 이 문제를 해결할 수 있는지에 대해서는 잘 모르겠습니다.
그래서 아직 성장과정에 있는 Java이려니 생각하고 양쪽 OS를 JDK1.1.8로 맞추었습니다. 그 결과 아무 문제없이 동일하게 작동하더군요.
|