이 문서는 지원되지 않는 PostgreSQL 버전에 대한 것입니다.
당신은 다음과 같은 페이지를 보고 싶을 수도 있습니다.PostgreSQL : 문서 : 17 : 31.2. 토토 사이트 순위 평가버전 또는 위에 나열된 다른 지원 버전 중 하나를 사용하세요.

26.2. 젠 토토 평가

일부는 올바르게 설치되었으며 완벽하게 작동함PostgreSQL설치 가능"실패"이 회귀 젠 토토 중 일부는 다음으로 인해 발생합니다. 다양한 부동 소수점과 같은 플랫폼별 아티팩트 표현 및 시간대 지원. 젠 토토는 현재 간단한 사용하여 평가됨차이점비교 참조 시스템에서 생성된 출력에 대해 결과는 작은 시스템 차이에 민감합니다. 시험이 있을 때 다음과 같이 보고되었습니다."실패", 항상 조사하세요 예상 결과와 실제 결과의 차이 당신은 아마도 차이가 크지 않다는 것을 알 수 있습니다. 그럼에도 불구하고 우리는 여전히 모든 분야에서 정확한 참조 파일을 유지하기 위해 노력하고 있습니다. 플랫폼을 지원하므로 모든 젠 토토가 통과.

회귀 젠 토토의 실제 출력은 다음 파일에 있습니다.src/젠 토토/회귀/결과디렉토리. 는 젠 토토 스크립트 사용차이점각각 비교 에 저장된 참조 출력에 대한 출력 파일src/젠 토토/회귀/예상디렉토리. 검사를 위해 차이점이 저장됩니다.src/test/regress/regression.diffs. (또는 할 수 있습니다 실행차이점원한다면 당신 자신.)

26.2.1. 오류 메시지 차이점

일부 회귀 젠 토토에는 의도적인 무효가 포함되어 있습니다. 입력 값. 오류 메시지는 다음 중 하나에서 나타날 수 있습니다.PostgreSQL코드 또는 호스트 플랫폼 시스템 루틴. 후자의 경우 메시지는 플랫폼마다 다를 수 있지만 유사한 내용을 반영해야 합니다. 정보. 이러한 메시지 차이로 인해 다음과 같은 결과가 발생합니다."실패"회귀 젠 토토가 가능합니다. 검사를 통해 검증되었습니다.

26.2.2. 로케일 차이

이미 설치된 서버에 대해 젠 토토를 실행하는 경우 이외의 조합 순서 로케일로 초기화되었습니다. C. 그러면 정렬 순서에 따라 차이가 있을 수 있으며, 후속 실패. 회귀 젠 토토 스위트는 다음과 같이 설정되었습니다. 대체 결과 파일을 제공하여 이 문제를 처리합니다. 함께 많은 수의 로케일을 처리하는 것으로 알려져 있습니다. 에 대한 예를 들어,문자젠 토토, 예상 파일char.out다음을 처리합니다C그리고POSIX로캘 및 파일char_1.out다른 많은 로케일을 처리합니다. 회귀 젠 토토 드라이버는 확인할 때 일치하는 최상의 파일을 자동으로 선택합니다. 성공과 실패 차이 계산을 위해. (이것은 의미 회귀 젠 토토에서는 결과가 다음과 같은지 여부를 감지할 수 없습니다. 구성된 로케일에 적합합니다. 젠 토토는 단순히 가장 잘 작동하는 하나의 결과 파일을 선택하세요.)

어떤 이유로 기존 예상 파일이 포함되지 않는 경우 일부 로캘에서는 새 파일을 추가할 수 있습니다. 명명 체계는 다음과 같습니다.젠 토토 이름_숫자.out. 실제 숫자는 그렇지 않습니다. 중요합니다. 회귀 젠 토토 드라이버는 이러한 모든 파일은 동등하게 유효한 젠 토토 결과로 간주됩니다. 만약에 젠 토토 결과는 플랫폼별로 다르며 기술은 설명되어 있습니다. 에서PostgreSQL : 문서 : 7.4 : 토토 캔 별 비교 파일해야 합니다 대신 사용됩니다.

26.2.3. 날짜 그리고 시차

다음의 몇 가지 쿼리시계학다음에서 젠 토토를 실행하면 젠 토토가 실패합니다. 일광 절약 시간제 변경일 또는 그 다음날 하나. 이 쿼리는 자정 사이의 간격이 어제, 오늘 자정, 내일 자정이 정확히 맞습니다. 24시간 --- 일광 절약 시간제라면 이는 잘못된 것입니다. 그 사이에 발효되거나 발효되었습니다.

참고:왜냐하면 미국의 일광 절약 시간 규칙은 사용하면 이 문제는 항상 첫 번째 일요일에 발생합니다. 4월, 10월 마지막 일요일 및 그 이후 월요일(일광 절약 시간 적용 여부와 관계 없음) 당신이 사는 곳에 영향을 미칩니다. 또한 문제가 나타나는지 확인하십시오. 또는 태평양 표준시(UTC-7 또는 UTC-8) 자정에 사라집니다. 현지 시간으로 자정이 아닙니다. 따라서 실패가 나타날 수 있습니다 토요일 늦게까지 또는 화요일 내내 계속됨 당신이 사는 곳에 따라 다릅니다.

