여기서 정말 많은걸 물어보네요. 도움도 마니되고, 답변이 없는것도 있지만, 그래도 도움은 많이됩니다.
혹시 posgresql 에서 어떤 trigger 을 사용하는지 알수있는 쿼리문 을 아시는 지요?
ms 에서는 select TEXT from pxprogram_source where TYPE IN('TRIGGER'); 이런식으로 검색이 가능하다던데
postgresql에서는 어떻게 검색을 할수가 있죠? 알려주세요..
이런식 말씀하시는건가요?? ^-^a;;; select p_type.typname as table_name , p_trg.tgname as triger_name , p_proc.prosrc as definition from pg_trigger as p_trg left join pg_type as p_type on p_type.typrelid = p_trg.tgrelid left join pg_proc as p_proc on p_proc.proname = p_trg.tgname where p_trg.tgname = '트리거이름';
요런식도 >.<;;
select p_type.typname as table_name , p_trg.tgname as triger_name , p_proc.prosrc as definition from pg_proc as p_proc
left join pg_trigger as p_trg on p_trg.tgname = p_proc.proname
left join pg_type as p_type on p_type.typrelid = p_trg.tgrelid
where p_proc.prorettype = ( select oid from pg_type where typname = 'trigger' )
안녕하세요. 김석래님. 석래님이 올려놓으신 postgresql 답변자료로 정말 많은 도움이 되었습니다.
이번에도 이런 답변을 주시어서 감사합니다.
그런데. 답변내용을 보니 이런게 아니고요. 한번에 전체 트리거를 조회를 할수 있는것을 말합니다.
도데체 이 디비는 몇개의 트리거를 쓰는지도 잘모르겠거던요. ^^
아~~ 혹시 그리고요 아시는게있으시면, postgresql 디비를 sql manager로 다이어 그램을 그렸는데요.
이것을 er-win 에서 읽을수있는 방법은 없을까요? 아시면은 답변좀 부탁드립니다.^^
trigger 는 table 에 걸릴 것이니깐
\d 하면 되지 않나요?
컬럼 리스트 나오고 그 아래에 trigger 정보 나올텐데요..
테이블 뒤지면 될듯
where p_proc.prorettype = ( select oid from pg_type where typname = 'trigger' ) 아마 그럼 이게.. 맞을꺼 같아요 등록된 펑션중에서 리턴타입이 trigger 인것만 검색해 오는 거거든요 문제는 FK 에 대한것도 나온다는게 ^_^;;; 테이블 디파인만 봐도 될꺼 같기는 한데 ^-^;;; ------------------------------------------------------------------------------------- 음 착각했네요.. trigger name 하고 trigger 함수하고 이름이 같다라고 ㅜ.ㅜ;; select p_type.typname as table_name , p_trg.tgname as triger_name , p_proc.proname as procedure_name , p_proc.prosrc as definition from pg_proc as p_proc left join pg_trigger as p_trg on p_trg.tgfoid = p_proc.oid left join pg_type as p_type on p_type.typrelid = p_trg.tgrelid where p_proc.prorettype = ( select oid from pg_type where typname = 'trigger' );