17.3. AutoConf 및 Make를 범퍼카 토토여 빌드 및 설치#

17.3.1. 짧은 버전#

./configure

긴 버전은 나머지입니다섹션.

17.3.2. 설치 절차#

  1. 구성

    설치 절차의 첫 번째 단계는 시스템의 소스 트리를 구성하고 원하는 옵션을 선택하는 것입니다. 이것은를 실행하여 수행됩니다.구성스크립트. 기본 설치의 경우 간단히 입력하십시오.

    ./configure
    

    이 스크립트는 다양한 시스템 종속 변수에 대한 값을 결정하고 운영 체제의 단점을 감지하기 위해 여러 테스트를 실행하고 마지막으로 빌드 트리에 여러 파일을 생성하여 찾은 내용을 기록합니다..

    당신도 실행할 수 있습니다구성소스 트리 외부의 디렉토리에서 빌드 디렉토리를 원래 소스 파일과 별도로 유지하려면 빌드를 작성하십시오. 이 절차는 a라고합니다.vpath빌드. 방법은 다음과 같습니다.

    mkdir build_dir
    cd build_dir
    /path/to/source/tree/구성 [옵션 여기 이동]
    만들기
    

    기본 구성은 서버 및 유틸리티뿐만 아니라 C 컴파일러 만 필요한 모든 클라이언트 응용 프로그램 및 인터페이스를 빌드합니다. 모든 파일이에 설치됩니다./usr/local/pgsql기본적으로.

    하나 이상의 명령 줄 옵션을 제공하여 빌드 및 설치 프로세스를 사용자 정의 할 수 있습니다구성. 일반적으로 설치 위치 또는 구축 된 선택적 기능 세트를 사용자 정의합니다.구성많은 옵션이 있으며, 여기에 설명되어 있습니다.섹션 17.3.3.

    또한구성에 설명 된대로 특정 환경 변수에 응답합니다.섹션 17.3.4. 이들은 구성을 사용자 정의하는 추가 방법을 제공합니다.

  2. build

    빌드를 시작하려면 다음 중 하나를 입력하십시오.

    만들기
    전부 만들기
    

    (사용해야gnu 만들기.) 빌드는 하드웨어에 따라 몇 분이 걸립니다.

    Documentation (HTML 및 Man Pages) 및 추가 모듈 (을 포함하여 빌드 할 수있는 모든 것을 빌드하려면).Contrib), 대신 입력 :

    세계 만들기
    

    추가 모듈을 포함하여 구축 할 수있는 모든 것을 빌드하려면 (Contrib), 그러나 문서가 없으면 대신 입력하십시오 :

    World-Bin 만들기
    

    수동으로 다른 MakeFile에서 빌드를 호출하려면Makelevel예를 들어 다음과 같이 0으로 설정하십시오.

    build-postgresql :

    그렇게하지 않으면 이상한 오류 메시지, 일반적으로 누락 된 헤더 파일에 대한 이상한 오류 메시지가 발생할 수 있습니다.

  3. 회귀 테스트

    설치하기 전에 새로 빌드 된 서버를 테스트하려면이 시점에서 회귀 테스트를 실행할 수 있습니다. 회귀 테스트는를 확인하는 테스트 스위트입니다.PostgreSQL개발자가 기대하는 방식으로 컴퓨터에서 실행됩니다. 유형:

    확인 make
    

    (이것은 루트로 작동하지 않으며, 비공식적 인 사용자로 범퍼카 토토십시오.) 참조33 장테스트 결과 해석에 대한 자세한 정보. 같은 명령을 발행하여 나중에이 테스트를 반복 할 수 있습니다.

  4. 파일 설치

    note

    기존 시스템을 업그레이드하는 경우 읽으십시오섹션 19.6, 클러스터 업그레이드에 대한 지침이 있습니다.

    설치하려면PostgreSQLenter :

    설치
    

    이것은에 지정된 디렉토리에 파일을 설치합니다.1 단계. 해당 영역에 적절한 권한이 있는지 확인하십시오.

    문서를 설치하려면 (html 및 man pages)를 입력하십시오 :

    설치 -Docs
    

    위의 세계를 건설 한 경우 대신 입력하십시오 :

    설치 세계 만들기
    

    이것은 또한 문서를 설치합니다.

    위의 문서가없는 세계를 건설 한 경우 대신 다음을 입력하십시오.

    설치 세계 만들기
    

    사용할 수 있습니다설치-스트립 만들기대신설치실행 파일과 라이브러리가 설치 될 때 제거하려면. 이것은 약간의 공간을 절약 할 것입니다.설치-스트립합리적인 작업 절약 공간을 만들려고하지만 실행 파일에서 모든 불필요한 바이트를 제거하는 방법에 대한 완벽한 지식은 없으므로 가능한 모든 디스크 공간을 저장하려면 수동 작업을 수행해야합니다..

    표준 설치는 클라이언트 애플리케이션 개발 및 C에 작성된 사용자 정의 기능 또는 데이터 유형과 같은 서버 측 프로그램 개발에 필요한 모든 헤더 파일을 제공합니다.

    클라이언트 전용 설치 :클라이언트 응용 프로그램 및 인터페이스 라이브러리 만 설치하려면 다음 명령을 사용할 수 있습니다.

    -C SRC/BIN 설치 제작
    -C SRC/include install
    -C SRC/인터페이스 설치 만들기
    -C Doc 설치 제작
    

    src/bin서버 전용 사용을위한 몇 가지 바이너리가 있지만 작습니다.

