이 문서는 지원되지 않는 버전의 PostgreSQL 용입니다.
당신은에 대해 같은 페이지를 볼 수 있습니다PostgreSQL : 문서 : 17 : 15.2. 병렬 토토 베이를 언제 사용할 수 있습니까?버전 또는 위에 나열된 다른 지원 버전 중 하나입니다.

15.2.병렬 젠 토토를 언제 사용할 수 있습니까?

쿼리 플래너가 어떤 상황에서도 병렬 쿼리 계획을 생성하지 못하게 할 수있는 몇 가지 설정이 있습니다. 병렬 쿼리 계획을 생성하려면 다음 설정을 표시된대로 구성해야합니다.

  • max_parallel_workers_per_gather는 0보다 큰 값으로 설정해야합니다. 이것은 더 이상 근로자를 사용하지 않아야한다는보다 일반적인 원칙의 특별한 경우입니다.max_parallel_workers_per_gather.

  • dynamic_shared_memory_type이외의 값으로 설정되어야합니다없음. 병렬 젠 토토는 협력 프로세스간에 데이터를 전달하기 위해 동적 공유 메모리가 필요합니다.

또한 시스템은 단일 사용자 모드에서 실행되지 않아야합니다. 이 상황에서 전체 데이터베이스 시스템이 단일 프로세스로 실행되고 있으므로 배경 작업자는 사용할 수 없습니다.

일반적으로 병렬 쿼리 계획이 생성 될 수있는 경우에도 플래너는 다음 중 하나가 사실이라면 주어진 쿼리에 대해 생성되지 않습니다..

  • 젠 토토는 모든 데이터를 작성하거나 데이터베이스 행을 잠그는 것입니다. 젠 토토에 최상위 수준 또는 CTE 내에서 데이터 수정 작업이 포함 된 경우 해당 젠 토토에 대한 병렬 계획이 생성되지 않습니다.테이블 생성 ... as,구체화 된보기 만들기새 테이블을 생성하고 병렬 계획을 사용할 수 있습니다.

  • 실행 중에 젠 토토가 중단 될 수 있습니다. 시스템이 부분적 또는 점진적 실행이 발생할 수 있다고 생각하는 모든 상황에서는 병렬 계획이 생성되지 않습니다.배트맨 토토 PostgreSQL : 문서 : 11 : 선언병렬 계획을 사용하지 않습니다. 마찬가지로 양식의 PL/PGSQL 루프젠 토토 루프의 X 용. 엔드 루프병렬 젠 토토 시스템이 병렬 젠 토토가 활성화되어있는 동안 루프의 코드가 안전한지 확인할 수 없기 때문에 병렬 계획을 사용하지 않습니다..

  • 젠 토토는 표시된 기능을 사용합니다병렬 불안한. 대부분의 시스템 정의 기능은입니다.Parallel Safe그러나 사용자 정의 함수는 표시병렬 불안한기본적으로. 에 대한 토론보기PostgreSQL : 문서 : 11 : 15.4. 사설 토토 사이트 안전.

  • 젠 토토가 이미 평행 한 다른 젠 토토 내부에서 실행 중입니다. 예를 들어, 병렬 젠 토토로 호출 된 함수가 SQL 젠 토토 자체를 발행하는 경우 해당 젠 토토는 병렬 계획을 사용하지 않습니다.

  • 트랜잭션 격리 수준은 직렬화 가능합니다. 이것은 현재 구현의 한계입니다.

특정 젠 토토에 대해 병렬 젠 토토 계획이 생성 되더라도 실행 시간에 병렬로 해당 계획을 실행할 수없는 몇 가지 상황이 있습니다. 이런 일이 발생하면 리더는 아래의 계획 부분을 실행합니다.수집거의 마치 마치 마치 마치 마치 마치 마치수집노드가 없었다. 다음 조건이 충족되면 발생합니다.

  • 배경 근로자의 총 수가 초과 할 수 없다는 제한으로 인해 배경 작업자를 얻을 수 없습니다.max_worker_processes.

  • 병렬 젠 토토 목적으로 출시 된 총 배경 작업자 수가 초과 할 수 없다는 제한으로 인해 배경 작업자를 얻을 수 없습니다.max_parallel_workers.

  • 클라이언트는 0이 아닌 페치 카운트로 실행 메시지를 보냅니다. 에 대한 토론보기확장 젠 토토 프로토콜. 부터메이저 토토 사이트 : 문서 : 11 : 34 장. LIBPQ -C 라이브러리현재 그러한 메시지를 보낼 방법을 제공하지 않으므로 LIBPQ에 의존하지 않는 클라이언트를 사용할 때만 발생할 수 있습니다. 이것이 자주 발생하는 경우 설정하는 것이 좋습니다max_parallel_workers_per_gather일련의 실행할 때 차선책이 될 수있는 젠 토토 계획을 생성하지 않기 위해 가능성이있는 세션에서 0을 0으로하십시오.

  • 트랜잭션 격리 수준은 직렬화 가능합니다. 트랜잭션 격리 수준이 직렬화 될 때 병렬 젠 토토 계획이 생성되지 않기 때문에 이러한 상황은 일반적으로 발생하지 않습니다.