이 문서는 지원되지 않는 버전의 PostgreSQL을위한 것입니다.
당신은에 대해 같은 페이지를 보려고 할 수 있습니다스포츠 토토 : 문서 : 17 : F.42. TCN - 리스너에게 테이블 콘텐츠 변경 사항을 알리는 트리거 기능버전 또는 위에 나열된 다른 지원 버전 중 하나입니다.

F.38. 배트맨 토토

the배트맨 토토모듈은 첨부 된 테이블의 변경 사항을 청취자에게 알리는 트리거 기능을 제공합니다. 로 사용해야합니다.이후트리거각 행.

a의 함수에 하나의 매개 변수 만 제공 될 수 있습니다.트리거 만들기명령문, 그리고 그것은 선택 사항입니다. 제공되면 알림의 채널 이름에 사용됩니다. 생략 된 경우배트맨 토토채널 이름에 사용됩니다.

알림의 페이로드는 테이블 이름, 수행 된 작업 유형 유형을 나타내는 문자, 기본 키 열의 열 이름/값 쌍으로 구성됩니다. 각 부분은 쉼표로 다음 부분과 분리됩니다. 정규 표현식을 사용하여 구문 분석을 용이하게하려면 테이블 및 열 이름은 항상 이중 인용문으로 래핑되며 데이터 값은 항상 단일 따옴표로 래핑됩니다. 임베디드 따옴표는 두 배가되었습니다.

확장자 사용의 간단한 예는 다음과 같습니다.

test =# 생성 테이블 tcndata
시험-#   (
테스트 (# int not null,
테스트 (# b 날짜가 null,
테스트 (# C 텍스트,
테스트 (# 1 차 키 (a, b)
시험(#   );
테이블을 만듭니다
test =# 생성 트리거 tcndata_tcn_trigger
tcndata에서 삽입 또는 업데이트 또는 삭제 후 테스트-#
각 행에 대한 테스트-# 실행 절차 triggered_change_notification ();
트리거를 만듭니다
test =# 듣기 tcn;
듣다
test =# tcndata 값에 삽입 (1, 날짜 '2012-12-22', 'One'),
테스트-# (1, 날짜 '2012-12-23', '다른'),
테스트-# (2, 날짜 '2012-12-23', '2');
삽입 0 3
비동기식 알림 "배트맨 토토"Payload ""배트맨 토토DATA ", I,"A "= '1", "B"='2012-12-22 ' "PID 22770을 사용한 서버 프로세스에서 수신했습니다.
비동기식 알림 "배트맨 토토"PAYLOAD ""배트맨 토토DATA ", I,"A "= '1", "B"='2012-12-23 ' "PID 22770을 사용한 서버 프로세스에서받은 것.
비동기식 알림 "배트맨 토토"PAYLOAD ""배트맨 토토DATA ", I,"A "= '2", "B"='2012-12-23 ' "PID 22770을 사용한 서버 프로세스에서 수신했습니다.
test =# 업데이트 tcndata set c = 'uno'여기서 a = 1;
업데이트 2
비동기식 알림 "배트맨 토토"Payload ""배트맨 토토DATA ", U,"A "= '1", "B"='2012-12-22 ' "PID 22770이있는 서버 프로세스에서 수신 한 알림.
비동기식 알림 "배트맨 토토"PAYLOAD ""배트맨 토토DATA ", U,"A "= '1", "B"='2012-12-23 ' "PID 22770을 사용한 서버 프로세스에서 수신 한 알림.
test =# a = 1 및 b = 날짜 '2012-12-22';
삭제 1
비동기식 알림 "배트맨 토토"이있는 페이로드 ""배트맨 토토DATA ", D,"A "= '1", "B"='2012-12-22 ' "PID 22770을 사용한 서버 프로세스에서 수신된다..