감사합니다table_rewrite
이벤트, 유지 보수 Windows에서 다시 작성할 수있는 표 다시 작성 정책을 구현할 수 있습니다.
그러한 정책을 구현하는 예는 다음과 같습니다.
기능 작성 또는 교체 No_rewrite () event_trigger를 반환합니다 언어 plpgsql AS $$ --- --- 로컬 테이블 재 작성 정책 구현 : --- public.foo는 다시 쓰는 것이 허용되지 않습니다 --- 다른 테이블은 오전 1시에서 오전 6시 사이에만 다시 쓰는 것이 허용됩니다. --- 그들이 100 블록 이상을 가지고 있지 않는 한 --- 선언하다 table_oid oid : = pg_event_trigger_table_rewrite_oid (); current_hour 정수 : = 추출물 (current_time의 '시간'); 페이지 정수; max_pages 정수 : = 100; 시작하다 if pg_event_trigger_table_rewrite_oid () = 'public.foo':: regclass 그 다음에 예외 제외 '당신은 테이블 %를 다시 쓸 수 없습니다', table_oid :: regclass; 끝 IF; pg_class에서 oid = table_oid; 페이지 max_pages 인 경우 그 다음에 예외적 인 Raving 'Red는 % 페이지 미만의 테이블에만 허용됩니다', max_pages; 끝 IF; 현재 _hour가 1과 6 사이가 아닌 경우 그 다음에 '오전 1시에서 오전 6시 사이에만 허용 된 재 작성'예외 제외; 끝 IF; 끝; $$; 이벤트 트리거 no_rewrite_allowed를 만듭니다 table_rewrite에서 기능 no_rewrite (); 실행
문서에 올바른 것이 없으면 일치하지 않습니다. 특정 기능에 대한 귀하의 경험 또는 추가 설명이 필요합니다. 사용이 양식문서 문제를보고하려면