Aurora PostgreSQL 쿼리 계획 관리를 위한 파라미터 참조 - Amazon Aurora

Aurora PostgreSQL 쿼리 계획 관리를 위한 파라미터 참조

이 섹션에 나열된 파라미터를 사용하여 apg_plan_mgmt 확장에 대한 기본 설정을 지정할 수 있습니다 사용자 지정 DB 클러스터 파라미터 및 Aurora PostgreSQL DB 클러스터와 연결된 DB 파라미터 그룹에서 사용할 수 있습니다. 이러한 파라미터는 쿼리 계획 관리 기능의 동작과 이것이 최적화 프로그램에 미치는 영향을 제어합니다. 쿼리 계획 관리를 설정하는 방법에 대한 자세한 내용은 Aurora PostgreSQL 쿼리 계획 관리 활성화 단원을 참조하세요. apg_plan_mgmt 확장이 해당 섹션에 설명된 대로 설정되지 않은 경우 다음 파라미터를 변경해도 효과가 없습니다. 파라미터 수정에 대한 자세한 정보는 Amazon Aurora에서 DB 클러스터 파라미터 그룹의 파라미터 수정Amazon Aurora DB 인스턴스용 DB 파라미터 그룹 단원을 참조하세요.

apg_plan_mgmt.capture_plan_baselines

각 SQL 문에 대해 최적화 프로그램에서 생성한 쿼리 실행 계획을 캡처하여 dba_plans 뷰에 저장합니다. 기본적으로 저장할 수 있는 최대 계획 수는 apg_plan_mgmt.max_plans 파라미터에서 지정한 대로 10,000개입니다. 참조 정보는 apg_plan_mgmt.max_plans 단원을 참조하세요.

사용자 지정 DB 클러스터 파라미터 그룹 또는 사용자 지정 DB 파라미터 그룹에서 이 파라미터를 설정할 수 있습니다. 이 파라미터의 값을 변경하면 재부팅이 필요하지 않습니다.

기본값 허용된 값 설명
automatic DB 인스턴스의 모든 데이터베이스에 대한 계획 캡처를 활성화합니다. 두 번 이상 실행되는 각 SQL 문에 대한 계획을 수집합니다. 대규모 또는 진화하는 워크로드에 이 설정을 사용하면 계획 안정성을 제공할 수 있습니다.
수동 다시 끌 때까지 후속 명령문에 대해서만 계획 캡처를 켭니다. 이 설정을 사용하면 특정 중요 SQL 문 또는 알려진 문제가 있는 쿼리에 대한 쿼리 실행 계획만 캡처할 수 있습니다.
계획 캡처를 끕니다.

자세한 내용은 Aurora PostgreSQL 실행 계획 캡처 단원을 참조하십시오.

apg_plan_mgmt.plan_capture_threshold

쿼리 실행 계획의 총 비용이 임계값 미만인 경우 계획이 apg_plan_mgmt.dba_plans 뷰에 캡처되지 않도록 임계값을 지정합니다.

이 파라미터의 값을 변경하면 재부팅이 필요하지 않습니다.

기본값 허용된 값 설명
0 0 - 1.79769e+308

캡처 계획을 위한 apg_plan_mgmt 쿼리 계획 총 실행 비용의 임계값을 설정합니다.

자세한 내용은 dba_plans 보기에서 Aurora PostgreSQL 쿼리 계획 검사 단원을 참조하십시오.

apg_plan_mgmt.explain_hashes

EXPLAIN [ANALYZE]에서 출력 끝에 sql_hash 및 plan_hash를 표시할지 지정합니다. 이 파라미터의 값을 변경하면 재부팅이 필요하지 않습니다.

기본값 허용된 값 설명
0 0(꺼짐) EXPLAIN에는 해시 참 옵션이 없는 sql_hash 및 plan_hash가 표시되지 않습니다.
1(켜짐) EXPLAIN에는 해시 참 옵션이 없는 sql_hash 및 plan_hash가 표시됩니다.

apg_plan_mgmt.log_plan_enforcement_result

QPM 관리형 계획이 제대로 사용되는지 확인하기 위해 결과를 기록해야 할지 지정합니다. 저장된 일반 계획을 사용하면 로그 파일에 레코드가 기록되지 않습니다. 이 파라미터의 값을 변경하면 재부팅이 필요하지 않습니다.

