F.44. tcn — 와이즈 토토 내용의 변경 사항을 리스너에게 알리는 트리거 함수#

tcn모듈은 연결된 테이블에 대한 변경 사항을 리스너에게 알리는 트리거 기능을 제공합니다. 다음과 같이 사용해야 합니다.이후트리거각 행에 대해.

이 모듈은 고려됩니다.신뢰할 수 있는, 즉, 슈퍼유저가 아닌 사용자가 설치할 수 있습니다.만들기현재 데이터베이스에 대한 권한입니다.

하나의 매개변수만 함수에 제공될 수 있습니다.트리거 생성문이며 이는 선택사항입니다. 제공되면 알림의 채널 이름으로 사용됩니다. 생략된 경우tcn채널 이름으로 사용됩니다.

알림의 페이로드는 테이블 이름, 수행된 작업 유형을 나타내는 문자, 기본 키 열의 열 이름/값 쌍으로 구성됩니다. 각 부분은 쉼표로 다음 부분과 구분됩니다. 정규식을 사용하여 쉽게 구문 분석할 수 있도록 테이블 및 열 이름은 항상 큰따옴표로 묶이고 데이터 값은 항상 작은따옴표로 묶습니다. 삽입된 따옴표는 두 배로 표시됩니다.

확장 프로그램 사용에 대한 간단한 예는 다음과 같습니다.

test=# 테이블 tcndata 생성
테스트-#(
test(# int는 null이 아닙니다.
test(# b 날짜는 null이 아닙니다.
테스트(#c 텍스트,
test(# 기본 키 (a, b)
테스트(#);
테이블 만들기
test=# 트리거 생성 tcndata_tcn_trigger
tcndata에서 삽입, 업데이트 또는 삭제 후 테스트-#
테스트-# 각 행에 대해 Trigger_change_notification() 함수를 실행합니다.
트리거 생성
test=# tcn 듣기;
들어봐
test=# tcndata 값(1, 날짜 '2012-12-22', 'one')에 삽입,
test-# (1, 날짜 '2012-12-23', '또 다른'),
test-#(2, 날짜 '2012-12-23', '2');
삽입 0 3
페이로드 ""tcndata",I,"a"='1',"b"='2012-12-22'"가 포함된 비동기 알림 "tcn"이 PID 22770을 사용하는 서버 프로세스에서 수신되었습니다.
페이로드 ""tcndata",I,"a"='1',"b"='2012-12-23'"이 포함된 비동기 알림 "tcn"이 PID 22770을 사용하는 서버 프로세스에서 수신되었습니다.
페이로드 ""tcndata",I,"a"='2',"b"='2012-12-23'"이 포함된 비동기 알림 "tcn"이 PID 22770을 사용하는 서버 프로세스에서 수신되었습니다.
test=# update tcndata set c = 'uno' 여기서 a = 1;
업데이트 2
페이로드 ""tcndata",U,"a"='1',"b"='2012-12-22'"가 포함된 비동기 알림 "tcn"이 PID 22770을 사용하는 서버 프로세스에서 수신되었습니다.
페이로드 ""tcndata",U,"a"='1',"b"='2012-12-23'"이 있는 비동기 알림 "tcn"이 PID 22770을 사용하는 서버 프로세스에서 수신되었습니다.
test=# a = 1이고 b = 날짜 '2012-12-22'인 tcndata에서 삭제;
1개 삭제
페이로드 ""tcndata",D,"a"='1',"b"='2012-12-22'"가 포함된 비동기 알림 "tcn"이 PID 22770을 사용하는 서버 프로세스에서 수신되었습니다.

수정사항 제출

문서에 올바르지 않은 내용이 있으면 일치하지 않습니다. 특정 기능에 대한 경험이 있거나 추가 설명이 필요한 경우 이용해주세요이 양식문서 문제를 보고합니다.