듣기 - 알림 들어
듣기채널
듣기
현재 세션을 알림 채널에서 리스너로 등록합니다.채널
. 현재 세션이 이미이 알림 채널의 리스너로 등록 된 경우 아무것도 수행되지 않습니다.
명령이있을 때마다Notify
이 세션이나 동일한 데이터베이스에 연결된 다른 세션에서 호출됩니다. 현재 알림 채널에서 현재 듣고있는 모든 세션이 통지되고 있으며 각각은 연결된 클라이언트 응용 프로그램에 알립니다..채널
주어진 알림 채널에 대해 세션을 등록 할 수 있습니다.Unlisten
명령. 세션의 청취 등록은 세션이 종료되면 자동으로 지워집니다.
11431_11521PostgreSQL응용 프로그램 프로그래밍 인터페이스가 사용합니다. 와 함께libpq라이브러리, 응용 프로그램 문제듣기
평범한 SQL 명령으로서 주기적으로 함수를 호출해야합니다pqnotifies
알림 이벤트가 접수되었는지 여부를 찾으십시오. 와 같은 기타 인터페이스libpgtcl알림 이벤트 처리를위한 더 높은 수준의 방법을 제공합니다. 실제로,libpgtcl응용 프로그램 프로그래머가 발행해서는 안됩니다듣기
또는Unlisten
직접. 자세한 내용은 사용중인 인터페이스에 대한 설명서를 참조하십시오.
채널
알림 채널 이름 (모든 식별자).
듣기
트랜잭션 커밋에서 시행됩니다. 만약에듣기
또는Unlisten
나중에 롤백하는 트랜잭션 내에서 실행됩니다. 청취중인 알림 채널 세트는 변경되지 않았습니다.
실행 된 거래듣기
2 상 커밋을 준비 할 수 없습니다.
처음 청취 세션을 설정할 때 레이스 조건이 있습니다. 대답은 세션이 거래의 커밋 단계에서 순식간에 저지른 모든 이벤트를 받게된다는 것입니다. 그러나 이는 트랜잭션이 쿼리에서 관찰 될 수 있다고 데이터베이스 상태보다 약간 늦습니다. 이것은 사용을위한 다음 규칙으로 이어집니다듣기
13628_13992
Notify사용에 대한보다 광범위한 논의가 포함되어 있습니다듣기
14188_14195Notify
.
듣기 및 실행/실행/실행PSQL:
가상 듣기; 가상 알림; PID 8448을 사용하여 서버 프로세스에서 수신 된 비동기식 알림 "
없음듣기
SQL 표준의 명령문.