이 문서는 지원되지 않는 버전의 PostgreSQL을위한 것입니다.
당신은에 대해 같은 페이지를 볼 수 있습니다PostgreSQL : 문서 : 17 : 31.1. 시험 범퍼카 토토버전 또는 위에 나열된 다른 지원 버전 중 하나입니다.

32.1. 시험 무지개 토토

회귀 테스트는 이미 설치되고 무지개 토토중인 서버에 대해 또는 빌드 트리 내에 임시 설치를 사용하여 무지개 토토할 수 있습니다. 또한가 있습니다.병렬및 A순차적테스트 실행 모드. 순차적 메소드는 각 테스트 스크립트만으로 실행되는 반면 병렬 메소드는 여러 서버 프로세스를 시작하여 테스트 그룹을 병렬로 실행합니다. 병렬 테스트는 과정 간 통신과 잠금이 올바르게 작동한다는 확신을 추가합니다.

32.1.1. 임시 설치에 대한 테스트 무지개 토토

구축 후 병렬 회귀 테스트를 실행하려면 설치하기 전에 다음을 입력하십시오.

확인

최상위 디렉토리에서. (또는 변경할 수 있습니다src/test/regress그리고 그곳에서 명령을 실행하십시오.) 결국에는 다음과 같은 것을 볼 수 있습니다.

=====================
 모든 193 개의 테스트가 통과되었습니다.
=======================

또는 그렇지 않으면 어떤 테스트가 실패한 지에 대한 메모입니다. 보다PostgreSQL : 문서 : 12 : 32.2. 토토 꽁 머니 평가a 전실패심각한 문제를 나타냅니다.

이 테스트 방법은 임시 서버를 무지개 토토하기 때문에 서버가 루트로 시작하지 않기 때문에 루트 사용자로 빌드를 수행하면 작동하지 않습니다. 권장 절차는 빌드를 루트로 수행하지 않거나 설치를 완료 한 후 테스트를 수행하는 것입니다.

구성된 경우PostgreSQL오래된 위치에 설치하려면PostgreSQL설치가 이미 존재하고 수행확인 make새 버전을 설치하기 전에 새 프로그램이 이미 설치된 공유 라이브러리를 사용하려고 시도하기 때문에 테스트가 실패 할 수 있습니다. (일반적인 증상은 정의되지 않은 기호에 대한 불만입니다.) 이전 설치를 덮어 쓰기 전에 테스트를 실행하려면를 구축해야합니다.구성-disable-ratp. 그러나 최종 설치 에이 옵션을 사용하는 것이 좋습니다.

병렬 회귀 테스트는 사용자 ID에서 몇 가지 프로세스를 시작합니다. 현재 최대 동시성은 20 개의 병렬 테스트 스크립트이며, 이는 40 개의 프로세스를 의미합니다. 서버 프로세스와 APSQL각 테스트 스크립트에 대한 프로세스. 따라서 시스템이 프로세스 수에 대한 사용자 당 한계를 시행하는 경우이 한계가 50 개 이상인지 확인하면 병렬 테스트에서 임의의시기 실패가 발생할 수 있습니다. 한계를 높일 수있는 위치에 있지 않은 경우를 설정하여 평행의 정도를 줄일 수 있습니다.max_connections매개 변수. 예를 들어:

make max_connections = 10 check

동시에 10 개의 테스트를 무지개 토토하지 않습니다.

32.1.2. 기존 설치에 대한 테스트 무지개 토토

설치 후 테스트를 무지개 토토하려면 (참조스포츠 토토 사이트 : 문서 : 12 : 16 장. 소스 코드에서 설치), 데이터 디렉토리를 초기화하고 다음에 설명 된대로 서버를 시작합니다사설 토토 사이트 : 문서 : 12 : 18 장 서버 설정 및 작동, 다음 유형 :

설치 체크 만들기

또는 병렬 테스트 :

설치 체크-팔렐을 만듭니다

테스트는 달리 지시되지 않는 한 로컬 호스트의 서버와 기본 포트 번호에 연락 할 것으로 예상됩니다.pghostandpgport환경 변수. 테스트는이라는 데이터베이스에서 무지개 토토됩니다.회귀; 이 이름의 기존 데이터베이스는 삭제됩니다.

테스트는 역할, 테이블 스페이스 및 구독과 같은 일부 클러스터 전체 객체를 일시적으로 생성합니다. 이 객체는로 시작하는 이름이 있습니다.회귀 _. 사용에주의하십시오Install무지개 토토eck실제 글로벌 객체가 그런 방식으로 명명 된 설치가있는 모드.

32.1.3. 추가 테스트 스위트

the확인and설치 체크 만들기명령 만 무지개 토토Core회귀 테스트.PostgreSQL서버. 소스 배포에는 많은 추가 테스트 스위트가 포함되어 있으며 대부분은 선택적 절차 언어와 같은 애드온 기능과 관련이 있습니다.

