롤 토토 — 알림 롤 토토
롤 토토채널
롤 토토현재 세션을 이름이 지정된 알림 채널의 리스너로 등록합니다.채널. 현재 세션이 이미 이 알림 채널의 리스너로 등록되어 있으면 아무 작업도 수행되지 않습니다.
명령이 내려질 때마다알림이 세션이나 동일한 데이터베이스에 연결된 다른 세션에 의해 호출되면 현재 해당 알림 채널을 수신 중인 모든 세션에 알림이 전송되고 각 세션은 차례로 연결된 클라이언트 애플리케이션에 알림을 보냅니다.채널
다음을 사용하여 특정 알림 채널에 대한 세션을 등록 취소할 수 있습니다.듣지 않음명령. 세션이 종료되면 세션의 청취 등록이 자동으로 지워집니다.
클라이언트 애플리케이션이 알림 이벤트를 감지하기 위해 사용해야 하는 방법은 무엇에 따라 다릅니다.포스트그레SQL응용 프로그래밍 인터페이스를 사용합니다.libpq라이브러리, 애플리케이션 문제롤 토토일반적인 SQL 명령으로, 주기적으로 함수를 호출해야 함PQ알림알림 이벤트가 수신되었는지 확인합니다. 다음과 같은 기타 인터페이스libpgtcl알림 이벤트를 처리하기 위한 더 높은 수준의 방법을 제공합니다. 실제로, 와 함께libpgtcl애플리케이션 프로그래머는 발행조차 해서는 안 됩니다롤 토토또는듣지 않음직접. 자세한 내용은 사용 중인 인터페이스에 대한 설명서를 참조하세요.
채널알림 채널의 이름(식별자).
롤 토토트랜잭션 커밋 시 적용됩니다. 만약에롤 토토또는듣지 않음나중에 롤백되는 트랜잭션 내에서 실행되며 수신되는 알림 채널 세트는 변경되지 않습니다.
실행된 트랜잭션롤 토토2단계 커밋을 준비할 수 없습니다.
처음 청취 세션을 설정할 때 경쟁 조건이 있습니다. 동시에 커밋되는 트랜잭션이 알림 이벤트를 보내는 경우 새로 청취 세션은 정확히 어떤 이벤트를 수신하게 됩니까? 대답은 세션이 트랜잭션 커밋 단계 중 특정 순간 이후에 커밋된 모든 이벤트를 수신한다는 것입니다. 그러나 이는 트랜잭션이 쿼리에서 관찰할 수 있는 데이터베이스 상태보다 약간 늦습니다. 이는 다음과 같은 사용 규칙으로 이어집니다.롤 토토: 먼저 해당 명령을 실행(및 커밋!)한 다음 새 트랜잭션에서 애플리케이션 로직의 필요에 따라 데이터베이스 상태를 검사한 다음 알림을 사용하여 데이터베이스 상태에 대한 후속 변경 사항을 알아냅니다. 수신된 처음 몇 개의 알림은 초기 데이터베이스 검사에서 이미 관찰된 업데이트를 참조할 수 있지만 이는 일반적으로 무해합니다.
알림사용에 대한 보다 광범위한 논의가 포함되어 있습니다.롤 토토그리고알림.
다음에서 수신/알림 시퀀스 구성 및 실행psql:
가상 롤 토토; 가상으로 알림; PID 8448을 사용하는 서버 프로세스에서 비동기 알림 '가상'이 수신되었습니다.
없습니다롤 토토SQL 표준의 문입니다.
문서에 올바르지 않은 내용이 있으면 일치하지 않습니다. 특정 기능에 대한 경험이 있거나 추가 설명이 필요한 경우 이용해주세요이 양식문서 문제를 보고합니다.