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 8935 게시물 읽기
No. 8935
프로그램을 실행했을때 변경된 테이블을 찾고싶습니다.
작성자
히말라야새(히말라야새)
작성일
2012-02-03 16:45
조회수
8,812

postgresql은 처음이라 모르는게 너무 많네요 ㅠ

변경된 테이블(insert, update, delete)이 있으면 변경된 테이블명을 log 테이블에 insert하고 싶습니다.

지금현재 하려는 방법은 모든 테이블에 trigger를 걸어서 log테이블에 insert를 하려고 하는데

다른 좋은 방법이 있는지 궁금하구요. 하나의 펑션을 만들어서 각각의 테이블에 trigger를 만들 수 있는지 궁금합니다.

 

감사합니다. 모두 좋은하루되세요~

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

 일반적으로 처음 접하는 낯선 환경의 시스템을 분석하기 위해서 로그를 만든다면, 

그냥 서버 로그를 쌓는 편이 비용이 쌉니다. 

postgresql.conf 에서 log_statement 값을 mod 로 지정하면, insert/update/delete 관련 로그가 쌓입니다. 

그 로그를 분석하는 것이 더 낳을 것 같네요. 

 

-----

만든 하나의 함수를 가지고, 여러 테이블에 트리거로 사용하는 방법도 틀릴 것이 없고, 

그저 plpgsql 언어로 함수를 만든다면, 트리거 함수에서 사용하는 예약어들이 있습니다. 

이 놈들을 적절히 사용하면 될 것 같네요. 

http://www.postgresql.org/docs/9.1/static/plpgsql-trigger.html

 

김상기(ioseph)님이 2012-02-06 08:48에 작성한 댓글입니다.

정말감사합니다. 안그래도 막막했는데 새로운 해결책을 찾은거 같네요.

히말라야새(히말라야새)님이 2012-02-06 09:54에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
8946psql 상에서의 한글깨짐현상!! [4]
구자은
2012-02-07
13308
8941rank없이 테이블의 상위 1~5등 어떻게 가져올까요? [1]
박노성
2012-02-06
9829
8940어떻게 해야 인덱스를 타는 건가요? [3]
현승
2012-02-05
8661
8935프로그램을 실행했을때 변경된 테이블을 찾고싶습니다. [2]
히말라야새
2012-02-03
8812
8934top 명령어로 본 postgresql 프로세스 질문 [4]
facy
2012-02-02
8330
8932목록을 이렇게 호출하고 싶습니다. [1]
이혜미
2012-02-01
7443
8931rule에 의한 데이터 처리 문제입니다. [1]
문병주
2012-02-01
8574
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.018초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다