/* DB LINK 사용하기 위해서는 DB LINK EXTENSION 설치를 먼저 해야 한다. 스키마 지정은 하나만 할수 있어서 필요한 스키마에 설치후 다른 스키마에서 사용할 경우는 ALTER 명령어로 스키마를 변경해 줘야 한다. */
/* DB LINK EXTENSION 설치 */
/* 1.EXTENSION 신규 생성 */
CREATE EXTENSION IF NOT EXISTS dblink SCHEMA test;
/* 2.EXTENSION 스키마 변경 */
ALTER EXTENSION dblink SET SCHEMA public;
/* 3.EXTENSION 삭제 */
DROP EXTENSION dblink;
/* 4. dblink_connect 원격접속 세션 연결 */
SELECT dblink_connect('postgres', 'hostaddr=192.168.1.26 port=5432 dbname=naqs user=user password=pwd');
/*5. 원격데이터 쿼리 조회 (필드명1 필드타입,필드명2 필드타입 ..반환되는 필드타입을 지정해 줘야 한다.)*/
SELECT * FROM dblink('postgres', 'SELECT * FROM tn_sys_mssage_l') AS tdname (fild1 varchar(40),
fild2 varchar(400),fild3 varchar(400),fild4 varchar(400),fild5 varchar(400),fild6 timestamp,fild7 varchar(400),fild8 timestamp )
WHERE fild1 like 'msg.err%'
/*6.연결한 원격 db종료 */
Select dblink_disconnect('postgres');
/*7. postgresql dblink 조인 */
SELECT *
FROM tn_sys_mssage_l tb1
LEFT JOIN (
SELECT * FROM dblink('postgres', 'SELECT * FROM tn_sys_mssage_l') AS tdname (fild1 varchar(40),
fild2 varchar(400),fild3 varchar(400),fild4 varchar(400),fild5 varchar(400),fild6 timestamp,fild7 varchar(400),fild8 timestamp )
) AS tb2 ON tb2.fild1 = tb1.fild1 ;
'데이터베이스 > Postgresql' 카테고리의 다른 글
[PostgreSQL] Dblink insert,update (0) | 2021.09.07 |
---|---|
[PostgreSQL] odbc fdw Tibero 외부서버연결 (0) | 2021.08.17 |
[PostgreSQL] 시간 데이터타입 쿼리/함수 (0) | 2021.08.07 |
[PostgreSQL] 시퀀스 생성 및 사용 (0) | 2021.08.07 |
[PostgreSQL] postgresql 인덱스 엔티티명,테이블,인덱스이름 조회 (0) | 2021.08.01 |
댓글