postgresql은 처음이라 모르는게 너무 많네요 ㅠ
변경된 테이블(insert, update, delete)이 있으면 변경된 테이블명을 log 테이블에 insert하고 싶습니다.
지금현재 하려는 방법은 모든 테이블에 trigger를 걸어서 log테이블에 insert를 하려고 하는데
다른 좋은 방법이 있는지 궁금하구요. 하나의 펑션을 만들어서 각각의 테이블에 trigger를 만들 수 있는지 궁금합니다.
감사합니다. 모두 좋은하루되세요~
일반적으로 처음 접하는 낯선 환경의 시스템을 분석하기 위해서 로그를 만든다면,
그냥 서버 로그를 쌓는 편이 비용이 쌉니다.
postgresql.conf 에서 log_statement 값을 mod 로 지정하면, insert/update/delete 관련 로그가 쌓입니다.
그 로그를 분석하는 것이 더 낳을 것 같네요.
-----
만든 하나의 함수를 가지고, 여러 테이블에 트리거로 사용하는 방법도 틀릴 것이 없고,
그저 plpgsql 언어로 함수를 만든다면, 트리거 함수에서 사용하는 예약어들이 있습니다.
이 놈들을 적절히 사용하면 될 것 같네요.
http://www.postgresql.org/docs/9.1/static/plpgsql-trigger.html
정말감사합니다. 안그래도 막막했는데 새로운 해결책을 찾은거 같네요.