비슷한 질문은 있는데 답변이 없어 질문을 올립니다.
특정 테이블에 변화(insert,update,delete)가 생기면 빈파일을 생성하는 기능을 만들어야 하는데 저장 프로시저에서 외부 파일을 생성할 수 있는지를 알고 싶습니다.
저장프로시저로 힘들다면 c로 외부함수를 만들어야 할 것 같은데 혹시 참조할 수 있는 소스나 사이트를 알고 계시는 분이 계시면 도움을 주셨으면합니다.
감사합니다.
c로 외부함수를 만드는 것은 이미 매뉴얼에 자세히 나옵니다.
자료실 보시면 C 로 구현된 함수들이 있습니다. 트리거나 룰과 연동해서 쓸 수 있습니다.
그것들을 보시면서 공부해보시면 될것 같습니다.
pl/perl, pl/python, pl/php 등에서도 될지 의문이긴 한데요.
pl/perl 에서 그 작업을 할 경우에 에러가 날 것 같습니다.
보안 문제 때문에 일반적인 트리거나 함수가 소켓을 연다거나 외부 파일에 대한 접근을 못하게 한다거나 하는 장치가 되어 있는것 같습니다.
참고로 8.0인가 8.1로 오면서 바뀌기 이전의 pl/perl에서는 강제로 소켓을 열도록 pgsql의 소스를 고쳐서 서버를 띄우면 소켓이 열리는 시점에서 에러를 내면서 죽어버립니다. 참고만 하세효