PPAS 는 Postgres Plus Advanced Server 의 약자이고, EnterpriseDB 라는 회사에서 오픈 소스인 PostgreSQL 에다가 오라클 기능을 추가시킨 상용 버전 입니다.
서버는 192.168.X.Y 이고, 포트는 5444, 사용자/패스워드는 myid/mypasswd 로 설정했습니다. PostgreSQL 을 지원하는 DB 연결 프로그램으로 연결해보시면 다음과 같은 그림이 보일겁니다.
X
Database 밑에 mydb 가 있고, 다시 밑으로 Schemas 밑에 Service 가 있습니다. 우리가 사용할 테이블들은 Service 스키마라는 객체에 보이고 있습니다. 테이블의 특정 컬럼을 참조할 때 select “userId” from Service.”AAA” 와 같이 스키마를 명시해야 합니다. PostgreSQL 에서는 DB 설정할 때 기본 스키마를 지정할 수 있습니다. 기본은 “public” 으로 되어 있는데, 만일 insert into AAAA values (‘111’) 라고 실행하면 public 스키마의 AAA 테이블에 insert 를 합니다.
그리고, PostgreSQL 은 “case sensitive” 한 특성이 있어서, select userId from Service.AAAA 라고 쿼리문을 실행하면 자동적으로 소문자로 변경되어서 select userid from service.aaaa 가 실행됩니다. 결과값은 그런 테이블이 없다고 나오겠죠. 대문자가 포함된 쿼리문들은 항상 double quation(“”) 을 양쪽에 붙여야 합니다.
- 스키마 간의 join : PostgreSQL 에서는 다른 DB 끼리는 join 을 사용하지 못하고, 스키마끼리는 가능하다고 합니다.
- DAO 클래스의 쿼리문
기존 :
sql = "delete from AAA where lastUseTime < ?";
jdbcTemplate.update(sql, new Object[] { limitTime });
변경 :
sql = "delete from \"Service\".\"AAA\" where \"lastUseTime\" < ?";
jdbcTemplate.update(sql, new Object[] { limitTime });
- Datasouce 설정 : data-access.properties 는 다음과 같이 설정합니다.
jdbc.driverClassName=org.postgresql.Driver jdbc.url=jdbc:postgresql://192.168.X.Y:5444/mydb jdbc.username=myid jdbc.password=mypasswd |
- JDBC 드라이버 : 9.2-1004-jdbc4. PostgreSQL 최신 버전은 9.3 이지만(2014.1.8 일 기준) 9.2 서버를 사용할 경우
<dependency> <groupId>org.postgresql</groupId> <artifactId>postgresql</artifactId> <version>9.2-1004-jdbc4</version> </dependency> |
다음은 참고로 했던 사이트들의 링크입니다.
- PostgreSQL 의 역사와 구조를 간단하게 설명한 개발자 블로그
http://helloworld.naver.com/helloworld/227936
- PostgreSQL 의 create table 매뉴얼
http://www.postgresql.org/docs/9.2/static/sql-createtable.html
- PostgreSQL 의 data type 매뉴얼
http://www.postgresql.org/docs/9.2/static/datatype.html
- 다른 DB 와 연결을 위한 dblink 설명 블로그 글
http://redtrain.tistory.com/811
- PostgreSQL 관리자 명령어 설명 블로그 글
http://blog.naver.com/PostView.nhn?blogId=orion_203&logNo=130036311589
- PPAS 9.2 install 가이드 문서
http://www.enterprisedb.com/docs/en/9.2/instguide/Table%2520of%2520Contents.htm
- PPAS 9.2 server 가이드 문서
http://www.enterprisedb.com/docs/en/9.2/asguide/Table%2520of%2520Contents.htm
'Engineering > DB' 카테고리의 다른 글
MySQL 서버 설정값들 (0) | 2014.06.11 |
---|---|
MySQL auto increment 를 0 으로 설정할때, insert 하기 (0) | 2014.03.21 |
MSSQLServer 에서 MySQL 로 DB migration 시 참고 (0) | 2013.09.03 |
mysql create procedure / function 에서 발생하는 오류들 (2) | 2013.07.10 |
MySQL subquery 에서 limit 사용 (0) | 2013.07.05 |