DBLINK를 활용하여, 원격지에 데이터를 INSERT 하는 작업을 RULE적용이 가능한가요? 0 5 2,716

by playlyun [SQL Query] DBLINK POSTGRESQL RULE 분산DB [2017.04.19 14:20:29]


현재 내 DB의 A테이블에 INSERT 작업이 이루어지면,

원격지의 DB의 동일명 테이블에 INSERT 작업을 하고 싶습니다.

 

사용DB는 Postgresql 9.2.1 버전입니다.

이렇게 하는 이유는 '원격지의 DB'가 메인이고 '현재 내 DB'가 서브DB로 N개가 있습니다.

서브DB의 데이터는 주기적으로 초기화해서 보관하는 데이터를 메인 DB로 옮겨놓고, 여러 클라이언트에서 메인 DB로 접속하여 데이터를 보는 구조라서 그렇습니다.

그래서 서브DB에서 메인DB로 INSERT가 있을때마다 밀어넣을려고 하는데, 이것보다 더 좋은방법이 있을까요?

by 마농 [2017.04.19 15:03:09]

트리거를 이용하시면 실시간 반영이 가능합니다.
트리거 장점은 실시간 처리입니다.
트기거 단점은 장애 대응이 어렵다는 것입니다.
꼭 실시간일 필요가 없다면?
프로시져 만들어서 주기적으로 배치 처리하시는게 좋을 듯 합니다.


by playlyun [2017.04.19 15:40:14]

트리거로 하다가 성공했습니다. 

프로시져도 알아봐야겠네요 postgresql 에도 있는 기능인가요? 


by 주킹 [2017.04.19 15:55:35]

procedure는 없고 function으로 구현해야 합니다.


by playlyun [2017.04.19 15:57:01]

네 찾아보니 function인거같은데, 이걸 주기적으로 함수를 호출하는 방법이 있나요?


by 주킹 [2017.04.20 17:08:27]

pgagent를 설치하여 주기적으로 펑션을 호출하는 방법이 있습니다.

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입