database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
ㆍPostgreSQL
Firebird
Oracle
Informix
Sybase
MS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
PostgreSQL Q&A 9752 게시물 읽기
No. 9752
dblink? 방법론
작성자
사랑
작성일
2017-01-11 14:59
조회수
9,443

 

우여곡절 하나씩 해결 하고 있네요

지난주까지 multi master 에서 single  slave 구조로 Replication 을 성공했습니다.

이번에는

 

Slave  쪽에

데이타베이스 3개가 생성이 되어있는데요.

slave1_db, slave2_db, slave3_db 

각각에는 tb_user 라는 테이블이 있습니다.

제가 하고 싶은건

쿼리 하나로 세개의 데이타베이스의 tb_user 내용를 모두 가지고 오고 싶거든요.

dblink 를 사용하는건지 아니면 어떻게 해야하는지 

방법론 부탁드려요

 

이 글에 대한 댓글이 총 1건 있습니다.

PostgreSQL 개발그룹에서는 공식적으로는 이 부분에 대해서 SQL/MED 라는 규약을 따르도록 권장합니다.

이를 사용하려면, postgres_fdw 확장 모듈부터 설치를 해야 하고요.

다음

http://postgresql.kr/docs/current/sql-createserver.html

페이지를 시작으로, 해당 문서 관련 항목 페이지들을 쭉 따라 읽어가면서

최종적으로 사용하는 데이터베이스에 외부 테이블을 만들어서,

마치 내부에 있는 테이블로 사용하는 것입니다.

통상 하나의 외부 서버를 하나의 스키마 안에 같은 이름으로 두어,

 

select * from user1
union all
select * from node2.user1
union all
select * from node3.user1
 

이런 형태의 쿼리로 사용합니다.

 

dblink 확장 모듈이 아직 있는 이유는 이 외부 테이블 기반 원격 서버 외부 테이블 사용법이 쿼리 최적화에 좋은 성능이 나오지 않기 때문입니다.

개발자가 확실하게 원격서버에서 실행하는 쿼리의 최적화에 관여하는 경우라면, dblink 모듈에서 제공하는 원격 쿼리를 실행하는 것이 성능 측면에서는 더 낫기 때문입니다.

멋지게 꾸려보세요.

기회가 닿는다면, 작업 내역을 공유해 주시면 많은 분들이 도움을 받겠죠.

 

김상기(ioseph)님이 2017-01-11 16:02에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
9756cpu사용량 로깅 [1]
ND
2017-01-16
9304
9754FDW 생성 테이블 접근 권한 확인은 어떻게 하나요? [3]
김은경
2017-01-16
8557
9753pg에서 after트리거 문의 [2]
지현명
2017-01-16
8505
9752dblink? 방법론 [1]
사랑
2017-01-11
9443
9751pgpool watchdog을 통한 vip 설정 방법 질문이요! [3]
Dean
2017-01-11
11351
9750Slony-I Replication 참고자료 [1]
사랑
2017-01-10
8180
9749PostgreSQL 인스턴스 명 [1]
고래
2017-01-04
9222
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.020초, 이곳 서비스는
	PostgreSQL v16.4로 자료를 관리합니다