제거 :설치를 취소하려면 명령을 사용하십시오제거 해제. 그러나 이것은 생성 된 디렉토리를 제거하지 않습니다.

청소 :설치 후 소스 트리에서 내장 된 파일을 명령으로 제거하여 디스크 공간을 자유롭게 할 수 있습니다깨끗하게 만들기. 이것은에 의해 만든 파일을 보존합니다.구성프로그램, 모든 것을 재건 할 수 있도록만들기나중에. 소스 트리를 분포 된 상태로 재설정하려면 사용Distclean 만들기. 동일한 소스 트리 내의 여러 플랫폼을 위해 빌드하려면이 작업을 수행하고 각 플랫폼에 대해 다시 구성해야합니다.

빌드를 수행 한 다음를 발견하면구성옵션이 잘못되었거나 변경하면구성조사합니다 (예 : 소프트웨어 업그레이드). 그렇다면 좋은 생각입니다Distclean 만들기재구성 및 재건 전. 이것이 없으면 구성 선택의 변경 사항이 필요한 곳마다 전파되지 않을 수 있습니다.

17.3.3. 구성옵션#

구성의 명령 줄 옵션은 다음과 같습니다. 이 목록은 철저하지 않습니다 (사용./configure -help여기에서 다루지 않은 옵션은 교차 컴파일과 같은 고급 사용 사례를위한 것이며 표준 AutoConf 문서에 문서화되어 있습니다.

17.3.3.1. 설치 위치#

이 옵션 제어 위치설치파일을 넣습니다. 그만큼12657_12665옵션은 대부분의 경우 충분합니다. 특별한 요구가있는 경우이 섹션에 설명 된 다른 옵션으로 설치 하위 디렉토리를 사용자 정의 할 수 있습니다.mananddoc위치는이 제한의 영향을받지 않습니다.) 재배치 가능한 설치의 경우를 사용하고 싶을 수도 있습니다.-disable-ratp나중에 설명 된 옵션.

--prefix =접두사 #

디렉토리의 모든 파일 설치접두사대신/usr/local/pgsql. 실제 파일은 다양한 하위 디렉터로 설치됩니다.접두사디렉토리.

--exec-prefix =exec-prefix #

다른 접두사 아래에 아키텍처 의존 파일을 설치할 수 있습니다.exec-prefix, 무엇보다접두사이것은 호스트간에 아키텍처 독립적 파일을 공유하는 데 유용 할 수 있습니다.exec-prefix과 동일합니다접두사그리고 아키텍처 의존 및 독립 파일 모두 같은 트리 아래에 설치 될 것입니다. 아마도 원하는 것일 것입니다.

--- bindir =디렉토리 #

실행 가능한 프로그램의 디렉토리를 지정합니다. 기본값은exec-prefix/bin, 이것은 일반적으로 의미/usr/local/pgsql/bin.