핵심 테스트를 포함하여 구축 된 모듈에 적용 가능한 모든 테스트 스위트를 무지개 토토하려면 빌드 트리 맨 위에 이러한 명령 중 하나를 입력하십시오.

체크 세계 만들기
설치-위로 만들기

이 명령은 이전에 설명한 것처럼 임시 서버 또는 이미 설치된 서버를 사용하여 테스트를 실행합니다.확인and설치 체크 만들기. 다른 고려 사항은 각 방법에 대해 이전에 설명한 것과 동일합니다. 참고체크 월드 만들기각각의 테스트 된 모듈에 대해 별도의 인스턴스 (임시 데이터 디렉토리)를 빌드하므로보다 더 많은 시간과 디스크 공간이 필요합니다.Install무지개 토토eck-World 만들기.

다수의 CPU 코어가 있고 단단한 운영 시스템 제한이없는 최신 기계의 경우 병렬 처리로 실질적으로 더 빨리 갈 수 있습니다. 대부분의 PostgreSQL 개발자가 실제로 모든 테스트를 실행하는 데 사용하는 레시피는와 같습니다.

체크 월드 만들기 -j8/dev/null

with-j사용 가능한 코어 수보다 가까이 또는 조금 더 제한. 폐기stdout성공을 확인하고 싶을 때 흥미롭지 않은 채터를 제거합니다. (실패의 경우Stderr메시지는 일반적으로 자세히 살펴볼 곳을 결정하기에 충분합니다.)

또는 입력하여 개별 테스트 스위트를 무지개 토토할 수 있습니다확인또는설치 체크 만들기빌드 트리의 적절한 하위 디렉토리. 명심하십시오설치 체크 만들기핵심 서버뿐만 아니라 관련 모듈을 설치했다고 가정합니다.

이 방법으로 호출 할 수있는 추가 테스트에는 다음이 포함됩니다.

  • 선택적인 절차 언어에 대한 회귀 테스트. 이들은 아래에 있습니다SRC/PL.

  • 회귀 테스트에 대한Contrib모듈, 아래에있는 모듈Contrib. 전부는 아닙니다Contrib모듈 테스트가 있습니다.

  • 인터페이스 라이브러리에 대한 회귀 테스트,SRC/인터페이스/libpq/testandSRC/인터페이스/ecpg/test.

  • 핵심 지원 인증 방법에 대한 테스트SRC/TEST/AUTHENTICATION. (추가 인증 관련 테스트는 아래를 참조하십시오.)

  • 동시 세션의 스트레스 행동 테스트SRC/TEST/INLOPENT.

  • 충돌 복구 및 물리 복제 테스트,SRC/TEST/Recovery.

  • 논리적 복제 테스트,src/test/subscription.

  • 아래에 위치한 클라이언트 프로그램 테스트SRC/BIN.

사용시Install무지개 토토eck모드에서,이 테스트는 이름이 포함 된 테스트 데이터베이스를 생성하고 파괴합니다.회귀, 예를 들어pl_regression또는Contrib_Regression. 사용에주의하십시오Install무지개 토토eck그런 식으로 이름이없는 데이터베이스가없는 설치가있는 모드.

이 보조 테스트 스위트 중 일부는 설명 된 탭 인프라를 사용합니다PostgreSQL : 문서 : 12 : 32.4. 탭 토토 사이트 추천. 탭 기반 테스트는 PostgreSQL이 옵션으로 구성된 경우에만 실행됩니다.-enable-tap-tests. 이것은 개발에 권장되지만 적절한 Perl 설치가 없으면 생략 할 수 있습니다.

일부 테스트 스위트는 다중 사용자 시스템에서 무지개 토토되는 것이 안전하지 않거나 특수 소프트웨어가 필요하기 때문에 기본적으로 무지개 토토되지 않습니다. 설정하여 추가로 무지개 토토할 테스트 스위트를 결정할 수 있습니다make또는 환경 변수pg_test_extra예를 들어, 공백 분리 목록에 :

체크 월드 MATE PG_TEST_EXTRA = 'KERBEROS LDAP SSL'

다음 값은 현재 지원됩니다.

Kerberos

테스트 스위트를 무지개 토토합니다src/test/kerberos. 이를 위해서는 MIT Kerberos 설치가 필요하며 TCP/IP 청취 소켓을 엽니 다.

LDAP

|src/test/ldap. 이것은 필요합니다OpenLdap설치 및 열린 TCP/IP 청취 소켓.

SSL

|src/test/ssl. 이것은 TCP/IP 청취 소켓을 열어줍니다.

현재 빌드 구성에서 지원하지 않는 기능에 대한 테스트는 언급 된 경우에도 실행되지 않습니다PG_TEST_EXTRA.

