17.4. 무지개 토토 절차

  1. 구성

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

    ./configure
    

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

    당신도 실행할 수 있습니다구성10882_11055vpath빌드. 방법은 다음과 같습니다.

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

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

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

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

  2. build

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

    만들기
    전부 만들기
    

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

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

    세계 만들기
    

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

    World-Bin 만들기
    

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

    build-postgresql :
            $ (make) -c postgresql makelevel = 0 all

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

  3. 회귀 테스트

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

    확인
    

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

  4. 파일 무지개 토토

    Note

    기존 시스템을 업그레이드하는 경우 읽으십시오PostgreSQL : 문서 : 15 : 19.6. PostgreSQL 클러스터 와이즈 토토, 클러스터 업그레이드에 대한 지침이 있습니다.

    무지개 토토하려면postgresqlenter :

    무지개 토토
    

    이것은에 지정된 디렉토리에 파일을 무지개 토토합니다.1 단계. 해당 영역에 적절한 권한이 있는지 확인하십시오. 일반적 으로이 단계를 루트로 수행해야합니다. 또는 대상 디렉토리를 미리 만들고 적절한 권한을 부여 할 수 있도록 준비 할 수 있습니다.

    문서를 무지개 토토하려면 (html 및 man pages)를 입력하십시오 :

    무지개 토토 DOCS 만들기
    

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

    무지개 토토 세계 만들기
    

    이것은 또한 문서를 무지개 토토합니다.

    위의 문서없이 세계를 건설 한 경우 대신 입력하십시오.

    무지개 토토 세계 만들기
    

    사용할 수 있습니다무지개 토토-스트립 만들기대신무지개 토토무지개 토토된 실행 파일과 라이브러리를 제거하려면. 이것은 약간의 공간을 절약 할 것입니다. 디버깅 지원으로 구축 한 경우 스트리핑은 디버깅 지원을 효과적으로 제거하므로 디버깅이 더 이상 필요하지 않은 경우에만 수행해야합니다.무지개 토토-스트립합리적인 구직 공간을 만들려고하지만 실행 파일에서 불필요한 바이트를 제거하는 방법에 대한 완벽한 지식은 없으므로 가능한 모든 디스크 공간을 저장하려면 수동 작업을 수행해야합니다..

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

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

    -C SRC/BIN 무지개 토토 제작
    -C SRC/include install
    -C SRC/인터페이스 무지개 토토
    -C DOC 무지개 토토 MAKE
    

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

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

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

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

19466_19481구성옵션

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

17.4.1.1. 무지개 토토 위치

이 옵션 제어 위치무지개 토토파일을 넣습니다. 그만큼-prefix옵션은 대부분의 경우 충분합니다. 특별한 요구가있는 경우이 섹션에 설명 된 다른 옵션으로 무지개 토토 하위 디렉토리를 사용자 정의 할 수 있습니다. 그러나 다른 하위 디렉토리의 상대 위치를 변경하면 무지개 토토가 재생 불가능할 수 있습니다. 즉, 무지개 토토 후에는 이동할 수 없습니다. (그만큼mananddoc위치는이 제한의 영향을받지 않습니다.) 재배치 가능한 무지개 토토의 경우를 사용할 수 있습니다.-disable-ratp나중에 설명 된 옵션.

-prefix =prefix

디렉토리 아래의 모든 파일 무지개 토토prefix대신/usr/local/pgsql. 실제 파일은 다양한 하위 디렉터로 무지개 토토됩니다. 파일은에 직접 무지개 토토되지 않습니다.prefix디렉토리.

--exec-prefix =exec-prefix

다른 접두사 아래에 아키텍처에 따른 파일을 무지개 토토할 수 있습니다.exec-prefix, 무엇보다prefix이것은 호스트간에 아키텍처 독립적 파일을 공유하는 데 유용 할 수 있습니다. 당신이 이것을 생략하면exec-prefix동일하게 설정되어접두사그리고 아키텍처 의존 및 독립 파일 모두 같은 트리 아래에 무지개 토토 될 것입니다. 아마도 원하는 것일 것입니다.

--- bindir =디렉토리

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

-sysconfdir =디렉토리

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

-libdir =디렉토리

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

-includedir =디렉토리

C 및 C ++ 헤더 파일을 무지개 토토하기위한 디렉토리를 설정합니다. 기본값은prefix/include.

-datarootdir =디렉토리

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

-datadir =디렉토리

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

--localedir =디렉토리

로케일 데이터를 무지개 토토하기위한 디렉토리, 특히 메시지 번역 카탈로그 파일을 설정합니다. 기본값은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.4.1.2. postgresql기능

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

--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-iCu

