이 문서는 지원되지 않는 PostgreSQL 버전에 대한 것입니다.
다음에 대한 동일한 페이지를 보고 싶을 수도 있습니다.현재버전 또는 위에 나열된 다른 지원 버전 중 하나를 사용하세요.

스포츠 토토 분석

회귀 테스트의 실제 출력은 다음 파일에 있습니다../결과디렉토리. 테스트 스크립트는차이점각 출력 파일을 비교하려면 에 저장된 참조 출력에 대해./예상디렉토리. 모든 차이점은 다음에 대해 저장됩니다. 귀하의 검사는./regression.diffs. (또는 달릴 수도 있습니다.차이점당신 자신이 만약 당신이 선호합니다.)

파일이 정확하게 비교되지 않을 수 있습니다. 테스트 스크립트는 다음을 보고합니다. 차이점은 "실패"로 간주되지만 차이점은 다음과 같습니다. 오류 메시지 표현, 수학의 시스템 간 작은 차이 라이브러리 동작 등. 이 유형의 "실패"는 문제가 있다포스트그레.

따라서 각각의 실제 차이점을 조사할 필요가 있습니다. 실제로 문제가 있는지 확인하기 위한 "실패한" 테스트입니다. 는 다음 단락에서는 몇 가지 지침을 제공하려고 시도합니다. 차이가 중요한지 여부를 결정합니다.

오류 메시지 차이점

일부 회귀 테스트에는 의도적인 잘못된 입력이 포함되어 있습니다 가치. 오류 메시지는 Postgres 코드 또는 호스트 플랫폼 시스템 루틴에서. 후자의 경우, 메시지는 플랫폼마다 다를 수 있지만 비슷한 내용을 반영해야 합니다. 정보. 이러한 메시지 차이로 인해 검사를 통해 검증할 수 있는 "실패한" 회귀 테스트입니다.

날짜 및 시간 차이점

대부분의 날짜 및 시간 결과는 시간대에 따라 다릅니다. 환경. PST8PDT 시간대에 대한 참조 파일이 생성됩니다. (캘리포니아 버클리) 다음과 같은 경우 명백한 실패가 발생합니다. 해당 시간대 설정으로는 테스트가 실행되지 않습니다. 회귀 테스트 드라이버는 환경 변수 PGTZ를 PST8PDT로 설정하여 올바른지 확인합니다. 결과.

다음을 실행하면 "타임스탬프" 테스트의 일부 쿼리가 실패합니다 일광 절약 시간제 변경일의 시험 또는 하루 전이나 후. 이러한 쿼리는 간격이 다음과 같다고 가정합니다. 어제 자정, 오늘 자정, 내일 자정 사이 정확히 24시간입니다. 그렇다면 잘못된 것입니다. 그동안 일광 절약 시간이 적용되거나 적용되지 않았습니다.

다음을 받아들이지 않는 일부 시스템이 있는 것 같습니다. 현지 시간대를 명시적으로 설정하기 위한 권장 구문 규칙; 그런 경우에는 다른 PGTZ 설정을 사용해야 할 수도 있습니다. 기계.

이전 시간대 라이브러리를 사용하는 일부 시스템은 적용되지 않습니다. 1970년 이전 날짜에 대한 일광 절약 시간제 수정으로 인해 1970년 이전 날짜가 발생합니다. 대신 PDT 시간이 PST로 표시됩니다. 이로 인해 테스트 결과의 현지화된 차이점.

부동 소수점 차이점

일부 테스트에는 64비트 컴퓨팅이 포함됩니다(float8) 테이블 열의 숫자입니다. 차이점 의 수학적 함수와 관련된 결과float8열이 관찰되었습니다. float8 및 기하학 테스트는 특히 전체에 걸쳐 작은 차이가 발생하기 쉽습니다. 플랫폼. 진짜를 결정하려면 인간의 안구 비교가 필요합니다. 이러한 차이점의 중요성은 일반적으로 10자리에 있습니다. 소수점 오른쪽.

일부 시스템은 pow() 및 exp()의 오류 신호를 다음과 다르게 표시합니다. 현재 Postgres 코드에서 예상되는 메커니즘입니다.

다각형 차이점

몇 가지 테스트에는 지리적 날짜에 대한 작업이 포함됩니다. 오클랜드/버클리 CA 거리 지도. 지도 데이터는 다음과 같이 표현됩니다. 정점이 쌍으로 표현되는 다각형float8숫자(십진수 위도 및 경도). 처음에는 일부 테이블이 생성되어 지리 데이터가 로드됩니다. 그런 다음 다각형을 사용하여 두 테이블을 결합하는 일부 뷰가 생성됩니다. 교차 연산자(##)를 사용하면 뷰에서 선택이 수행됩니다. 언제 서로 다른 플랫폼의 결과를 비교하면 차이가 발생합니다. 소수점 오른쪽 2번째나 3번째 자리에 있습니다. SQL 이러한 문제가 발생하는 진술은 다음과 같습니다.

질문: SELECT * from street;
          쿼리: iexit에서 *를 선택하세요.

무작위 차이점

"무작위" 테스트 스크립트에는 최소한 하나의 사례가 있습니다. 무작위 결과를 생성하도록 의도되었습니다. 이로 인해 무작위가 실패하게 됩니다. 스포츠 토토 테스트를 가끔씩(아마도 5~10번에 한 번씩) 재판). 타이핑

차이점 결과/random.out 예상/random.out
한 줄 또는 몇 줄의 차이만 생성되어야 합니다. 당신 무작위 테스트가 반복적으로 실패하지 않는 한 걱정할 필요가 없습니다. 시도. (반면에 무작위 테스트의 경우절대로많은 시도에서도 실패했다고 보고되었습니다. 스포츠 토토 테스트를 해보면 아마해야 합니다걱정하세요.)

"예상" 파일

./예상/*.out파일은 다음과 같습니다 원래의 모놀리식에서 수정됨예상.입력파일 제공: Jolly Chen 외. 다양한 개발 과정에서 생성된 이러한 파일의 최신 버전 기계는 꼼꼼한(?) 점검을 거쳐 교체하였습니다. 많은 의 개발 시스템이 Unix OS 변형(FreeBSD, Linux 등)을 Ix86 하드웨어에서 사용할 수 있습니다. 원본예상.입력파일이 SPARC Solaris에서 생성되었습니다. 2.4 시스템을 사용하는postgres5-1.02a5.tar.gz소스 트리. 그것은 I386 Solaris 2.4 시스템에서 생성된 파일과 비교한 결과 차이점은 세 번째의 부동 소수점 다각형에만 있었습니다. 소수점 오른쪽 자리. 원본sample.regress.out파일은 postgres-1.01에서 왔습니다. Jolly Chen이 제작한 릴리스입니다. 다음에서 생성되었을 수 있습니다. DEC ALPHA 머신은Makefile.globalpostgres-1.01 릴리스에는 PORTNAME=alpha가 있습니다.