또한 테스트가 있습니다.SRC/TEST/MODULES체크 월드 만들기그러나Install무지개 토토eck-World 만들기. 이는 비 생산 확장을 설치하거나 생산 설치에 바람직하지 않은 것으로 간주되는 다른 부작용이 있기 때문입니다. 사용할 수 있습니다설치and설치 체크 만들기원하는 경우 해당 하위 디렉토리 중 하나에서 비 테스트 서버를 사용하면 권장하지 않습니다.

32.1.4. 로케일 및 인코딩

기본적으로 임시 설치를 사용한 테스트 현재 환경에서 정의 된 로케일과 해당 데이터베이스를 인코딩하는 해당 데이터베이스를 사용하여initdb. 예를 들어 적절한 환경 변수를 설정하여 다른 로케일을 테스트하는 것이 유용 할 수 있습니다.

점검 lang = c
확인 lc_collate = en_us.utf8 lc_ctype = fr_ca.utf8

구현 이유, 설정LC_ALL이 목적으로는 효과가 없습니다. 다른 모든 로케일 관련 환경 변수는 작동합니다.

기존 설치에 대해 테스트 할 때 로케일은 기존 데이터베이스 클러스터에 의해 결정되며 테스트 실행에 대해 별도로 설정할 수 없습니다..

변수를 설정하여 명시 적으로 인코딩하는 데이터베이스를 선택할 수도 있습니다인코딩, 예 :

확인 make lang = c 인코딩 = euc_jp

이 방식으로 데이터베이스를 인코딩하는 데 일반적으로 로케일이 C 인 경우에만 의미가 있습니다. 그렇지 않으면 인코딩은 로케일에서 자동으로 선택되며 로케일과 일치하지 않는 인코딩을 지정하면 오류가 발생합니다.

데이터베이스 인코딩은 임시 또는 기존 설치에 대한 테스트를 위해 설정할 수 있지만 후자의 경우 설치의 로케일과 호환되어야합니다.

32.1.5. 추가 테스트

Core Regression Test Suite에는 기본적으로 실행되지 않는 몇 가지 테스트 파일이 포함되어 있습니다. 플랫폼에 의존하거나 실행하는 데 오랜 시간이 걸릴 수 있기 때문입니다. 변수를 설정하여 이러한 추가 테스트 파일 또는 기타 추가 테스트 파일을 실행할 수 있습니다extra_tests. 예를 들어,를 무지개 토토하려면numeric_big테스트 :

extra_tests = numeric_big 확인합니다.

Collation 테스트를 무지개 토토하려면 :

check extra_tests = 'collate.linux.utf8 collate.icu.utf8'lang = en_us.utf8

thecollate.linux.utf8테스트는 Linux/GLIBC 플랫폼에서만 작동합니다. 그만큼collate.icu.utf8테스트는 ICU에 대한 지원이 구축 된 경우에만 작동합니다. 두 테스트 모두 UTF-8 인코딩을 사용하는 데이터베이스에서 실행될 때만 성공합니다.

32.1.6. 핫 스탠드 테스트

소스 분포에는 핫 스탠드의 정적 동작에 대한 회귀 테스트도 포함되어 있습니다. 이 테스트에는 기본 서버가 실행중인 기본 서버와 기본 로그에서 새로운 WAL 변경을 수락하는 실행중인 대기 서버가 필요합니다 (파일 기반 로그 배송 또는 스트리밍 복제 사용). 해당 서버는 귀하를 위해 자동으로 생성되지 않으며 여기에 복제 설정이 문서화되어 있습니다. 필요한 명령 및 관련 문제에 전념하는 문서의 다양한 섹션을 확인하십시오.

핫 스탠드 비 테스트를 무지개 토토하려면 먼저라는 데이터베이스를 만듭니다.회귀1 차 :

PSQL -H Primary -C "데이터베이스 회귀 생성"

다음, 준비 스크립트 실행src/test/regress/sql/hs_primary_setup.sql예를 들어 회귀 데이터베이스의 기본에서 :

PSQL -H 1 차 -f Src/Test/Regress/SQL/HS_PRIMARY_SETUP.SQL 회귀

이러한 변경 사항이 대기로 전파되도록 허용합니다.

이제 기본 데이터베이스 연결이 테스트중인 대기 서버에 표시되도록 정렬합니다 (예 :pghostandpgport환경 변수). 마지막으로, 무지개 토토대기 체크 만들기회귀 디렉토리의 :

CD SRC/테스트/회귀
대기 체크 만들기

스크립트를 사용하여 기본에서 일부 극단적 인 동작이 생성 될 수 있습니다src/test/regress/sql/hs_primary_extremes.sql대기의 동작을 테스트 할 수 있도록.