서로 다른 DB를 연결하기 위해서는 같은 시스템 내에 있어도 dblink를 이용하여 연결해야 한다.
dblink란, 데이터베이스 세션 내에 다른 데이터베이스로의 연결을 지원하는 Extension Module을 이야기 하며 Extension Module을 사용하기 위해서는 해당 모듈을 데이터베이스에 추가하여 사용하게 된다.
아래에서는 PostgreSQL 데이터베이스와 PostgreSQL 데이터베이스간에 dblink를 사용하는 방법이다.
# cd /postgres/9.4/share/postgresql/extension # ls –al | grep dblink
postges=# create extension dblink;
postgres=# select dblink_connect('dblink-test','hostaddr=127.0.0.1 port=5432 dbname=postgres user=postgres password=password'); dblink_connect ---------------- OK (1 row)
dblink_connect 설명은 아래와 같다.
select dblink_connect(‘연결명’, ‘hostaddr=서버IP, port=포트 dbname=DB명 user=계정 password=비밀번호’);
세션단위로 연결이 되기 때문에 위와 같이 connection 명을 등록하여 설정해도 세션이 끊어지면 dblink도 끊어지며 새로 다시 맺어야 한다.
Select dblink(‘3)에서 생성한 연결명,’ 수행할 SQL문’) AS ex_t(필드명1 필드타입1, 필드명2 필드타입2, … 반환되는 필드 타입 지정);
혹은
Select dbink(‘hostaddr=서버IP, port=포트 dbname=DB명 user=계정 password=비밀번호’, ’ 수행할 SQL문’) AS ex_t(필드명1 필드타입1, 필드명2 필드타입2 … );
Select dblink_disconnect(‘연결명’);
- 강좌 URL : http://www.gurubee.net/lecture/2961
- 구루비 강좌는 개인의 학습용으로만 사용 할 수 있으며, 다른 웹 페이지에 게재할 경우에는 출처를 꼭 밝혀 주시면 고맙겠습니다.~^^
- 구루비 강좌는 서비스 제공을 위한 목적이나, 학원 홍보, 수익을 얻기 위한 용도로 사용 할 수 없습니다.