기본값 허용된 값 설명
없음 없음 로그 파일에 계획 시행 결과를 표시하지 않습니다.
on_error QPM이 관리형 계획을 사용하지 못하는 경우에만 계획 시행 결과를 로그 파일에 표시합니다.
모두 성공 및 실패를 포함하여 모든 계획 시행 결과를 로그 파일에 표시합니다.

apg_plan_mgmt.max_databases

쿼리 계획 관리를 사용할 수 있는 Aurora PostgreSQL DB 클러스터의 작성기 인스턴스에 있는 최대 데이터베이스 수를 지정합니다. 기본적으로 최대 10개의 데이터베이스에서 쿼리 계획 관리를 사용할 수 있습니다. 인스턴스에 10개 이상의 데이터베이스가 있는 경우 이 설정의 값을 변경할 수 있습니다. 특정 인스턴스에 있는 데이터베이스 수를 확인하려면 psql을 사용하여 인스턴스에 연결합니다. 그런 다음 psql 메타 명령, \l을 사용하여 데이터베이스를 나열합니다.

이 파라미터의 값을 변경하려면 설정을 적용하려면 인스턴스를 재부팅해야 합니다.

기본값 허용된 값 설명
10 10-2147483647 인스턴스에서 쿼리 계획 관리를 사용할 수 있는 최대 데이터베이스 수입니다.

사용자 지정 DB 클러스터 파라미터 그룹 또는 사용자 지정 DB 파라미터 그룹에서 이 파라미터를 설정할 수 있습니다.

apg_plan_mgmt.max_plans

쿼리 계획 관리자가 apg_plan_mgmt.dba_plans 보기에서 유지할 수 있는 최대 SQL 문 수를 설정합니다. 모든 Aurora PostgreSQL 버전에서 이 파라미터를 10000 또는 그 이상으로 설정하는 것이 좋습니다.

사용자 지정 DB 클러스터 파라미터 그룹 또는 사용자 지정 DB 파라미터 그룹에서 이 파라미터를 설정할 수 있습니다. 이 파라미터의 값을 변경하려면 설정을 적용하려면 인스턴스를 재부팅해야 합니다.

기본값 허용된 값 설명
10000 10-2147483647

apg_plan_mgmt.dba_plans 보기에 저장할 수 있는 최대 계획 수입니다.

Aurora PostgreSQL 버전 10 및 이전 버전의 기본값은 1000입니다.

자세한 내용은 dba_plans 보기에서 Aurora PostgreSQL 쿼리 계획 검사 단원을 참조하십시오.

apg_plan_mgmt.plan_hash_version

plan_hash 계산이 처리하도록 설계된 사용 사례를 지정합니다. 상위 apg_plan_mgmt.plan_hash_version 버전에는 하위 버전의 모든 기능이 포함됩니다. 예를 들어, 버전 3은 버전 2에서 지원하는 사용 사례를 지원합니다.

이 파라미터의 값을 변경한 다음 apg_plan_mgmt.validate_plans('update_plan_hash')로 호출해야 합니다. apg_plan_mgmt가 설치되어 있고 계획 테이블에 항목이 있는 각 데이터베이스의 plan_hash 값을 업데이트합니다. 자세한 내용은 계획 검증 단원을 참조하세요.

기본값 허용된 값 설명
1 1 기본 plan_hash 계산입니다.
2 plan_hash 계산이 다중 스키마 지원을 위해 수정되었습니다.
3 plan_hash 계산이 다중 스키마 및 파티셔닝된 테이블 지원을 위해 수정되었습니다.
4 plan_hash 계산이 병렬 연산자 및 구체화 노드를 지원하도록 수정되었습니다.

apg_plan_mgmt.plan_retention_period

apg_plan_mgmt.dba_plans 보기에서 계획을 유지할 일 수를 지정하고 이후에는 자동으로 삭제됩니다. 기본적으로 계획이 마지막으로 사용된 후 32일이 경과하면 계획이 삭제됩니다(apg_plan_mgmt.dba_plans 보기의 last_used 열). 이 설정을 1 이상의 숫자로 변경할 수 있습니다.

이 파라미터의 값을 변경하려면 설정을 적용하려면 인스턴스를 재부팅해야 합니다.

