Innovating today, leading tomorrow

OpenSQL_Technical Guide
[OpenSQL] dblink

[OpenSQL] dblink

dblink 개요

dblink 이란?

dblink원격 데이터베이스에서 쿼리(일반적으로 SELECT이지만 행을 반환하는 모든 SQL 문일 수 있음)를 실행합니다.

두 개의 text인수가 주어지면 첫 번째 인수는 영구 연결의 이름으로 먼저 조회됩니다. 발견되면 해당 연결에서 명령이 실행됩니다. 찾을 수 없는 경우 첫 번째 인수는 for 와 같이 연결 정보 문자열로 취급되며 dblink_connect표시된 연결은 이 명령이 실행되는 동안만 이루어집니다.

– PostgreSQL 공식 문서 –

현재 데이터베이스 세션 내에서 물리적으로 다른 곳에 위치한 데이터베이스 연결을 지원하는 확장성 모듈이며, extension 설치 후 사용자 설정에 맞춰 사용하고 삭제하지 않는 이상 재설치는 불가합니다.
스키마 지정이 없으면 defualt로 public에 설치가 되므로 스키마 별로 사용이 필요한 경우 ALTER로 변경하거나 삭제 후 재설치하여 사용해야 합니다.

Extension 사용법

CREATE EXTENSION [ IF NOT EXISTS ] extension_name
[WITH] [SCHEMA schema_name]
[VERSION version]
[FROM old_version]

dblink 문법

SELECT dblink_connect(‘[id]’,
‘hostaddr = [address]
user = [user]
password = [password]
dbname = [db_name]
port = [port]’)

SELECT [result_name].* FROM dblink(‘[dblink_name]’, ‘[query]’) AS result_name

dblink 옵션

옵션설명
iddblink 사용을 위한 link 명
address연결할 원격 DB의 host 주소
user연결할 원격 DB의 user 명
password연결할 원격 DB user의 비밀번호
db_name연결할 원격 DB 명
port연결할 원격 DB의 포트 번호
result_name원격 DB에 날린 쿼리 결과에 대한 임의의 이름
dblink_name위에서 정의한 DB link 명
query원격 DB에 날릴 쿼리
schema원격 DB에 접근하여 쿼리를 날릴 스키마
  • 주의 사항
    • SELECT dblink에서 SQL을 수행한 후 ‘ AS EX(필드명1 필드타입1, 필드명2 필드타입2 …… ) ‘ 으로 SELECT 에서 반환되어 표시할 컬럼의 필드타입을 지정해주어야함.
    • dblink 사용을 위해 주체가 되는 디비 유저가 superuser 권한을 가지고 있어햐 함
    • extension은 1개 DB당 1개의 LINK만 설치되므로 다른 스키마에서 사용하기 위해서는 EXTENSION 을 전부 ALTER 해야함.

설치 및 테스트

CREATE EXTENSION

$ psql -U postgres
postgres=# CREATE EXTENSION DBLINK;
postgres=# dx

DB LINK 사용

postgres=# SELECT dblink_connect(‘postgres’, ‘host=192.168.1.144 user=postgres password=1234 dbname=postgres port=5432’);
postgres=# select * from dblink(‘postgres’,’select * from t3′) as test(c char(5));
postgres=# SELECT dblink_disconnect(‘postgres’);

지금까지 ‘PostgreSQL의 dblink’에 관해 알아보았습니다

‘PostgreSQL의 pg_cron’를 바로 이어서 확인해보세요!

광고성 정보 수신

개인정보 수집, 활용 목적 및 기간

(주)티맥스티베로의 개인정보 수집 및 이용 목적은 다음과 같습니다.
내용을 자세히 읽어보신 후 동의 여부를 결정해 주시기 바랍니다.

  • 수집 목적: 티맥스티베로 뉴스레터 발송 및 고객 관리
  • 수집 항목: 성함, 회사명, 회사 이메일, 연락처, 부서명, 직급, 산업, 담당업무, 관계사 여부, 방문 경로
  • 보유 및 이용 기간: 동의 철회 시까지

※ 위 개인정보 수집 및 이용에 대한 동의를 거부할 권리가 있습니다.
※ 필수 수집 항목에 대한 동의를 거부하는 경우 뉴스레터 구독이 제한될 수 있습니다.

개인정보의 처리 위탁 정보
  • 업체명: 스티비 주식회사
  • 위탁 업무 목적 및 범위: 광고가 포함된 뉴스레터 발송 및 수신자 관리
 

개인정보 수집 및 이용

개인정보 수집, 활용 목적 및 기간

(주)티맥스티베로의 개인정보 수집 및 이용 목적은 다음과 같습니다. 내용을 자세히 읽어보신 후 동의 여부를 결정해 주시기 바랍니다.

  • 수집 목적: 티맥스티베로 뉴스레터 발송 및 고객 관리
  • 수집 항목: 성함, 회사명, 회사 이메일, 연락처, 부서명, 직급, 산업, 담당업무, 관계사 여부, 방문 경로
  • 보유 및 이용 기간: 동의 철회 시까지

※ 위 개인정보 수집 및 이용에 대한 동의를 거부할 권리가 있습니다.
※ 필수 수집 항목에 대한 동의를 거부하는 경우 뉴스레터 구독이 제한될 수 있습니다.

개인정보의 처리 위탁 정보

  • 업체명: 스티비 주식회사
  • 위탁 업무 목적 및 범위: 광고가 포함된 뉴스레터 발송 및 수신자 관리
  •