15.2. 병렬 젠 토토는 언제 사용할 수 있나요?#

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

  • max_parallel_workers_per_gather은 0보다 큰 값으로 설정되어야 합니다. 이는 다음을 통해 구성된 수보다 더 많은 작업자를 사용해서는 안 된다는 보다 일반적인 원칙의 특별한 경우입니다.max_parallel_workers_per_gather.

또한 시스템은 단일 사용자 모드에서 실행되어서는 안 됩니다. 이 상황에서는 전체 데이터베이스 시스템이 단일 프로세스로 실행되므로 백그라운드 작업자를 사용할 수 없습니다.

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

  • 쿼리는 데이터를 쓰거나 데이터베이스 행을 잠급니다. 쿼리에 최상위 수준이나 CTE 내 데이터 수정 작업이 포함되어 있는 경우 해당 쿼리에 대한 병렬 계획이 생성되지 않습니다. 예외적으로 새 테이블을 생성하고 채우는 다음 명령은 기본 테이블에 대한 병렬 계획을 사용할 수 있습니다.선택젠 토토의 일부:

    • 테이블 생성...AS

    • 선택

    • 구체화된 뷰 생성

    • 구체화된 보기 새로고침

  • 실행 중에 쿼리가 일시중지될 수 있습니다. 시스템이 부분 또는 증분 실행이 발생할 수 있다고 생각하는 상황에서는 병렬 계획이 생성되지 않습니다. 예를 들어, 다음을 사용하여 생성된 커서는토토 결과 PostgreSQL : 문서 : 18 : 선언절대 병렬 계획을 사용하지 않습니다. 마찬가지로, 다음 형식의 PL/pgSQL 루프는FOR x IN 젠 토토 LOOP .. END LOOP병렬 젠 토토 시스템은 병렬 젠 토토가 활성화된 동안 루프의 코드를 실행해도 안전한지 확인할 수 없기 때문에 병렬 계획을 절대 사용하지 않습니다.

  • 젠 토토는 표시된 함수를 사용합니다.병렬 안전하지 않음. 대부분의 시스템 정의 함수는 다음과 같습니다.병렬 안전, 그러나 사용자 정의 함수는 표시됨병렬 안전하지 않음기본적으로. 토론을 참조하세요.PostgreSQL : 문서 : 18 : 15.4. 토토 캔 안전.

  • 쿼리는 이미 병렬인 다른 쿼리 내에서 실행 중입니다. 예를 들어 병렬 쿼리에 의해 호출된 함수가 SQL 쿼리 자체를 실행하는 경우 해당 쿼리는 병렬 계획을 사용하지 않습니다. 이는 현재 구현의 제한사항이지만 매우 많은 수의 프로세스를 사용하는 단일 쿼리가 발생할 수 있으므로 이 제한사항을 제거하는 것은 바람직하지 않을 수 있습니다.

특정 쿼리에 대해 병렬 쿼리 계획이 생성되더라도 실행 시 해당 계획을 병렬로 실행할 수 없는 여러 가지 상황이 있습니다. 이런 일이 발생하면 리더는 다음 계획의 일부를 실행합니다.집결노드 자체가 완전히 자체적으로, 마치집결노드가 존재하지 않습니다. 다음 조건 중 하나라도 충족되면 이런 일이 발생합니다.

  • 백그라운드 작업자의 총 수가 초과할 수 없다는 제한으로 인해 백그라운드 작업자를 얻을 수 없습니다.max_worker_processes.

  • 병렬 젠 토토를 위해 시작된 총 백그라운드 작업자 수가 초과할 수 없다는 제한으로 인해 백그라운드 작업자를 얻을 수 없습니다.max_parallel_workers.

  • 클라이언트는 0이 아닌 가져오기 횟수로 실행 메시지를 보냅니다. 에 대한 토론을 참조하세요.확장 젠 토토 프로토콜. 이후스포츠 토토 사이트 : 문서 : 18 : 32 장. LIBPQ - C 라이브러리현재 이러한 메시지를 보낼 수 있는 방법은 없습니다. 이는 libpq에 의존하지 않는 클라이언트를 사용할 때만 발생할 수 있습니다. 이것이 자주 발생하는 경우 설정하는 것이 좋습니다.max_parallel_workers_per_gather연속 실행 시 차선책이 될 수 있는 젠 토토 계획이 생성되는 것을 방지하기 위해 발생할 가능성이 있는 세션을 0으로 설정합니다.

수정사항 제출

문서에 올바르지 않은 내용이 있으면 일치하지 않습니다. 특정 기능에 대한 경험이 있거나 추가 설명이 필요한 경우 이용해주세요이 양식문서 문제를 보고합니다.