기본값 허용된 값 설명
32 1-2147483647 계획이 삭제되기 전에 마지막으로 사용된 이후 최대 일수입니다.

자세한 내용은 dba_plans 보기에서 Aurora PostgreSQL 쿼리 계획 검사 단원을 참조하십시오.

apg_plan_mgmt.unapproved_plan_execution_threshold

최적화 프로그램에서 승인되지 않은 계획을 사용할 수 있는 비용 임계값을 지정합니다. 기본적으로 임계값은 0이므로 최적화 프로그램은 미승인 계획을 실행하지 않습니다. 이 파라미터를 매우 낮은 임계값(예: 100)으로 설정하면 사소한 계획에 대한 계획 적용 오버헤드를 피할 수 있습니다. 반응형 계획 관리 스타일을 사용하여 이 파라미터를 10000000과 같은 매우 큰 값으로 설정할 수도 있습니다. 이렇게 하면 최적화 프로그램이 계획 적용 오버헤드 없이 선택한 모든 계획을 사용할 수 있습니다. 하지만 잘못된 계획이 발견되면 다음 번에 사용되지 않도록 수동으로 '거부됨'으로 표시할 수 있습니다.

이 파라미터의 값은 주어진 계획을 실행하기 위한 예상 비용을 나타냅니다. 승인되지 않은 계획이 예상 비용보다 낮으면 최적화 프로그램은 SQL 문에 이를 사용합니다. 캡처된 계획과 해당 상태(승인됨, 승인되지 않음)를 dba_plans 보기에서 볼 수 있습니다. 자세한 내용은 dba_plans 보기에서 Aurora PostgreSQL 쿼리 계획 검사을 참조하십시오.

이 파라미터의 값을 변경하면 재부팅이 필요하지 않습니다.

기본값 허용된 값 설명
0 0-2147483647 승인되지 않은 계획이 사용되는 아래의 예상 계획 비용입니다.

자세한 내용은 Aurora PostgreSQL 관리형 계획 사용 단원을 참조하십시오.

apg_plan_mgmt.use_plan_baselines

최적화 프로그램이 apg_plan_mgmt.dba_plans 보기에 캡처되고 저장된 승인된 계획 중 하나를 사용해야 함을 지정합니다. 기본적으로 이 파라미터는 꺼져 있으므로(거짓) 최적화 프로그램은 추가 평가 없이 생성한 최소 비용 계획을 사용합니다. 이 파라미터를 켜면(true로 설정) 최적화 프로그램이 계획 기준선에서 명령문에 대한 쿼리 실행 계획을 선택하도록 합니다. 자세한 내용은 Aurora PostgreSQL 관리형 계획 사용 단원을 참조하십시오. 이 프로세스를 자세히 설명하는 이미지를 찾으려면 최적화 프로그램에서 실행할 계획을 선택하는 방식. 단원을 참조하세요.

사용자 지정 DB 클러스터 파라미터 그룹 또는 사용자 지정 DB 파라미터 그룹에서 이 파라미터를 설정할 수 있습니다. 이 파라미터의 값을 변경하면 재부팅이 필요하지 않습니다.

기본값 허용된 값 설명
false true apg_plan_mgmt.dba_plans에서 승인, 선호 또는 승인되지 않은 계획을 사용합니다. 이들 중 어느 것도 최적화 프로그램에 대한 모든 평가 기준을 충족하지 않으면 자체 생성된 최소 비용 계획을 사용할 수 있습니다. 자세한 내용은 최적화 프로그램에서 실행할 계획을 선택하는 방식. 단원을 참조하십시오.
false 옵티마이저에서 생성한 최소 비용 계획을 사용합니다.

필요에 따라 다른 캡처된 계획의 응답 시간을 평가하고 계획 상태를 변경할 수 있습니다. 자세한 내용은 Aurora PostgreSQL 쿼리 계획 개선 단원을 참조하십시오.

auto_explain.hashes

auto_explain 출력에 sql_hash 및 plan_hash가 표시되는지 지정합니다. 이 파라미터의 값을 변경하면 재부팅이 필요하지 않습니다.

기본값 허용된 값 설명
0(꺼짐) 0(꺼짐) auto_explain 결과는 sql_hash 및 plan_hash를 표시하지 않습니다.
1(켜짐) auto_explain 결과는 sql_hash 및 plan_hash를 표시합니다.