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 7509 게시물 읽기
No. 7509
postgresql 트리거 관련입니다.
작성자
포스트
작성일
2008-08-25 16:27
조회수
6,509

여기서 정말 많은걸 물어보네요. 도움도 마니되고, 답변이 없는것도 있지만, 그래도 도움은 많이됩니다.


혹시 posgresql 에서 어떤 trigger 을 사용하는지 알수있는 쿼리문 을 아시는 지요?


ms 에서는 select TEXT from pxprogram_source where TYPE IN('TRIGGER'); 이런식으로 검색이 가능하다던데


postgresql에서는 어떻게 검색을 할수가 있죠? 알려주세요..


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

이런식 말씀하시는건가요?? ^-^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 = '트리거이름';

김석래님이 2008-08-25 17:22에 작성한 댓글입니다. Edit
요렇게나 ^-^;;;;;;

select p_type.typname as table_name , p_trg.tgname as triger_name , p_proc.prosrc as definition from pg_type as p_type
left join pg_trigger as p_trg on p_trg.tgrelid = p_type.typrelid
left join pg_proc as p_proc on p_proc.proname = p_trg.tgname
where p_type.typname = '테이블이름';
김석래님이 2008-08-25 17:26에 작성한 댓글입니다. Edit

요런식도 >.<;;


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' )

김석래님이 2008-08-25 17:37에 작성한 댓글입니다. Edit

안녕하세요. 김석래님. 석래님이 올려놓으신 postgresql  답변자료로 정말 많은 도움이 되었습니다.

이번에도 이런 답변을 주시어서 감사합니다.


그런데. 답변내용을 보니 이런게 아니고요. 한번에 전체 트리거를 조회를 할수 있는것을 말합니다.

도데체 이 디비는 몇개의 트리거를 쓰는지도 잘모르겠거던요. ^^


아~~ 혹시 그리고요 아시는게있으시면, postgresql 디비를 sql manager로 다이어 그램을 그렸는데요.


이것을 er-win 에서 읽을수있는 방법은 없을까요? 아시면은 답변좀 부탁드립니다.^^

포스트님이 2008-08-25 19:05에 작성한 댓글입니다. Edit

trigger 는 table 에 걸릴 것이니깐


\d 하면 되지 않나요?


컬럼 리스트 나오고 그 아래에 trigger 정보 나올텐데요..


테이블 뒤지면 될듯

tyro님이 2008-08-26 03:12에 작성한 댓글입니다. Edit

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' )


아마 그럼 이게.. 맞을꺼 같아요

등록된 펑션중에서 리턴타입이 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' );

김석래님이 2008-08-26 09:09에 작성한 댓글입니다.
이 댓글은 2008-08-26 09:56에 마지막으로 수정되었습니다. Edit
[Top]
No.
제목
작성자
작성일
조회
7512VACUUM처리시간에 대해서... 어려워서.;;; [4]
초보
2008-09-02
6458
7511원격접속에대해...고수님들 헬미요 ㅠㅠ [2]
김성태
2008-08-28
6650
7510tsquery 질문드립니다. [2]
tyro
2008-08-28
5906
7509postgresql 트리거 관련입니다. [6]
포스트
2008-08-25
6509
7508도와주세요!!! PHP, PostgreSQL 왕초보자입니다. [2]
iamgimgw
2008-08-24
6654
7507pgadmin에서 primary key를 어떻게 입력하는지.. [1]
김동만
2008-08-22
8097
7506텍스트문자열 날짜검색 [2]
궁굼이
2008-08-22
6267
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.017초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다