이 문서는 지원되지 않는 버전의 PostgreSQL을위한 것입니다.
당신은에 대해 같은 페이지를 보려고 할 수 있습니다현재버전 또는 위에 나열된 다른 지원 버전 중 하나입니다.

16.4. 롤 토토 절차

  1. 구성

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

    ./configure
    

    이 스크립트는 다양한 시스템 종속 변수에 대한 값을 결정하고 운영 체제의 단점을 감지하기 위해 여러 가지 테스트를 실행하고 마지막으로 빌드 트리에 여러 파일을 생성하여 찾은 내용을 기록합니다. 당신은 또한 실행할 수 있습니다구성Build 디렉토리를 별도로 유지하려면 소스 트리 외부의 디렉토리에 있습니다. 이 절차는 A라고도합니다.vpath빌드. 방법은 다음과 같습니다.

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

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

    다음 명령 줄 옵션 중 하나 이상을 제공하여 빌드 및 롤 토토 프로세스를 사용자 정의 할 수 있습니다구성:

    -prefix =prefix

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

    특별한 요구가있는 경우 다음 옵션으로 개별 하위 디렉토리를 사용자 정의 할 수도 있습니다. 그러나 기본값으로 이들을두면 롤 토토가 재배치 가능이므로 롤 토토 후 디렉토리를 이동할 수 있습니다. (그만큼mandoc위치는 이것의 영향을받지 않습니다.)

    재배치 가능한 롤 토토의 경우 사용하고 싶을 수도 있습니다구성's-disable-ratp옵션. 또한 운영 체제에 공유 라이브러리를 찾는 방법을 알려야합니다.

    --exec-prefix =exec-prefix

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

    --Bindir =디렉토리

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

    -sysconfdir =디렉토리

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

    -libdir =디렉토리

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

    -includedir =디렉토리

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

    -datarootdir =디렉토리

    다양한 유형의 읽기 전용 데이터 파일에 대한 루트 디렉토리를 설정합니다. 다음 옵션 중 일부에 대한 기본값 만 설정합니다. 기본값은prefix/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, Sysconfdirdocdir18815_18888Postgres또는PGSQL. 예를 들어, 선택한 경우/usr/local접두사로 문서가 롤 토토됩니다./usr/local/doc/postgresql, 그러나 접두사가있는 경우/opt/postgres/opt/postgres/doc. 클라이언트 인터페이스의 공개 C 헤더 파일이에 롤 토토됩니다.포함그리고 네임 스페이스 청소입니다. 내부 헤더 파일과 서버 헤더 파일은의 개인 디렉토리에 롤 토토됩니다.포함. 헤더 파일에 액세스하는 방법에 대한 정보는 각 인터페이스의 문서를 참조하십시오. 마지막으로, 개인 서브 디렉토리도 적절한 경우에 따라 생성됩니다.Libdir동적으로로드 가능한 모듈의 경우.

    -extra-version =String

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

    -with-includes =디렉토리

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

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

    -with-libraries =디렉토리

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

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

    --enable-nls [=언어]

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

    이 옵션을 사용하려면 구현이 필요합니다.getTextAPI; 위의 참조.

    -with-pgport =번호

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

    -with-perl

    빌드pl/perl서버 측 언어.

    -with-python

    빌드pl/python서버 측 언어.

    -with-tcl

    빌드PL/TCL서버 측 언어.

    -with-tclconfig =디렉토리

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

    -with-gssapi

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

    -with-krb-srvnam =이름

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

    -with-llvm

    지원을 통해 빌드LLVM기반jit컴파일(참조제 31 장). 이것은 필요합니다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-iCu

    ICU라이브러리. 이것은 필요합니다ICU4C롤 토토할 패키지. 최소 필수 버전의ICU4C현재 4.2입니다.

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

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

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

    -With-OpensSL

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

    -with-pam

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

    -with-bsd-auth

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

    -with-ldap

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

    -with-systemd

    지원을 통해 빌드SystemD서비스 알림. 서버 바이너리가 시작되면가 시작되면 통합이 향상됩니다.SystemD그러나 그렇지 않으면 영향을 미치지 않습니다; 보다PostgreSQL : 문서 : 12 : 18.3. 데이터베이스 메이저 토토 사이트 시작자세한 내용은. libsystemd이 옵션을 사용할 수 있도록 관련 헤더 파일을 롤 토토해야합니다.

    -without-Readline

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

    -with-libedit preferred

    BSD 라이센스의 사용을 선호libeditGPL 라이센스 대신 라이브러리Readline. 이 옵션은 두 라이브러리가 롤 토토된 경우에만 중요합니다. 이 경우 기본값은 사용하는 것입니다Readline.

    -with-bonjour

    Bonjour 지원으로 빌드. 이를 위해서는 운영 체제에서 Bonjour 지원이 필요합니다. MacOS에서 추천.

    -with-uuid =도서관

    빌드PostgreSQL : 문서 : 12 : F.44. 토토 베이-sossp지정된 UUID 라이브러리를 사용하여 UUID를 생성하기위한 기능을 제공하는 모듈.. 도서관

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

    • E2FSE2FSPROG프로젝트; 이 라이브러리는 대부분의 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-CONFIG35182_35253pkg-config다중 아키텍처 롤 토토를 더 잘 처리 할 수 ​​있기 때문에 선호됩니다.

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

    -with-libxslt

    빌드 할 때 libxslt 사용PostgreSQL : 문서 : C| 스포츠 토토 | : F.45. XML3 |모듈.XML2XML의 XSL 변환을 수행하기 위해이 라이브러리에 의존합니다.

    -disable-float4-byval

    전달 된 플로트 4 값 비활성화별로참조대신. 이 옵션은 성능이 요약되지만 C로 작성된 기존 사용자 정의 기능과의 호환성에 필요할 수 있습니다.버전 0전화 컨벤션. 더 나은 장기 솔루션은 이러한 기능을 업데이트하여를 사용하는 것입니다.버전 1전화 컨벤션.

    -disable-float8-byval

    전달되는 플로트 8 값 비활성화value참조대신. 이 옵션은 성능이 요약되지만 C로 작성된 기존 사용자 정의 기능과의 호환성에 필요할 수 있습니다.버전 0전화 컨벤션. 더 나은 장기 솔루션은 이러한 기능을 업데이트하여를 사용하는 것입니다.버전 1전화 컨벤션. 이 옵션은 Float8뿐만 아니라 Int8 및 Timestamp와 같은 일부 관련 유형에도 영향을 미칩니다. 32 비트 플랫폼에서-disable-float8-byval기본값이며 선택할 수 없습니다-enable-float8-byval.

    -with-segsize =segsize

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

    -with-blocksize =Blocksize

    설정블록 크기, 킬로 바이트. 이것은 테이블 내의 저장 장치 및 I/O입니다. 기본 8 킬로바이트는 대부분의 상황에 적합합니다. 그러나 다른 값은 특별한 경우에 유용 할 수 있습니다. 값은 1에서 32 사이 (킬로 바이트) 사이의 전력이어야합니다. 이 값을 변경하려면 initDB가 필요합니다.

    -with-blocksize =blocksize

    설정WAL 블록 크기, 킬로 바이트. 이것은 WAL 로그 내 스토리지 단위 및 I/O입니다. 기본 8 킬로바이트는 대부분의 상황에 적합합니다. 그러나 다른 값은 특별한 경우에 유용 할 수 있습니다. 값은 1에서 64 사이 (킬로 바이트) 사이의 전력이어야합니다. 이 값을 변경하려면 initDB가 필요합니다.

    -disable-spinlocks

    PostgreSQL플랫폼에 대한 CPU 스핀 록 지원이 없습니다. 스핀 락지지의 부족으로 인해 성능이 저하됩니다. 따라서이 옵션은 빌드가 중단되고 플랫폼에 스핀 록 지원이 부족하다는 것을 알려주는 경우에만 사용해야합니다. 이 옵션이 빌드에 필요한 경우PostgreSQL플랫폼에서 문제를에보고하십시오.postgresql개발자.

    -disable-shread-safety

    클라이언트 라이브러리의 스레드 안전성을 비활성화합니다. 이것은 동시 스레드를 방지합니다libpqandECPG개인 연결 핸들을 안전하게 제어하는 ​​프로그램.

    -with-system-tzdata =디렉토리

    PostgreSQL날짜 및 시간 작업에 필요한 자체 시간 영역 데이터베이스가 포함되어 있습니다. 이 Time Zone 데이터베이스는 실제로 FreeBSD, Linux 및 Solaris와 같은 많은 운영 체제에서 제공하는 IANA Time Zone 데이터베이스와 호환되므로 다시 롤 토토하는 것이 중복됩니다. 이 옵션이 사용되면 시스템이 제공되는 시간대 데이터베이스디렉토리PostgreSQL 소스 분포에 포함 된 대신 사용됩니다.디렉토리절대 경로로 지정되어야합니다./usr/share/ZoneInfo는 일부 운영 체제의 디렉토리 일 가능성이 높습니다. 롤 토토 루틴은 불일치 또는 잘못된 시간대 데이터를 감지하지 않습니다. 이 옵션을 사용하는 경우 회귀 테스트를 실행하여 귀하가 지적한 시간대 데이터가 올바르게 작동하는지 확인하는 것이 좋습니다PostgreSQL.

    이 옵션은 주로 목표 운영 체제를 잘 알고있는 이진 패키지 유통 업체를 목표로합니다. 이 옵션을 사용하는 주요 장점은 많은 지역 일광 절약 시간 규칙이 변경 될 때마다 PostgreSQL 패키지를 업그레이드 할 필요가 없다는 것입니다. 또 다른 장점은 롤 토토 중에 시간대 데이터베이스 파일을 빌드 할 필요가없는 경우 PostgreSQL을보다 간단하게 컴파일 할 수 있다는 것입니다.

    -without-zlib

    사용 방지Zlib라이브러리. 이것은 압축 아카이브에 대한 지원을 비활성화합니다pg_dumpandPG_RESTORE. 이 옵션은이 라이브러리를 사용할 수없는 희귀 한 시스템에 대해서만 의존합니다.

    -enable-debug

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

    -enable-coverage

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

    -enable-profiling

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

    -enable-cassert

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

    --enable-depend

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

    -enable-dtrace

    컴파일PostgreSQL동적 추적 도구 DTRACE를 지원합니다.참조배트맨 토토 PostgreSQL : 문서 : 12 : 27.5. 동적 추적자세한 내용은

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

    추가 명령 줄 옵션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 = aviL64'-enable-dtrace dtraceflags = '-64'...
    -enable-tap-tests

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

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

    당신은에 환경 변수를 지정할 수 있습니다.구성명령 줄, 예 :

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

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

    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 구축의 종속성을 결정하는 데 사용됩니다. 또한, 여기에 Python 2 또는 3이 지정되는지 (또는 암시 적으로 선택된) PL/Python 언어의 변형이 사용 가능한지 결정합니다. 보다PostgreSQL : 문서 : 12 : 45.1. 젠 토토 2 vs. 젠 토토 3자세한 내용. 이것이 설정되지 않은 경우 다음이 순서대로 조사됩니다.Python Python3 Python2.

    tclsh

    TCL 통역사 프로그램. 이것은 PL/TCL을 구축하기위한 종속성을 결정하는 데 사용되며 TCL 스크립트로 대체됩니다.

    XML2_CONFIG

    XML2-CONFIGlibxml2 롤 토토를 찾는 데 사용되는 프로그램

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

    make copt = '-werror'
    

    또는

    Export Copt = '-Werror'
    만들기
    

    note

    서버 내부에서 코드를 개발할 때 구성 옵션을 사용하는 것이 좋습니다--enable-cassert(많은 런 타임 오류 확인을 켜는) 및-enable-debug(디버깅 도구의 유용성을 향상시킵니다).

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

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

  2. build

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

    만들기
    전부 만들기
    

    (사용해야gnu 만들기.) 빌드는 하드웨어에 따라 몇 분이 걸립니다. 표시된 마지막 줄은 다음과 같아야합니다.

    모든 PostgreSQL이 성공적으로 만들어졌습니다. 롤 토토 준비.

    문서 (HTML 및 맨 페이지) 및 추가 모듈 (을 포함하여 빌드 할 수있는 모든 것을 빌드하려면Contrib), 대신 유형 :

    세계 만들기
    

    마지막 줄은 다음과 같아야합니다.

    PostgreSQL, Contrib 및 문서화가 성공적으로 작성되었습니다. 롤 토토 준비.

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

    World-Bin 만들기
    

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

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

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

  3. 회귀 테스트

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

    확인
    

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

  4. 파일 롤 토토

    Note

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

    롤 토토하려면PostgreSQLenter :

    롤 토토 만들기
    

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

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

    롤 토토 -Docs 만들기
    

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

    롤 토토 세계 만들기
    

    이것은 또한 문서를 롤 토토합니다.

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

    롤 토토 세계 만들기
    

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

    표준 롤 토토는 클라이언트 애플리케이션 개발 및 COMENT 기능 개발에 필요한 모든 헤더 파일을 제공합니다.PostgreSQL8.0, 별도롤 토토 자매 제작후자에는 명령이 필요했지만이 단계는 표준 롤 토토로 접혀졌습니다.)

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

    -C SRC/BIN 롤 토토 제작
    -C SRC/include install
    -C SRC/인터페이스 롤 토토 만들기
    -C DOC 롤 토토 MAKE
    

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

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

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

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