대부분의 날짜 및 시간 결과는 시간에 따라 달라집니다. 구역 환경. 참조 파일은 시간에 따라 생성됩니다. 구역PST8PDT(캘리포니아주 버클리), 젠 토토가 실행되지 않으면 명백한 실패가 발생합니다. 해당 시간대 설정으로. 회귀 젠 토토 드라이버 세트 환경 변수PGTZPST8PDT, 이는 일반적으로 적절한 결과를 보장합니다. 그러나 운영 체제는 다음을 지원해야 합니다.PST8PDT시간대 또는 시간 영역 종속 젠 토토는 실패합니다. 귀하의 기계를 확인하려면 이 지원이 있으면 다음을 입력하십시오.

env TZ=PST8PDT 날짜

위 명령은 현재 시스템을 반환해야 합니다. 시간은PST8PDT시간대. 만약PST8PDT시간대를 사용할 수 없습니다. 그러면 시스템이 UTC로 시간을 반환했을 수 있습니다. 만약PST8PDT시간대가 누락되었습니다. 시간대 규칙을 명시적으로 설정합니다.

PGTZ='PST8PDT7,M04.01.0,M10.05.03'; PGTZ 내보내기

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

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

26.2.4. 부동 소수점 차이점

일부 젠 토토에는 64비트 부동 소수점 계산이 포함됩니다. 숫자(배정밀도) 테이블에서 열. 수학적 결과의 차이 의 기능배정밀도열 관찰되었습니다.float8그리고기하학젠 토토가 특히 발생하기 쉽습니다. 플랫폼 간 작은 차이, 심지어는 서로 다른 컴파일러 최적화 옵션. 인간의 안구 비교는 이러한 차이점의 실제 중요성을 결정하는 데 필요함 일반적으로 소수점 오른쪽 10자리입니다. 포인트.

일부 시스템은 마이너스 0을 다음과 같이 표시합니다.-0, 다른 사람들은 그냥 표시0.

일부 시스템은 다음에서 오류 신호를 보냅니다.파우()그리고특급()현재 예상되는 메커니즘과 다르게포스트그레SQL코드.

26.2.5. 행 주문 차이

동일한 행이 출력되는 차이점을 볼 수 있습니다. 예상 파일에 나타나는 순서와 다릅니다. 에서 대부분의 경우 이는 엄밀히 말하면 버그가 아닙니다. 대부분의 회귀 젠 토토 스크립트는 다음을 사용할 만큼 현명하지 않습니다.주문 기준모든 단일에 대해선택이므로 결과 행 순서는 다음과 같습니다. SQL 문자에 따라 잘 정의되지 않음 사양. 실제로는 같은 것을 보고 있기 때문에 동일한 소프트웨어에 의해 동일한 데이터에 대해 쿼리가 실행되는 경우 우리는 일반적으로 모든 플랫폼에서 동일한 결과를 얻습니다. 그래서 부족하다주문 기준아닙니다 문제. 일부 쿼리는 플랫폼 간 순서를 나타냅니다. 그러나 차이점이 있습니다. (주문 차이도 있을 수 있습니다. C가 아닌 로케일 설정에 의해 트리거됩니다.)

따라서 순서에 차이가 있는 경우에는 그렇지 않습니다. 쿼리에 다음이 없으면 걱정할 사항입니다.주문 기준당신의 결과는 다음과 같습니다 위반. 하지만 어쨌든 신고해 주시면 추가할 수 있습니다.주문 기준특정 검색어에 이로써 가짜를 제거합니다"실패"향후 릴리스에서.

왜 우리가 모든 회귀 젠 토토를 주문하지 않는지 궁금하실 것입니다. 이 문제를 완전히 없애기 위해 명시적으로 쿼리합니다. 그 이유는 회귀 젠 토토가 줄어들기 때문입니다. 유용하지만 그 이상은 아닙니다. 쿼리 계획을 실행하는 경향이 있기 때문입니다. 이를 제외하고 순서대로 결과를 생성하는 유형 그렇지 않습니다.

26.2.6."무작위"젠 토토

다음에 하나 이상의 사례가 있습니다.무작위생성하려는 젠 토토 스크립트 무작위 결과. 이로 인해 무작위가 회귀 젠 토토에 실패하게 됩니다. 가끔(아마도 5~10번의 시도에 한 번). 타이핑

차이점 결과/random.out 예상/random.out

한 줄 또는 몇 줄의 차이만 생성되어야 합니다. 당신 무작위 젠 토토가 반복적으로 실패하지 않는 한 걱정할 필요가 없습니다. 시도. (반면에 무작위 젠 토토의 경우절대로신고 대상 회귀 젠 토토를 여러 번 시도해도 실패할 가능성이 높습니다.해야 합니다걱정하세요.)