티스토리 뷰

데이터베이스/PostgreSQL

dblink 설치 및 사용법

메모하는습관 2010.08.11 11:52
우선 dblink 모듈이 설치 되어 있지 않다면
http://www.postgresql.org/ftp/binary/ 또는 ftp://ftp.postgresql.org/pub/binary/ 에서
postgresql 버전 과 os에 맞는 postgresql-contrib 를 다운 받아서 설치 한다.

예를 들어 redhat 64bit 이고 postgresql 8.4.4 버전을 사용한다면
wget http://wwwmaster.postgresql.org/download/mirrors-ftp/binary/v8.4.4/linux/rpms/redhat/rhel-5-x86_64/postgresql-contrib-8.4.4-1PGDG.rhel5.x86_64.rpm

또는

wget ftp://ftp.postgresql.org/pub/binary/v8.4.4/linux/rpms/redhat/rhel-5-x86_64/postgresql-contrib-8.4.4-1PGDG.rhel5.x86_64.rpm


postgresql-contrib를 다운 받는다.

그리고

rpm -ivh postgresql-contrib-8.4.4-1PGDG.rhel5.x86_64.rpm 실행 하여 설치 한다.
이로서 dblink 모듈 설치는 끝났다.
설치된 모듈을 사용하기 위해서는 function을 생성 해야 한다.

/usr/share/pgsql/contrib/dblink.sql 을 psql을 사용하거나
pgadmin3 같은 쿼리툴을 사용해서 실행 한다.

여기까지 끝났다면 dblink를 사용할 수 있다.

(* 9.1 또는 그 이후 버전을 사용 중이신데 위의 말대로 되지 않는다면

CREATE EXTENSION dblink; 를 pgadmin3와 같은 쿼리툴에서 실행해 보세요.)



dblink 사용법은 다음과 같다.

-- 먼저 연결 하고자 하는 db 서버에 연결 한다.
SELECT dblink_connect('연결명','hostaddr=서버주소 port=포트 dbname=데이터베이스이름 user=계정ID password=비밀번호');

-- example 
SELECT dblink_connect('testconnect', 'hostaddr=192.168.0.100 post=5432 dbname=testdb user=postgres password=1111');
-- 위와 같이 실행하여 서버에 연결이 되었다면 OK를 반환 할 것이다

-- dblink 가 연결 되었다면 아래와 같이 쿼리를 할 수 있다.
SELECT * FROM dblink('연결명','실행할 쿼리문') AS t1 (반환되는 필드 타입 명시)

-- example 
SELECT * FROM dblink('testconnect', 'select field1, field2 from test_table') AS t1 (field1 integer, field2, bigint)

-- dblink를 다 사용했다면 아래 처럼 dblink의 연결을 끊어 준다.
SELECT dblink_disconnect('연결명')



댓글
  • 프로필사진 guest 안녕하세요? postgresql 관련 자료를 검색하다가 들르게 되었습니다..

    지금 postgresql을 사용을 시작하게 되면서 dblink에 관한 정보를 구하고 있었는데요,
    저 같은 경우엔 postgresql을 window 버전으로 다운받아서 쓰고 있습니다.
    그래서 이 글에서 명기된 dblink 모듈을 다운받으려고 상기의 웹페이지에 가서 검색을 해봤는데
    windows용 dblink module은 없는 것 같더라구요..

    혹시 windows로 postgresql을 깔았을 때 oracle과 dblink 하는 법을 알고 계시다면 답변 주실수 있으신지요.
    (블로그는 자주 찾아보고 많은 도움 구하고 있어서 이 글에 답변을 해주신다면 바로 확인 할 수 있을 것 같습니다.)

    아무튼 여러 정보들 보고 항상 많은 것들 배우고 있습니다. 감사합니다.
    2012.04.04 15:45
댓글쓰기 폼