ICU라이브러리, ICU 콜레이션 기능 사용 가능(참조PostgreSQL : 문서 : 15 : 24.2. 와이즈 토토 Support). 이것은 필요합니다ICU4C무지개 토토할 패키지. 최소 필수 버전의ICU4C현재 4.2입니다.

기본적으로pkg-config필요한 컴파일 옵션을 찾는 데 사용됩니다. 이것은 지원됩니다ICU4C버전 4.6 이상. 이전 버전의 경우 또는 IFpkg-config사용하지 않아 변수icu_cflagsandicu_libs지정할 수 있습니다구성,이 예에서와 같이 :

./configure ... -with -icu icu_cflags = ' -i/some/where/포함'icu_libs = ' -l/some/where/lib -licui18n -licuuc -licudata'

(ifICU4C| 컴파일러의 기본 검색 경로에 있으면 사용을 피하기 위해서는 비어 있지 않은 문자열을 지정해야합니다.pkg-config, 예를 들어icu_cflags = ''.)

-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 인증을 지원하는 빌드. 많은 시스템에서 GSSAPI 시스템 (일반적으로 Kerberos 무지개 토토의 일부)은 기본적으로 검색되는 위치에 무지개 토토되어 있지 않습니다 (예 :/usr/include, /usr/lib), 옵션을 사용해야합니다-with-includes-이사 리브러리이 옵션 외에도.구성필요한 헤더 파일 및 라이브러리를 확인하여 진행하기 전에 GSSAPI 무지개 토토가 충분했는지 확인합니다.

-with-ldap

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

-with-pam

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

-with-bsd-auth

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

-with-systemd

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

-with-bonjour

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

-with-uuid =도서관

