이 문서는 지원되지 않는 버전의 PostgreSQL 용입니다.
당신은에 대해 같은 페이지를 볼 수 있습니다현재버전 또는 위에 나열된 다른 지원 버전 중 하나입니다.

F.41. test_shm_mq

test_shm_mq는 동적 공유 메모리와 공유 메모리 메시지 대기열 시설을 사용하여 하나 이상의 백그라운드 작업자의 노력으로 사용자 백엔드를 조정하는 방법의 예입니다. 그것은 그 자체로 유용한 것을하는 것이 아닙니다. 오히려,이 시설이 어떻게 사용될 수 있는지에 대한 시연과 해당 시설의 단위 테스트입니다.

함수는이 확장자가 프로세스 루프를 통해 동일한 사설 토토 반복적으로 전송합니다. 메시지 페이로드, 전송 된 메시지 큐의 크기 및 루프의 프로세스 수는 구성 가능합니다. 결국, 전송에서 손상되지 않았는지 확인하기 위해 사설 토토 확인할 수 있습니다.

F.41.1. 기능

test_shm_mq (queue_size int8, 메시지 텍스트,
            Reture_Count int4 기본값 1, num_workers int4 default 1)
    반환 void

이 함수는 사설 토토 동시에 보내고 수신합니다. 사용자 백엔드는 주어진 크기의 메시지 대기열을 사용하여 제공된 사설 토토 첫 번째 배경 작업자에게 보냅니다. 첫 번째 배경 작업자는 근로자 수가 1보다 큰 경우 두 번째 배경 작업자에게 사설 토토 보냅니다. 결국 마지막 배경 작업자는 사설 토토 사용자 백엔드로 다시 보냅니다. 반복 카운트가 1보다 크면 사용자 백엔드는 사설 토토 첫 번째 작업자에게 다시 보냅니다. 모든 조정 프로세스가 반복 카운트와 동일한 모든 조정 프로세스에 의해 메시지가 전송되고 수신되면, 사용자 백엔드는 메시지가 원래 전송 된 메시지와 일치하고 오류가 발생하지 않는지 확인합니다..

test_shm_mq_pipelined (queue_size int8, 메시지 텍스트,
                      Reture_Count int4 기본값 1, num_workers int4 default 1,
                      bool default true 확인)
    반환 void

이 함수는 반복 카운트에 의해 지정된 것과 동일한 메시지를 주어진 크기의 대기열을 사용하여 첫 번째 배경 작업자에게 여러 번 보냅니다. 그런 다음이 메시지는 주어진 크기의 대기열을 사용하여 각 경우 각 배경 작업자에게 전달됩니다. 마지막으로, 마지막 배경 작업자는 메시지를 사용자 백엔드로 다시 보냅니다. 사용자 백엔드는 비 블로킹 송신 및 수신을 사용하므로 메시지의 모든 사본을 보내기 전에 메시지의 사본을 수신하기 시작할 수 있습니다. 그만큼확인인수는 수신 된 사본이 전송 된 메시지에 대해 확인되는지 여부를 제어합니다. (사소한 시간이 걸리므로 벤치마킹 목적으로 비활성화하는 것이 유용 할 수 있습니다.)