그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을 사용하는 서버 프로세스에서 수신되었습니다.
문서에 올바르지 않은 내용이 있으면 일치하지 않습니다. 특정 기능에 대한 경험이 있거나 추가 설명이 필요한 경우 이용해주세요이 양식문서 문제를 보고합니다.