-sysconfdir =디렉토리 #

다양한 구성 파일의 디렉토리를 설정합니다.접두사/etc기본적으로.

-libdir =디렉토리 #

라이브러리 및 동적으로로드 가능한 모듈을 설치할 위치를 설정합니다. 기본값은exec-prefix/lib.

-includedir =디렉토리 #

C 및 C ++ 헤더 파일을 설치하기위한 디렉토리를 설정합니다. 기본값은접두사/include.

-datarootdir =디렉토리 #

다양한 유형의 읽기 전용 데이터 파일에 대한 루트 디렉토리를 설정합니다. 다음 옵션 중 일부에 대한 기본값 만 설정합니다.접두사/share.

-datadir =디렉토리 #

설치된 프로그램에서 사용하는 읽기 전용 데이터 파일의 디렉토리를 설정합니다. 기본값은Datarootdir. 데이터베이스 파일이 배치 될 위치와 관련이 없습니다.

-로컬 레디르 =디렉토리 #

특히 메시지 변환 카탈로그 파일에서 로케일 데이터 설치 디렉토리를 설정합니다. 기본값은Datarootdir/locale.

-Mandir =디렉토리 #

PostgreSQL이 디렉토리 아래에 설치됩니다.manx하위 디렉터. 기본값은Datarootdir/man.

-docdir =디렉토리 #

을 제외하고 문서 파일을 설치하기위한 루트 디렉토리를 설정합니다.man페이지. 이것은 다음 옵션의 기본값 만 설정합니다.Datarootdir/doc/postgresql.

-htmldir =디렉토리 #

html- 형식의 문서에 대한PostgreSQL이 디렉토리에 설치됩니다. 기본값은Datarootdir.

note

설치할 수 있도록 간호가 취해졌습니다PostgreSQL공유 설치 위치로 (예 :/usr/local/include) 나머지 시스템의 네임 스페이스를 방해하지 않고. 첫째, 문자열/postgresql자동으로 추가됩니다Datadir, Sysconfdirdocdir, 완전히 확장 된 디렉토리 이름이 이미 문자열을 포함하지 않는 한Postgres또는PGSQL. 예를 들어, 선택한 경우/usr/local접두사로 문서가 설치됩니다./usr/local/doc/postgresql그러나 접두사가/opt/postgres, 그렇다면/opt/postgres/doc. 클라이언트 인터페이스의 공개 C 헤더 파일이에 설치됩니다.포함그리고 네임 스페이스 청소입니다. 내부 헤더 파일과 서버 헤더 파일은의 개인 디렉토리에 설치됩니다.포함. 헤더 파일에 액세스하는 방법에 대한 정보는 각 인터페이스의 문서를 참조하십시오.Libdir동적으로로드 가능한 모듈의 경우.

17.3.3.2. PostgreSQL기능#

이 섹션에 설명 된 옵션은 다양한 구축을 가능하게합니다PostgreSQL기본적으로 구축되지 않은 기능. 이들 중 대부분은에 설명 된 바와 같이 추가 소프트웨어가 필요하기 때문에 비 분제입니다.섹션 17.1.

--enable-nls [=언어] #

모국어 지원 활성화 (NLS), 즉 영어 이외의 언어로 프로그램의 메시지를 표시하는 능력.언어예를 들어 지원하려는 언어의 공간 분리 된 코드 목록입니다.--enable-nls = 'de fr'. (목록과 실제로 제공된 번역 세트 사이의 교차점은 자동으로 계산됩니다.) 목록을 지정하지 않으면 사용 가능한 모든 번역이 설치됩니다.

이 옵션을 범퍼카 토토려면 구현이 필요합니다.getTextapi.

-with-perl #

빌드pl/perl서버 측 언어.

-with-python #

빌드pl/python서버 측 언어.

-with-tcl #

빌드PL/TCL서버 측 언어.

-with-tclconfig =디렉토리 #

