Postgresql 9.2.24 문서 | ||||
---|---|---|---|---|
스포츠 토토 결과 : 문서 : 9.2 : 행 스포츠 토토 결과 예 | up | 58 장. 플래너가 통계를 사용하는 방법 | 롤 토토 : 문서 : 9.2 : 부록 |
테이블에 대한 액세스PG_STATISTIC일반 사용자가 배울 수 없도록 슈퍼 사용자로 제한됩니다. 다른 사용자의 테이블 내용에 대해. 일부 선택성 추정 함수는 사용자가 제공하는 것을 사용합니다 연산자 (쿼리에 나타나는 연산자 또는 관련 연산자) 저장된 통계를 분석합니다. 예를 들어, 순서대로 저장된 가장 일반적인 값이 적용되는지 여부를 결정하기 위해 선택성 추정기는 적절한 것을 실행해야합니다=운영자 상수를 비교할 수 있습니다 저장된 값에 대한 쿼리. 따라서의 데이터는PG_STATISTIC가 잠재적으로 전달 될 수 있습니다 사용자 정의 연산자. 적절하게 제작 된 운영자는 할 수 있습니다 의도적으로 통과 된 피연산자 (예 : 로깅을 통해 그들 또는 다른 테이블에 쓰거나 실수로 누출 두 경우 모두 오류 메시지에 값을 표시하여 아마도 데이터를 노출시킬 수 있습니다PG_STATISTIC할 수없는 사용자에게 그것을 보려면.
이것을 방지하기 위해 다음은 모두에게 적용됩니다. 내장 선택성 추정 기능. 쿼리를 계획 할 때 저장된 통계를 사용할 수 있도록 현재 사용자 둘 중 하나select테이블 또는 관련된 열 또는 사용 된 연산자는이어야합니다.LeakProof(보다 정확하게는 함수입니다 연산자가 기반으로). 그렇지 않다면 선택성이 있습니다 통계를 사용할 수없는 것처럼 추정기는 플래너는 불이행 또는 낙상 가정을 진행합니다.
사용자가 테이블에 필요한 권한이없는 경우 열, 그러면 많은 경우 쿼리는 궁극적으로 권한 부인 오류,이 경우이 메커니즘은입니다 실제로는 보이지 않습니다. 그러나 사용자가 a에서 읽는 경우 보안 배리어 뷰, 그러면 플래너는 접근 할 수없는 기본 테이블의 통계 사용자에게. 이 경우 운영자는 누출을 방해해야합니다 통계는 사용되지 않습니다. 직접적인 피드백이 없습니다 계획이 차선책 일 수 있다는 점을 제외하고는 이에 대해. 하나라면 이것이 사실이라고 의심합니다. 보다 특권이있는 사용자로서 다른 계획이 있는지 확인하십시오. 결과.
이 제한은 플래너의 경우에만 적용됩니다. 하나 이상의 값으로 사용자 정의 연산자를 실행해야합니다. 에서PG_STATISTIC. 따라서 플래너 다음과 같은 일반적인 통계 정보를 사용할 수 있습니다. 널 값의 분수 또는 액세스 권한에 관계없이 열
타사에 포함 된 선택성 추정 기능 통계에서 잠재적으로 작동하는 확장 사용자 정의 운영자는 동일한 보안 규칙을 따라야합니다. 안내를 위해 토토 꽁 머니 소스 코드를 참조하십시오.