빌드PostgreSQL : 문서 : 15 : F.49. 스포츠 토토-sosspMODULE (지정된 UUID 라이브러리를 사용하여 UUID를 생성하기위한 기능을 제공합니다. 도서관

  • BSDfreebsd 및 기타 BSD 유래 시스템에있는 UUID 함수를 사용하려면

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

  • OSSP사용하려면OSSP UUID 라이브러리

-with-sossp-uuid

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

-with-libxml

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

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

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

-with-libxslt

libxslt를 사용하여 빌드하여 활성화메이저 토토 사이트 PostgreSQL : 문서 : 15 : F.50. XML2XML의 XSL 변환을 수행 할 모듈-with-libxml지정해야합니다.

17.4.1.3. 반사

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

-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 원자 연산의 사용 비활성화. 이 옵션은 그러한 작업이 부족한 플랫폼에서 아무것도하지 않습니다. 이 플랫폼이있는 플랫폼에서는 성능이 저하됩니다. 이 옵션은 디버깅 또는 성능 비교에만 유용합니다.

-드리 스레드-안전

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

17.4.1.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 패키지를 업그레이드 할 필요가 없다는 것입니다. 또 다른 장점은 무지개 토토 중에 시간대 데이터베이스 파일을 빌드 할 필요가없는 경우 PostgreSQL을보다 간단하게 컴파일 할 수 있다는 것입니다.

-extra-version =String

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

-disable-ratp

마크하지 마십시오PostgreSQL의 실행 파일은 무지개 토토의 라이브러리 디렉토리에서 공유 라이브러리를 검색해야 함을 나타 내기 위해 실행 가능합니다 (참조-libdir). 대부분의 플랫폼 에서이 마킹은 라이브러리 디렉토리의 절대 경로를 사용하므로 나중에 무지개 토토를 재배치하면 도움이되지 않습니다. 그러나 실행 파일이 공유 라이브러리를 찾을 수있는 다른 방법을 제공해야합니다. 일반적으로 라이브러리 디렉토리를 검색하려면 운영 체제의 동적 링커를 구성해야합니다. 보다섹션 17.5.1자세한 내용은

17.4.1.5. 여러 가지 잡다한

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

-with-pgport =번호

set번호서버 및 클라이언트의 기본 포트 번호로. 기본값은 5432입니다. 포트는 항상 나중에 변경할 수 있지만 여기에서 지정하면 서버와 클라이언트 모두 동일한 기본값을 컴파일하여 매우 편리 할 수 있습니다. 일반적으로 비 분리 값을 선택 해야하는 유일한 이유는 다중 실행하려는 경우입니다.PostgreSQL같은 기계의 서버.

-with-krb-srvnam =이름

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

-with-segsize =segsize

설정세그먼트 크기, 기가 바이트. 큰 테이블은 여러 작동 시스템 파일로 나뉘며 각 크기는 세그먼트 크기와 같습니다. 이는 많은 플랫폼에 존재하는 파일 크기 제한에 문제가되지 않습니다. 기본 세그먼트 크기 인 1 기가 바이트는 모든 지원되는 플랫폼에서 안전합니다. 운영 체제가있는 경우LAGONFILE지원 (현재 대부분의 경우)은 더 큰 세그먼트 크기를 사용할 수 있습니다. 이것은 매우 큰 테이블로 작업 할 때 소비되는 파일 설명 자의 수를 줄이는 데 도움이 될 수 있습니다. 그러나 플랫폼과 사용하려는 파일 시스템에서 지원하는 것보다 큰 값을 선택하지 않도록주의하십시오. 사용하고 싶은 다른 도구 (예 :타르, 유용한 파일 크기에 제한을 설정할 수도 있습니다. 이 값은 절대적으로 요구되지는 않지만 2의 전력이라는 것이 좋습니다.이 값을 변경하면 온 디스크 데이터베이스 호환성이 나옵니다.pg_upgrade다른 세그먼트 크기가 다른 빌드로 업그레이드하려면

-with-blocksize =Blocksize

설정블록 크기, 킬로 바이트. 이것은 테이블 내의 저장 장치 및 I/O입니다. 기본 8 킬로바이트는 대부분의 상황에 적합합니다. 그러나 다른 값은 특별한 경우에 유용 할 수 있습니다. 값은 1에서 32 사이 (킬로 바이트) 사이의 전력이어야합니다. 이 값을 변경하면 온 디스크 데이터베이스 호환성이 나옵니다.pg_upgrade다른 블록 크기로 빌드로 업그레이드하려면

-with-blocksize =blocksize

설정WAL 블록 크기54291_54626pg_upgrade다른 월 블록 크기가 다른 빌드로 업그레이드하려면

17.4.1.6. 개발자 옵션

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

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

-enable-debug

디버깅 기호로 모든 프로그램과 라이브러리를 컴파일합니다. 즉, 문제를 분석하기 위해 디버거에서 프로그램을 실행할 수 있습니다. 이는 무지개 토토된 실행 파일의 크기를 상당히 확대하고 비 GCC 컴파일러에서는 일반적으로 컴파일러 최적화를 비활성화하여 속도가 느려집니다. 그러나 기호를 사용할 수있게하는 것은 발생할 수있는 문제를 다루는 데 매우 유용합니다. 현재이 옵션은 GCC를 사용하는 경우에만 생산 무지개 토토에 권장됩니다. 그러나 개발 작업을 수행하거나 베타 버전을 실행하는 경우 항상 사용해야합니다.

-enable-cassert

활성화어설 션서버에서 확인하여 많은 것을 테스트합니다일어날 수 없음조건. 이는 코드 개발 목적으로 매우 중요하지만 테스트는 서버의 속도를 크게 늦출 수 있습니다. 또한 테스트를 켜면 서버의 안정성이 반드시 향상되지는 않습니다! 어설 션 검사는 심각도로 분류되지 않으므로 비교적 무해한 버그가 될 수있는 것은 어설 션 실패를 유발하는 경우 서버 재시작으로 이어질 것입니다. 이 옵션은 생산 사용에 권장되지 않지만 개발 작업이나 베타 버전을 실행할 때는 이용해야합니다.

-enable-tap-tests

Perl TAP 도구를 사용하여 테스트를 활성화합니다. 여기에는 Perl 무지개 토토 및 Perl 모듈이 필요합니다ipc :: run. 참조PostgreSQL : 문서 : 15 : 33.4. 탭 토토자세한 내용은

--enable-depend

자동 종속성 추적을 활성화합니다. 이 옵션을 사용하면 헤더 파일이 변경되면 영향을받는 모든 객체 파일이 재건되도록 makefiles가 설정됩니다. 이것은 개발 작업을 수행하는 경우 유용하지만 한 번만 컴파일하고 무지개 토토하려는 경우 오버 헤드 낭비입니다. 현재이 옵션은 GCC에서만 작동합니다.

-enable-coverage

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

-enable-profiling

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

-enable-dtrace

컴파일PostgreSQL동적 추적 도구 DTRACE를 지원합니다.참조배트맨 토토 PostgreSQL : 문서 : 15 : 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-dtrace dtraceflags = '-64'...

17.4.2. 구성환경 변수

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

./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 Preprocessor

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실행 중 환경 변수make. 의 내용Copt두 사람 모두에 추가됩니다cflagsldflags옵션에 의해 설정구성. 예를 들어, 할 수 있습니다

make copt = '-werror'

또는

Export Copt = '-Werror'
만들기

note

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

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

수정 제출

문서에 올바른 것이 없다면 일치하지 않습니다. 특정 기능에 대한 귀하의 경험 또는 추가 설명이 필요합니다. 사용이 양식문서 문제를보고하려면