tcl 파일 설치tclConfig.sh, 여기에는 TCL에 인터페이스하는 모듈을 빌드하는 데 필요한 구성 정보가 포함되어 있습니다. 이 파일은 일반적으로 잘 알려진 위치에서 자동으로 발견되지만 다른 버전의 TCL을 범퍼카 토토려면 찾을 디렉토리를 지정할 수 있습니다tclConfig.sh.

-with-llvm #

지원을 통해 빌드llvm기반jit컴파일(참조제 32 장). 이것은 필요합니다llvm라이브러리 설치. 최소 필수 버전의llvm현재 3.9입니다.

llvm-config필요한 컴파일 옵션을 찾는 데 사용됩니다.llvm-config그리고llvm-config- $ major- $ minor모든 지원되는 버전의 경우에서 검색됩니다PATH. 그것이 원하는 프로그램을 생산하지 않으면 사용llvm_config올바른 경로를 지정하려면llvm-config. 예를 들어

./configure ...-with-llvm llvm_config = '/path/to/llvm/bin/llvm-config'

llvm지원이 필요합니다Clang컴파일러 (필요한 경우를 사용하여 지정Clang환경 변수) 및 작동중인 C ++ 컴파일러 (필요한 경우를 사용하여 지정CXX환경 변수).

-with-lz4 #

빌드LZ4압축 지원.

-with-zstd #

빌드Zstandard압축 지원.

-with-ssl =도서관 #

지원을 통해 빌드SSL(암호화 된) 연결. 유일한도서관지원 된 ISOpenSSL. 이것은 필요합니다OpenSSL설치할 패키지.구성필요한 헤더 파일 및 라이브러리를 확인하여 귀하의OpenSSL진행하기 전에 설치가 충분합니다.

-With-OpensSL #

쓸데없는 동등한---with-ssl = OpenSSL.

-with-gssapi #

GSSAPI 인증을 지원하는 빌드. MIT Kerberos는 GSSAPI를 위해 설치해야합니다./usr/include, /usr/lib), 옵션을 사용해야합니다-with-includesand-with-libraries이 옵션 외에도.구성필요한 헤더 파일 및 라이브러리를 확인하여 진행하기 전에 GSSAPI 설치가 충분했는지 확인합니다.

-with-ldap #

빌드LDAP인증 및 연결 매개 변수 조회 지원 (참조PostgreSQL : 문서 : 16 : 34.18. 무지개 토토 연결 매개 변수 조회and섹션 21.10자세한 내용은). 유닉스에서는이 필요합니다.OpenLDap설치할 패키지. Windows에서 기본값winldap라이브러리가 사용됩니다.구성필요한 헤더 파일 및 라이브러리를 확인하여 귀하의OpenLDap진행하기 전에 설치가 충분합니다.

-with-pam #

빌드PAM(플러그 가능한 인증 모듈) 지원.

-with-bsd-auth #

BSD 인증 지원이 포함 된 빌드. (BSD 인증 프레임 워크는 현재 OpenBSD에서만 사용할 수 있습니다.)

-with-systemd #

지원을 통해 빌드SystemD서비스 알림. 서버가 시작되면 통합이 향상됩니다SystemD그러나 그렇지 않으면 영향을 미치지 않습니다; 보다PostgreSQL : 문서 : 16 : 19.3. 데이터베이스 토토 사이트 시작자세한 내용은. libsystemd이 옵션을 범퍼카 토토려면 관련 헤더 파일을 설치해야합니다.

-with-bonjour #

Bonjour Automatic Service Discovery를 지원하는 건축. 이를 위해서는 운영 체제에서 Bonjour 지원이 필요합니다.

-with-uuid =도서관 #

