| PostgreSQL 9.0.23 문서 | ||||
|---|---|---|---|---|
| PostgreSQL : 문서 : 9.0 : 윈 토토 실행 | 위로 | 제30장. 회귀 와이즈 토토 | PostgreSQL : 문서 : 9.0 : 변형 비교 스포츠 토토 베트맨 | |
일부는 제대로 설치되었으며 완벽하게 작동함PostgreSQL설치 가능"실패"이 회귀 와이즈 토토 중 일부는 다음으로 인해 발생합니다. 다양한 부동 소수점과 같은 플랫폼별 아티팩트 표현과 메시지 표현. 와이즈 토토는 현재 간단한 사용하여 평가됨차이점비교 참조 시스템에서 생성된 출력에 대해 결과는 작은 시스템 차이에 민감합니다. 시험이 있을 때 다음과 같이 보고되었습니다."실패", 항상 조사하세요 예상 결과와 실제 결과의 차이 당신은 아마도 차이가 크지 않다는 것을 알 수 있습니다. 그럼에도 불구하고 우리는 여전히 모든 분야에서 정확한 참조 파일을 유지하기 위해 노력하고 있습니다. 플랫폼을 지원하므로 모든 와이즈 토토가 통과하다.
회귀 와이즈 토토의 실제 결과는 다음 파일에 있습니다.src/와이즈 토토/회귀/결과디렉토리. 그만큼 와이즈 토토 스크립트 사용차이점각각 비교 에 저장된 참조 출력에 대한 출력 파일src/와이즈 토토/회귀/예상디렉토리. 검사를 위해 차이점이 저장됩니다.src/test/regress/regression.diffs. (또는 할 수 있습니다 달리다차이점원한다면 당신 자신.)
어떤 이유로 특정 플랫폼이 다음을 생성하는 경우"실패"주어진 와이즈 토토의 경우, 그러나 출력을 검사하면 결과가 유효하다는 것을 확신할 수 있습니다. 실패 보고서를 침묵시키기 위해 새로운 비교 파일을 추가할 수 있습니다 향후 와이즈 토토 실행에서. 보다PostgreSQL : 문서 : 9.0 : 변형 비교 스포츠 토토 베트맨자세한 내용은.
일부 회귀 와이즈 토토에는 의도적인 유효하지 않은 의도가 포함되어 있습니다. 입력 값. 오류 메시지는 다음 중 하나에서 나타날 수 있습니다.PostgreSQL코드 또는 호스트 플랫폼 시스템 루틴. 후자의 경우 메시지는 플랫폼마다 다를 수 있지만 유사한 내용을 반영해야 합니다. 정보. 이러한 메시지 차이로 인해 다음과 같은 결과가 발생합니다."실패"회귀 와이즈 토토가 가능합니다. 검사를 통해 검증되었습니다.
초기화된 서버에 대해 와이즈 토토를 실행하는 경우 C 이외의 조합 순서 로캘을 사용하는 경우 다음이 있을 수 있습니다. 정렬 순서와 그에 따른 실패로 인한 차이. 그만큼 회귀 와이즈 토토 스위트는 이 문제를 처리하기 위해 설정되었습니다. 함께 알려진 대체 결과 파일 제공 많은 수의 로케일을 처리합니다.
다음을 사용할 때 다른 로케일에서 와이즈 토토를 실행하려면 임시 설치 방법, 적절한 전달 로케일 관련 환경 변수만들다명령줄, 예:
gmake 확인 LANG=de_DE.utf8
(회귀 와이즈 토토 드라이버가 설정 해제됨LC_ALL, 따라서 로케일을 선택하는 것이 작동하지 않습니다 해당 변수를 사용합니다.) 로캘을 사용하지 않으려면 모두 설정을 해제하거나 로케일 관련 환경 변수(또는 다음으로 설정)C) 또는 다음 특수 호출을 사용하십시오.
gmake 확인 NO_LOCALE=1
기존 설치에 대해 와이즈 토토를 실행할 때, 로케일 설정은 기존 설치에 따라 결정됩니다. 에게 이를 변경하고 다른 데이터베이스 클러스터를 초기화하십시오. 적절한 옵션을 전달하여 로케일initdb.
일반적으로 그럼에도 불구하고 다음을 실행하는 것이 좋습니다. 원하는 로케일 설정의 회귀 와이즈 토토 프로덕션 용도로 사용됩니다. 이는 로케일 및 실제로 사용될 인코딩 관련 코드 부분 생산. 운영 체제 환경에 따라 실패할 수도 있지만 적어도 무엇인지 알게 될 것입니다. 실제 실행 시 예상되는 로케일별 동작 응용 프로그램.
대부분의 날짜 및 시간 결과는 시간에 따라 달라집니다. 구역 환경. 참조 파일은 시간에 따라 생성됩니다. 존PST8PDT(캘리포니아주 버클리), 와이즈 토토가 실행되지 않으면 명백한 실패가 발생합니다. 해당 시간대 설정으로. 회귀 와이즈 토토 드라이버 세트 환경 변수PGTZ에PST8PDT, 일반적으로 적절한 결과.
일부 와이즈 토토에는 64비트 부동 소수점 계산이 포함됩니다. 숫자 (배정밀도) 테이블에서 열. 수학적 결과의 차이 의 기능배정밀도열 관찰되었습니다. 그만큼float8그리고기하학와이즈 토토가 특히 발생하기 쉽습니다. 플랫폼 간 작은 차이, 심지어는 서로 다른 컴파일러 최적화 설정. 인간의 안구 비교는 이러한 차이점의 실제 중요성을 결정하는 데 필요함 일반적으로 소수점 오른쪽 10자리입니다. 가리키다.
일부 시스템은 마이너스 0을 다음과 같이 표시합니다.-0, 다른 사람들은 그냥 표시함0.
일부 시스템은 다음에서 오류 신호를 보냅니다.파우()그리고특급()현재 기대되는 메커니즘과 다르게PostgreSQL코드.
동일한 행이 출력되는 차이점을 볼 수 있습니다. 예상 파일에 나타나는 순서와 다릅니다. ~ 안에 대부분의 경우 이는 엄밀히 말하면 버그가 아닙니다. 대부분의 회귀 와이즈 토토 스크립트는 다음을 사용할 만큼 현명하지 않습니다.주문 기준모든 단일에 대해선택, 결과 행 순서는 다음과 같습니다. SQL 사양에 따라 잘 정의되지 않았습니다. ~ 안에 실제로 동일한 쿼리를 보고 있기 때문에 동일한 소프트웨어로 동일한 데이터를 실행하면 일반적으로 다음과 같은 결과를 얻습니다. 모든 플랫폼에서 동일한 결과 순서가 있으므로 다음이 부족합니다.주문 기준문제가 되지 않습니다. 일부 쿼리는 플랫폼 간 순서 차이를 나타냅니다. 하지만. 이미 설치된 서버를 대상으로 와이즈 토토할 때, C가 아닌 로케일로 인해 순서 차이가 발생할 수도 있습니다. 설정 또는 사용자 정의와 같은 기본이 아닌 매개변수 설정 값work_mem또는 플래너 비용 매개변수.
따라서 순서에 차이가 있는 경우에는 그렇지 않습니다. 쿼리에 다음이 없으면 걱정할 사항입니다.주문 기준당신의 결과는 다음과 같습니다 위반. 하지만 그래도 추가할 수 있도록 신고해 주세요. an주문 기준특정 검색어에 가짜를 제거하기 위해"실패"에 향후 릴리스.
왜 우리가 모든 회귀 와이즈 토토를 주문하지 않는지 궁금하실 것입니다. 이 문제를 완전히 없애기 위해 명시적으로 쿼리합니다. 그 이유는 회귀 와이즈 토토가 줄어들기 때문입니다. 유용하지만 그 이상은 아닙니다. 쿼리 계획을 실행하는 경향이 있기 때문입니다. 이를 제외하고 순서대로 결과를 생성하는 유형 그렇지 않습니다.
만약에오류와이즈 토토 결과는 서버 충돌선택 무한_반복()명령은 플랫폼의 프로세스 스택 크기 제한이 다음보다 작습니다.max_stack_깊이매개변수는 나타냅니다. 이 문제는 서버를 실행하여 해결할 수 있습니다. 더 높은 스택 크기 제한 하에서(4MB가 권장됨) 기본값은max_stack_깊이). 만약에 그렇게 할 수 없다면 대안은 값max_stack_깊이.
그무작위와이즈 토토 스크립트가 의도된 것입니다. 무작위 결과를 생성합니다. 드문 경우지만 이로 인해 다음이 발생합니다. 무작위 회귀 와이즈 토토가 실패합니다. 타자:
차이 결과/random.out 예상/random.out
한 줄 또는 몇 줄의 차이만 생성되어야 합니다. 너 무작위 와이즈 토토가 반복적으로 실패하지 않는 한 걱정할 필요가 없습니다.