postgresql DBLINK 예제

POSTGRESQL 2014. 10. 27. 11:18
postgreSQL 의 오브젝트 구조는 하나의 클러스터 안에 2개 이상의 데이터베이스를 운영할 수 있는 구조입니다.
하지만 데이터베이스간의 직접적인 접근을 불가능하므로 다른 데이터베이스에 접근하려면 dblink 또는 9.3 버젼이상에서 지원하는 foreign DATA wrapper 라는 contrib 모듈을 사용해야 합니다.
아래는 dblink 모듈에 대한 예제입니다.

1. dblink 라이브러리 파일 생성
$ cd .src/contrib/dblink
$ make
$ make install


2. extension 생성
test=# create extension dblink;
CREATE extension


3. dblink 커넥션 생성 및 해제
test=# select dblink_connect('db링크이름','hostaddr=호스트IP port=호스트PORT dbname=DB명 user=유저명 password=비밀번호');
 dblink_connect 
----------------
 OK
(1 row)
-- 조회(as 뒤에 select결과에 대한 type을 column별로 지정)
test=# select * from dblink('db2', 'select * from test') as t1(c1 char);
 c1 
----
 d
(1 row)
-- 접속해제
test=# select dblink_disconnect('db2');
 dblink_disconnect 
-------------------
 OK
(1 row)

'POSTGRESQL' 카테고리의 다른 글

table inheritance(상속)  (0) 2014.10.28
max_connections 와 커널파라메터  (0) 2014.10.27
gdb로 postgresql backend process 디버깅하기  (0) 2014.10.26
table/index bloat 점검하기  (0) 2014.10.26
pg_trgm 설치하기  (1) 2014.10.26