빌드uuid-sosspMODULE (지정된 UUID 라이브러리를 사용하여 UUID를 생성하기위한 기능을 제공합니다. 도서관

  • BSDfreebsd 및 기타 BSD 유래 시스템에있는 UUID 함수를 범퍼카 토토려면

  • E2FSe2FSPROG프로젝트; 이 라이브러리는 대부분의 Linux 시스템과 MacOS에 있으며 다른 플랫폼에 대해서도 얻을 수 있습니다

  • OSSP범퍼카 토토려면OSSP UUID 라이브러리

-with-sossp-uuid #

쓸데없는 동등한-with-uuid = osps.

-with-libxml #

libxml2를 사용하여 빌드하여 SQL/XML 지원을 가능하게합니다. 이 기능에는 libxml2 버전 2.6.23 이상이 필요합니다.

필요한 컴파일러 및 링커 옵션을 감지하려면 PostgreSQL이 쿼리됩니다pkg-config, 그것이 설치되어 있고 libxml2에 대해 알고 있다면. 그렇지 않으면 프로그램XML2-CONFIG32507_32575pkg-config다중 아키텍처 설치를 더 잘 처리 할 수 ​​있기 때문에 선호됩니다.

특이한 위치에있는 libxml2 설치를 범퍼카 토토려면 설정할 수 있습니다pkg-config관련 환경 변수 (문서 참조) 또는 환경 변수 설정XML2_CONFIGXML2-CONFIGlibxml2 설치에 속하는 프로그램 또는 변수를 설정XML2_CFLAGSandXML2_LIBS. (만약에pkg-config가 설치된 다음 libxml2가 어디에 있는지에 대한 아이디어를 무시하려면XML2_CONFIG또는 둘 다 설정XML2_CFLAGSandXML2_LIBS비어 있지 않은 문자열에.)

-with-libxslt #

libxslt를 사용하여 빌드하여 활성화XML2XML의 XSL 변환을 수행 할 모듈-with-libxml지정해야합니다.

17.3.3.3. 반사#

이 섹션에 설명 된 옵션은 특정 비활성화를 허용합니다PostgreSQL기본적으로 구축되었지만 필요한 소프트웨어 또는 시스템 기능을 사용할 수없는 경우 해제해야 할 수있는 기능. 이 옵션 사용은 실제로 필요한 경우가 아니라면 권장하지 않습니다.

-without-icu #

지원없이 빌드ICU라이브러리, ICU 콜레이션 기능 사용 비활성화(참조섹션 24.2).

-without-Readline #

사용 방지Readline도서관 (및libedit). 이 옵션은 명령 줄 편집 및 히스토랑을 비활성화합니다PSQL.

-with-libedit-preferred #

BSD 라이센스의 사용을 선호합니다libeditGPL 라이센스 대신 라이브러리Readline. 이 옵션은 두 라이브러리가 설치된 경우에만 중요합니다.Readline.

-without-zlib #

사용 방지Zlib라이브러리. 이것은 압축 아카이브에 대한 지원을 비활성화합니다pg_dumpandPG_RESTORE.

-disable-spinlocks #

PostgreSQL플랫폼에 대한 CPU 스핀 록 지원이 없습니다. 스핀 락지지가 부족하면 성능이 저하됩니다.PostgreSQL플랫폼에서 문제를에보고하십시오.PostgreSQL개발자.

-disable-Atomics #

CPU 원자 연산의 사용 비활성화. 이 옵션은 그러한 작업이 부족한 플랫폼에서 아무것도하지 않습니다.

-드라이브 스레드-안전 #

클라이언트 라이브러리의 스레드 안전성을 비활성화합니다. 이것은 동시 스레드를 방지합니다libpqandECPG개인 연결 핸들을 안전하게 제어하는 ​​프로그램. 스레딩 지원이 부족한 플랫폼에서만 사용하십시오.

17.3.3.4. 프로세스 세부 사항 구축#

-with-includes =디렉토리 #

디렉토리는 컴파일러가 헤드러 파일을 검색하는 목록에 추가 될 콜론으로 구분 된 디렉토리 목록입니다. 선택적 패키지가있는 경우 (예 : GNUReadline) 비표준 위치에 설치되면이 옵션을 사용해야하며 해당-with-libraries옵션.

예 :-with-includes =/opt/gnu/포함 :/usr/sup/include.

-with-libraries =디렉토리 #

디렉토리는 도서관을 검색 할 콜론으로 구분 된 디렉토리 목록입니다. 이 옵션을 사용해야 할 것입니다 (및 해당-with-includes옵션) 비표준 위치에 패키지가 설치된 경우

예 :-with-libraries =/opt/gnu/lib :/usr/sup/lib.

-with-system-tzdata =디렉토리 #

PostgreSQL날짜 및 시간 작업에 필요한 자체 시간 영역 데이터베이스가 포함되어 있습니다. 이 Time Zone 데이터베이스는 실제로 FreeBSD, Linux 및 Solaris와 같은 많은 운영 체제에서 제공하는 IANA Time Zone 데이터베이스와 호환되므로 다시 설치하는 것이 중복됩니다.디렉토리PostgreSQL 소스 배포에 포함 된 대신 사용됩니다.디렉토리절대 경로로 지정되어야합니다./usr/share/ZoneInfo는 일부 운영 체제의 디렉토리 일 가능성이 높습니다. 설치 루틴은 불일치 또는 잘못된 시간대 데이터를 감지하지 않습니다.PostgreSQL.

이 옵션은 주로 목표 운영 체제를 잘 알고있는 이진 패키지 유통 업체를 대상으로합니다. 이 옵션을 사용하는 주요 장점은 많은 지역 일광 절약 시간 규칙이 변경 될 때마다 PostgreSQL 패키지를 업그레이드 할 필요가 없다는 것입니다.

-with-extra-version =String #

AppendStringPostgreSQL 버전 번호로. 예를 들어, 미공개 git 스냅 샷으로 구축 된 바이너리를 표시하거나 A와 같은 추가 버전 문자열이 포함 된 사용자 정의 패치를 포함하는 데 사용할 수 있습니다.git destion식별자 또는 배포 패키지 릴리스 번호.

-disable-ratp #

마크하지 마십시오PostgreSQL설치 라이브러리 디렉토리에서 공유 라이브러리를 검색해야 함을 나타 내기 위해 실행 파일 (참조-libdir). 대부분의 플랫폼 에서이 마킹은 라이브러리 디렉토리의 절대 경로를 사용하므로 나중에 설치를 재배치하면 도움이되지 않습니다.섹션 17.5.1자세한 내용은

17.3.3.5. 여러 가지 잡다한#

특히 테스트 빌드의 경우 기본 포트 번호를 조정하는 것이 일반적입니다.-with-pgport. 이 섹션의 다른 옵션은 고급 사용자에게만 권장됩니다.

-with-pgport =번호 #

SET번호서버 및 클라이언트의 기본 포트 번호로. 기본값은 5432입니다. 포트는 항상 나중에 변경할 수 있지만 여기에서 지정하면 서버와 클라이언트 모두 동일한 기본값을 컴파일하여 매우 편리 할 수 ​​있습니다.PostgreSQL같은 컴퓨터의 서버.

-with-krb-srvnam =이름 #

GSSAPI에서 사용하는 Kerberos 서비스 교장의 기본 이름.Postgres기본값입니다. Windows 환경을 위해 구축하지 않는 한 일반적 으로이 변경 사항이 없습니다.이 경우 대문자로 설정해야합니다.Postgres.

-with-segsize =segsize #

설정세그먼트 크기, 기가 바이트. 큰 테이블은 여러 작동 시스템 파일로 나뉘며 각 크기는 세그먼트 크기와 같습니다.LAGONFILE지원 (현재 대부분의 경우)은 더 큰 세그먼트 크기를 사용할 수 있습니다. 이것은 매우 큰 테이블로 작업 할 때 소비되는 파일 설명 자의 수를 줄이는 데 도움이 될 수 있습니다.타르는 사용 가능한 파일 크기에 제한을 설정할 수도 있습니다. 이 값은 절대적으로 요구되지는 않지만 2의 전력이라는 것이 좋습니다.이 값을 변경하면 온 디스크 데이터베이스 호환성이 나옵니다.pg_upgrade다른 세그먼트 크기가 다른 빌드로 업그레이드하려면

-with-blocksize =Blocksize #

설정블록 크기53468_53795pg_upgrade다른 블록 크기의 빌드로 업그레이드하려면

-with-blocksize =Blocksize #

설정WAL 블록 크기, 킬로 바이트. 이것은 WAL 로그 내 스토리지 단위 및 I/O입니다.pg_upgrade다른 월 블록 크기가 다른 빌드로 업그레이드하려면

17.3.3.6. 개발자 옵션#

이 섹션의 대부분의 옵션은 개발 또는 디버깅에만 관심이 있습니다PostgreSQL. 을 제외하고는 생산 빌드에 권장되지 않습니다.--enable-debug, 버그가 발생하는 운이 좋은 이벤트에서 자세한 버그 보고서를 활성화하는 데 유용 할 수 있습니다. dtrace를 지원하는 플랫폼에서-enable-dtrace생산에 범퍼카 토토는 것이 합리적 일 수도 있습니다.

서버 내부에서 코드를 개발하는 데 사용되는 설치를 구축 할 때 최소한 옵션을 사용하는 것이 좋습니다--enable-debugand--enable-cassert.

--enable-debug #

디버깅 기호로 모든 프로그램과 라이브러리를 컴파일합니다. 즉, 문제를 분석하기 위해 디버거에서 프로그램을 실행할 수 있습니다.

--enable-cassert #

활성화어설 션서버에서 확인하여 많은 것을 테스트합니다일어날 수 없습니다조건. 이는 코드 개발 목적으로 매우 중요하지만 테스트는 서버의 속도를 크게 늦출 수 있습니다.

-enable-tap-tests #

Perl TAP 도구를 사용하여 테스트를 활성화합니다. 여기에는 Perl 설치 및 Perl 모듈이 필요합니다ipc :: run. 참조섹션 33.4자세한 내용은

--enable-depend #

자동 종속성 추적을 활성화합니다. 이 옵션을 사용하면 헤더 파일이 변경되면 영향을받는 모든 객체 파일이 재건되도록 makefiles가 설정됩니다.

-enable-coverage #

GCC를 사용하는 경우 모든 프로그램과 라이브러리에는 코드 커버리지 테스트 기기가 컴파일됩니다. 실행되면 코드 커버리지 메트릭으로 빌드 디렉토리에서 파일을 생성합니다.참조섹션 33.5자세한 내용은이 옵션은 GCC와 함께 사용하고 개발 작업을 수행 할 때만 사용됩니다.

-enable-profiling #

GCC를 사용하는 경우 모든 프로그램과 라이브러리가 편집되어 프로파일 링 할 수 있습니다. 백엔드 출구시를 포함하는 서브 디렉토리가 생성됩니다.gmon.out프로필 데이터를 포함하는 파일. 이 옵션은 GCC와 함께 사용하고 개발 작업을 수행 할 때만 사용됩니다.

-enable-dtrace #

컴파일PostgreSQL동적 추적 도구 DTRACE를 지원합니다.참조섹션 28.5자세한 내용은

dtrace프로그램, 환경 변수dtrace를 설정할 수 있습니다. 이것은 종종 필요할 것입니다dtrace일반적으로/usr/sbinPATH.

추가 명령 줄 옵션dtrace프로그램을 환경 변수에 지정할 수 있습니다dtraceflags. Solaris에서는 64 비트 바이너리에 dtrace 지원을 포함 시키려면를 지정해야합니다.​​dtraceflags = "-64". 예를 들어 GCC 컴파일러 사용 :

./configure cc = 'gcc -m64'-enable-dtrace dtraceflags = '-64'...

Sun 's Compiler 사용 :

./configure cc = '/opt/sunwspro/bin/cc -xtarget = avative64'-enable-datrace dtraceflags = '-64'...
-with-segsize-blocks = segsize_blocks #

블록에서 관계 세그먼트 크기를 지정합니다. 둘 다-with-segsize이 옵션이 지정되면이 옵션이 승리합니다. 이 옵션은 개발자, 세그먼트 관련 코드를 테스트하는 것입니다.

17.3.4. 구성환경 변수#

위에서 설명한 일반 명령 줄 옵션 외에도구성여러 환경 변수에 응답합니다. 에서 환경 변수를 지정할 수 있습니다.구성명령 줄, 예 :

./configure cc =/opt/bin/gcc cflags = ' -o2 -pipe'

이 사용에서 환경 변수는 명령 줄 옵션과 거의 다릅니다. 그러한 변수를 미리 설정할 수도 있습니다.

내보내기 CC =/opt/bin/gcc
내보내기 cflags = '-O2 -Pipe'
./configure

많은 프로그램의 구성 스크립트가 비슷한 방식으로 이러한 변수에 응답하기 때문에이 사용법은 편리 할 수 ​​있습니다.

이러한 환경 변수에서 가장 일반적으로 사용되는 것은입니다.CCandcflags. C 컴파일러를 선호하는 경우구성선택, 변수를 설정할 수 있습니다CC선택한 프로그램에. 기본적으로구성선택GCC사용 가능한 경우 플랫폼의 기본값 (일반적으로CC). 마찬가지로 필요한 경우 기본 컴파일러 플래그를 재정의 할 수 있습니다.cflags변수.

다음은 이러한 방식으로 설정할 수있는 중요한 변수 목록입니다.

Bison #

Bison Program

CC #

C 컴파일러

cflags #

C 컴파일러로 전달할 옵션

Clang #

경로Clang컴파일 할 때 인라인을위한 소스 코드를 처리하는 데 사용되는 프로그램-with-llvm

CPP #

C 사전 처리기

CPPFLAGS #

C 전 프로세서로 전달할 옵션

CXX #

C ++ 컴파일러

CXXFLAGS #

C ++ 컴파일러로 전달할 옵션

dtrace #

의 위치dtrace프로그램

dtraceflags #

전달 옵션dtrace프로그램

Flex #

Flex Program

ldflags #

실행 파일 또는 공유 라이브러리를 연결할 때 사용할 옵션

ldflags_ex #

실행 파일 연결을위한 추가 옵션

ldflags_sl #

공유 라이브러리 연결을위한 추가 옵션 전용

llvm_config #

llvm-config찾는 데 사용되는 프로그램llvm설치

msgfmt #

msgfmt모국어 지원 프로그램

Perl #

Perl 통역사 프로그램. 이것은 pl/perl을 구축하기위한 종속성을 결정하는 데 사용됩니다.Perl.

Python #

Python 통역 프로그램. 이것은 PL/Python 구축의 종속성을 결정하는 데 사용됩니다.Python3 Python.

tclsh #

TCL 통역사 프로그램. 이것은 PL/TCL을 구축하는 데 의존성을 결정하는 데 사용됩니다.TCLSH TCL TCLSH8.6 TCLSH86 TCLSH8.5 TCLSH85 TCLSH8.4 TCLSH84.

XML2_CONFIG #

XML2-CONFIGlibxml2 설치를 찾는 데 사용되는 프로그램

때로는가 선택한 세트에 컴파일러 플래그를 추가하는 것이 유용합니다구성. 중요한 예는GCC's-werror옵션은에 포함될 수 없습니다.cflags통과구성, 많은 부분을 깨뜨릴 것이기 때문에구성의 내장 테스트. 그러한 깃발을 추가하려면에 포함 시키십시오Copt실행 중 환경 변수만들기. 의 내용Copt두 가지에 추가됩니다cflagsandldflags옵션에 의해 설정구성. 예를 들어, 할 수 있습니다

make copt = '-Werror'

또는

Export Copt = '-Werror'
만들기

note

GCC를 사용하는 경우 최적화 레벨을 최소화하여 구축하는 것이 가장 좋습니다-o1, 최적화가 없기 때문에 (-o0)는 몇 가지 중요한 컴파일러 경고 (예 : 비 초기 변수 사용)를 비활성화합니다. 그러나 0이 아닌 최적화 수준은 컴파일 된 코드를 밟는 것이 일반적으로 소스 코드 라인과 일대일 일치하지 않기 때문에 디버깅을 복잡하게 할 수 있습니다.-o0. 이를 수행하는 쉬운 방법은 옵션을 전달하는 것입니다.만들기: 프로파일 만들기 = -o0 file.o.

theCoptand프로파일환경 변수는 실제로에 의해 동일하게 처리됩니다.PostgreSQLmakefiles. 사용하는 것은 선호도의 문제이지만 개발자들 사이의 일반적인 습관은 사용하는 것입니다프로파일일회성 플래그 조정의 경우Copt항상 유지 될 수 있습니다.

정정 제출

문서에 올바르지 않은 내용이 있으면 일치하지 않습니다.이 양식문서 문제를보고하려면