PostgreSQL이 헬퍼 기능을 제공하여 토토 트리거에서 정보를 검색합니다.
토토 트리거에 대한 자세한 내용은 참조PostgreSQL : 문서 : 15 : 40 장. 이벤트 토토 핫.
pg_event_trigger_ddl_commands
() →기록 설정
pg_event_trigger_ddl_commands
목록을 반환합니다DDLa에 첨부 된 함수에서 호출 될 때 각 사용자 조치에 의해 실행 된 명령ddl_command_end
토토 트리거. 다른 상황에서 호출되면 오류가 발생합니다.pg_event_trigger_ddl_commands
실행 된 각 기본 명령에 대해 하나의 행을 반환합니다. 단일 SQL 문장 인 일부 명령은 둘 이상의 행을 반환 할 수 있습니다. 이 함수는 다음 열을 반환합니다.
이름 | type | 설명 |
---|---|---|
classId |
OID |
카탈로그의 OID 객체는에 속합니다. |
objid |
OID |
개체 자체의 OID |
objsubid |
정수 |
서브-오브젝트 ID (예 : 열의 속성 번호) |
command_tag |
텍스트 |
명령 태그 |
object_type |
텍스트 |
객체의 유형 |
Schema_Name |
텍스트 |
스키마의 이름 객체가 속한 경우; 그렇지 않으면null . 인용문이 적용되지 않습니다. |
object_identity |
텍스트 |
객체 아이덴티티의 텍스트 렌더링, 스키마 자격. 신원에 포함 된 각 식별자는 필요한 경우 인용됩니다. |
in_extension |
부울 |
명령이 확장 스크립트의 일부인 경우 true |
명령 |
PG_DDL_COMMAND |
내부 형식으로 명령의 완전한 표현. 직접 출력 할 수는 없지만 명령에 대한 다른 정보를 얻기 위해 다른 기능으로 전달할 수 있습니다. |
pg_event_trigger_dropped_objects
() →Setof Record
pg_event_trigger_dropped_objects
명령에 의해 삭제 된 모든 개체 목록을 반환합니다.SQL_DROP
이벤트가 호출됩니다. 다른 컨텍스트에서 호출되면 오류가 발생합니다. 이 함수는 다음 열을 반환합니다.
이름 | 타입 | 설명 |
---|---|---|
classId |
OID |
카탈로그의 OID에 속한 개체 |
objid |
OID |
객체 자체의 OID |
objsubid |
정수 |
하위 객체 ID (예 : 열의 속성 번호) |
원본 |
부울 |
이것이 삭제의 루트 객체 중 하나 인 경우 true |
정상 |
부울 |
True이 객체로 이어지는 종속성 그래프에 정상적인 종속성 관계가있는 경우 |
is_temporary |
부울 |
이것이 임시 대상이라면 참으로 |
object_type |
텍스트 |
객체의 유형 |
Schema_Name |
텍스트 |
스키마 이름 객체가 속한 경우; 그렇지 않으면NULL . 인용문이 적용되지 않습니다. |
Object_Name |
텍스트 |
객체의 이름, 스키마와 이름의 조합이 객체의 고유 식별자로 사용할 수있는 경우; 그렇지 않으면NULL . 인용문은 적용되지 않으며 이름은 스키마 자격이 없습니다. |
object_identity |
텍스트 |
객체 아이덴티티의 텍스트 렌더링, 스키마 자격. 신원에 포함 된 각 식별자는 필요한 경우 인용됩니다. |
address_names |
텍스트 [] |
와 함께 배열object_type andaddress_args ,pg_get_object_address 동일하게 명명 된 객체를 포함하는 원격 서버에서 객체 주소를 재현하는 함수 |
address_args |
텍스트 [] |
보완address_names |
thepg_event_trigger_dropped_objects
함수는 다음과 같은 이벤트 트리거에서 사용할 수 있습니다 :
함수 만들기 test_event_trigger_for_drops () event_trigger language plpgsql을 $$로 반환합니다 선언하다 OBJ 레코드; 시작하다 select * from pg_event_trigger_dropped_objects ()의 obj의 경우 고리 통지 ' % 하락한 물체 : % %. % %', tg_tag, obj.object_type, obj.schema_name, obj.object_name, obj.object_identity; 엔드 루프; 끝; $$; 이벤트 트리거 테스트 _event_trigger_for_drops를 만듭니다 SQL_DROP에서 함수 실행 test_event_trigger_for_drops ();
표 9.102a에 대한 정보 제공table_rewrite
토토가 방금 호출되었습니다. 다른 상황에서 호출되면 오류가 발생합니다.
표 9.102. 테이블 다시 작성 정보 기능
이 기능은 다음과 같은 이벤트 트리거에서 사용할 수 있습니다.
함수 만들기 test_event_trigger_table_rewrite_oid () event_trigger를 반환합니다 언어 plpgsql AS $$ 시작하다 통지 통지 '이유를위한 테이블 %를 다시 쓰기 %', pg_event_trigger_table_rewrite_oid () :: regclass, PG_EVENT_TRIGGER_TABLE_REWRITE_RISEANT (); 끝; $$; 이벤트 트리거 테스트 _table_rewrite_oid를 만듭니다 table_rewrite에서 함수 실행 test_event_trigger_table_rewrite_oid ();
문서에 올바른 것이없는 것이 있으면 일치하지 않습니다. 특정 기능에 대한 귀하의 경험 또는 추가 설명이 필요합니다. 사용이 양식문서 문제를보고하려면