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

15.4. 윈 토토 절차

  1. 구성

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

    ./configure

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

    mkdir build_dir
    cd build_dir
    /path/to/source/tree/configure [옵션 이동]
    gmake

    기본 구성이 서버 및 유틸리티를 구축합니다. 뿐만 아니라 모든 클라이언트 애플리케이션 및 인터페이스 만 C 컴파일러. 모든 파일이에 설치됩니다./usr/local/pgsql기본적으로.

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

    --prefix =prefix

    디렉토리 아래의 모든 파일 윈 토토prefix대신/usr/local/pgsql. 실제 파일이 될 것입니다 다양한 하위 디렉터에 윈 토토; 파일은 없습니다 에 직접 윈 토토prefix디렉토리.

    특별한 도움이 필요한 경우 개인을 사용자 정의 할 수도 있습니다. 다음 옵션이있는 하위 부문. 그러나 떠나면 기본값과 함께 설치가 이전 가능하며 즉, 설치 후 디렉토리를 이동할 수 있습니다. (그만큼mananddoc위치는 이것의 영향을받지 않습니다.)

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

    --exec-prefix =exec-prefix

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

    --- bindir =디렉토리

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

    -sysconfdir =디렉토리

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

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

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

    -with-includes =디렉토리

    디렉토리콜론-분리 된 것입니다 컴파일러 목록에 추가 될 디렉토리 목록 헤더 파일을 검색합니다. 선택적 패키지가있는 경우 (예 : 암소 비슷한 일종의 영양Readline) a 비표준 위치,이 옵션을 사용해야하며 아마도 또한 해당--이사 리브러리옵션.

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

    -with-libraries =디렉토리

    디렉토리콜론-분리 된 것입니다 라이브러리 검색 디렉토리 목록. 당신은 아마 가질 것입니다 이 옵션을 사용하려면 (및 해당-with-includes옵션) 패키지가있는 경우 비표준 위치에 윈 토토되었습니다.

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

    --enable-nls [=언어]

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

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

    -with-pgport =번호

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

    -with-perl

    빌드pl/perl서버 측 언어.

    -with-python

    빌드pl/python서버 측 언어.

    -with-tcl

    빌드pl/tcl서버 측 언어.

    -with-tclconfig =디렉토리

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

    -with-gssapi

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

    -with-krb5

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

    -with-krb-srvnam =이름

    Kerberos 서비스 교장의 기본 이름 (또한 사용 gssapi).Postgres기본값입니다. 거기 있습니다 일반적으로 창문이 없으면 이것을 변경할 이유가 없습니다. 환경,이 경우 대문자로 설정해야합니다Postgres.

    -With-OpensSL

    지원을 통해 빌드SSL(암호화 된) 연결. 이것은 필요합니다OpenSSL윈 토토할 패키지.구성필요한 헤더 파일을 확인합니다 그리고 당신의 도서관OpenSSL윈 토토가 충분합니다 진행.

    -with-pam

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

    -with-ldap

    빌드LDAP지원 인증 및 연결 매개 변수 조회 (참조섹션 31.17and섹션 19.3.8더 많은 것 정보). 유닉스에서는이 필요합니다.OpenLDap윈 토토할 패키지. 창문에서 기본값winldap라이브러리입니다 사용된.구성필요한 헤더 파일 및 라이브러리가 귀하의OpenLdap윈 토토입니다 진행하기 전에 충분합니다.

    -without-Readline

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

    -with-libedit-preferred

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

    -with-bonjour

    Bonjour 지원으로 빌드. 이를 위해서는 Bonjour 지원이 필요합니다 운영 체제. Mac OS X에서 권장

    -with-sossp-uuid

    OSSP UUID 도서관. 구체적으로, 구축uuid-sossp모듈은 기능을 제공합니다 uuids 생성.

    -with-libxml

    libxml을 사용하여 빌드합니다 (SQL/XML 지원 활성화). libxml 버전 이 기능에는 2.6.23 이상이 필요합니다.

    libxml 프로그램 윈 토토xml2-config필요한 컴파일러 및 링커를 감지하는 데 사용할 수 있습니다. 옵션. PostgreSQL은 찾은 경우 자동으로 사용합니다. 지정합니다 비정상적인 위치에 libxml 설치를하면 설정할 수 있습니다. 환경 변수XML2_CONFIGto 지적XML2-CONFIG프로그램 소속 설치 또는 옵션 사용-with-includesand-with-libraries.

    -with-libxslt

    구축 할 때 libxslt 사용토토 : 문서 : 9.3 : 토토2모듈.XML2이것에 의존합니다 XML의 XSL 변환을 수행하는 라이브러리

    -disable-integer-datetimes

    타임 스탬프를위한 64 비트 정수 저장에 대한 지원을 비활성화합니다 간격 및 DateTime 값을 부동 소수점 번호로 저장하십시오 대신에. 플로팅 포인트 DateTime Storage는의 기본값이었습니다.postgresql8.4 이전의 릴리스, 그러나 이제는 마이크로 초를 지원하지 않기 때문에 이제는 더 이상 사용되지 않습니다. 전체 범위의 정밀도타임 스탬프값. 그러나 정수 기반 DateTime 스토리지에는 64 비트가 필요합니다 정수 유형. 따라서이 옵션은 그러한 유형이 없을 때 사용할 수 있습니다. 사용 가능하거나 작성된 응용 프로그램과의 호환성 이전 버전의PostgreSQL. 보다PostgreSQL : 문서 : 9.3 : 날짜/배트맨 토토 유형더 많은 정보.

    -disable-float4-byval

    전달 된 플로트 4 값 비활성화"에 의해 값", 통과"에 의해 참조"대신. 이 옵션은 성능이 요약되지만 5 월 이전 사용자 정의 기능과의 호환성을 위해 필요합니다 C로 작성되었으며 사용"버전 0"전화 컨벤션. 더 나은 장기 솔루션은 업데이트하는 것입니다 이러한 기능을 사용하는 기능"버전 1"전화 컨벤션.

    -disable-float8-byval

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

    -with-segsize =segsize

    설정세그먼트 크기, 기가 바이트. 큰 테이블은 각각 ​​여러 운영 시스템 파일로 나뉩니다 세그먼트 크기와 동일한 크기입니다. 이것은 파일의 문제를 피합니다 많은 플랫폼에 존재하는 크기 제한. 기본 세그먼트 크기, 1 기가 바이트는 모든 지원되는 플랫폼에서 안전합니다. 운영하는 경우 시스템은"laglefile"지원 ( 대부분은 요즘) 더 큰 세그먼트 크기를 사용할 수 있습니다. 이것은 될 수 있습니다 언제든지 소비 된 파일 설명자 수를 줄이는 데 도움이됩니다. 매우 큰 테이블로 작업합니다. 그러나 a를 선택하지 않도록주의하십시오 플랫폼과 파일에서 지원하는 것보다 큰 가치 사용하려는 시스템. 사용하고 싶은 다른 도구 처럼타르도 제한을 설정할 수도 있습니다 사용 가능한 파일 크기. 절대적으로는 아니지만 권장됩니다 이 값은 2의 힘이어야합니다. 값은 initdb가 필요합니다.

    -with-blocksize =Blocksize

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

    -With-Wal-segsize =segsize

    설정WAL 세그먼트 크기, 메가 바이트. 이것은 WAL 로그의 각 개별 파일의 크기입니다. 그럴 수도 있습니다 WAL 로그의 세분성을 제어하기 위해이 크기를 조정하는 데 유용합니다. 해운. 기본 크기는 16 메가 바이트입니다. 값은 a 1에서 64 사이의 2의 힘 (메가 바이트). 이것을 변경하십시오 값은 initdb가 필요합니다.

    -with-blocksize =blocksize

    설정WAL 블록 크기30110_30402

    -disable-spinlocks

    빌드가 성공할 수 있도록 허용PostgreSQL플랫폼. 스핀 락지지가 부족하면 열악한 결과가 나옵니다 성능; 따라서이 옵션은 다음과 같은 경우에만 사용해야합니다 중단을 건축하고 플랫폼에 스핀 락이 없음을 알려줍니다. 지원하다. 이 옵션이 빌드에 필요한 경우PostgreSQL플랫폼에서보고하십시오 문제PostgreSQL개발자.

    -드리 스레드-안전

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

    -with-system-tzdata =디렉토리

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

    이 옵션은 주로 이진 패키지 유통 업체를 대상으로합니다. 목표 운영 체제를 잘 알고 있습니다. 의 주요 장점 이 옵션을 사용하면 PostgreSQL 패키지가 많은 지역 일광 절약 시간 규칙이있을 때마다 업그레이드 변화. 또 다른 장점은 PostgreSQL을 교차 컴파일 할 수 있다는 것입니다 시간대 데이터베이스 파일이 필요하지 않은 경우 더 간단하게 설치 중에 구축 될 예정입니다.

    -without-zlib

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

    --enable-debug

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

    -enable-coverage

    GCC를 사용하는 경우 모든 프로그램과 라이브러리는 코드로 컴파일됩니다. 커버리지 테스트 계측. 실행되면 파일을 생성합니다 코드 커버리지 메트릭이있는 빌드 디렉토리. 보다섹션 30.4자세한 내용. 이것 옵션은 GCC와 함께 사용하고 개발을 수행 할 때 사용하는 것입니다. 일하다.

    -enable-profiling

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

    -enable-cassert

    활성화어제서버에서 확인, 많은 테스트"발생할 수 없습니다"조건. 이것은 코드 개발 목적으로 매우 중요하지만 테스트는 서버를 크게 느리게 할 수 있습니다. 또한, 켜진 테스트가 반드시 귀하의 안정성을 향상시키는 것은 아닙니다. 섬기는 사람! 어설 션 점검은 심각도에 대해 분류되지 않습니다 비교적 무해한 버그는 여전히 서버는 어설 션 실패를 유발하는 경우 다시 시작됩니다. 이 옵션은입니다 생산 사용에 권장되지는 않지만 개발 작업 또는 베타 버전을 실행할 때.

    --enable-depend

    자동 종속성 추적을 활성화합니다. 이 옵션으로 영향을받는 모든 객체 파일이 헤더 파일이 변경되면 재건됩니다. 이것은 당신이 있다면 유용합니다 개발 작업을 수행하지만 의도 한 경우 오버 헤드 낭비입니다. 한 번만 컴파일하고 설치하십시오. 현재이 옵션 만 GCC와 함께 작동합니다.

    -enable-dtrace

    컴파일PostgreSQL동적 추적 도구 DTRACE 지원. 보다섹션 27.4자세한 내용은

    dtrace프로그램, 환경 변수dtrace를 설정할 수 있습니다. 이것 이기 때문에 종종 필요할 것입니다.dtraceIS 일반적으로에 윈 토토/usr/sbin, 길에 있지 않을 수도 있습니다.

    추가 명령 줄 옵션dtrace프로그램은 환경에서 지정할 수 있습니다 변하기 쉬운dtraceflags. Solaris에서는 포함됩니다 DTRACE 지원 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'...

    하나와 다른 C 컴파일러를 선호하는 경우구성선택, 환경을 설정할 수 있습니다 변하기 쉬운CC선택한 프로그램에. 기본적으로구성선택GCC사용 가능한 경우 플랫폼이 있습니다 기본값 (보통CC). 마찬가지로, 당신은 할 수 있습니다 필요한 경우 기본 컴파일러 플래그를 대체하십시오cflags변수.

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

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

    여기에 설정할 수있는 중요한 변수 목록이 있습니다. 이 방법 :

    Bison

    Bison Program

    CC

    C 컴파일러

    cflags

    C 컴파일러로 전달할 옵션

    CPP

    C 전 처리기

    CPPFLAGS

    C 전 처리기로 전달할 옵션

    dtrace

    위치의 위치dtrace프로그램

    dtraceflags

    전달 옵션dtrace프로그램

    Flex

    Flex Program

    ldflags

    실행 파일을 연결하거나 공유 할 때 사용할 옵션 도서관

    ldflags_ex

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

    ldflags_sl

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

    msgfmt

    msgfmt모국어 프로그램 지원하다

    38799_38805

    Perl 통역사의 전체 경로 이름. 이것은 익숙합니다 pl/perl을 구축하기위한 종속성을 결정하십시오.

    Python

    Python 통역사의 전체 경로 이름. 이것은 익숙합니다 PL/Python 구축의 종속성을 결정하십시오. 또한, Python 2 또는 3은 여기에 지정됩니다 (또는 암시 적으로 선택된 다른 방법) PL/Python 언어의 변형이 결정됩니다 사용 가능. 보다PostgreSQL : 문서 : 9.3 : 스포츠 토토 사이트 2 vs. 스포츠 토토 사이트 3자세한 내용은

    tclsh

    TCL 통역사의 전체 경로 이름. 이것은 익숙합니다 PL/TCL 구축의 종속성을 결정하면 TCL 스크립트로 대체되었습니다.

    XML2_CONFIG

    XML2-CONFIGlibxml 윈 토토.

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

    gmake copt = '-werror'

    또는

    Export Copt = '-Werror'
    gmake

    참고 :서버 내부에서 코드를 개발할 때 옵션 구성 권장--enable-cassert(많은 런 타임 오류를 켜십시오 수표) 및-enable-debug(개선 디버깅 도구의 유용성).

    GCC를 사용하는 경우 최적화 수준으로 빌드하는 것이 가장 좋습니다. 적어도-o1, 최적화가 없기 때문에 (-o0) 일부 중요한 컴파일러를 비활성화합니다 경고 (예 : 비 초기 변수 사용과 같은). 하지만, 0이 아닌 최적화 수준은 디버깅을 복잡하게 할 수 있습니다 컴파일 된 코드를 통과하는 것은 일반적으로 일대일 일치하지 않습니다. 소스 코드 라인으로. 디버그를 시도하는 동안 혼란스러워하는 경우 최적화 된 코드, 관심있는 특정 파일을 다시 컴파일-o0. 이 작업을 수행하는 쉬운 방법은 지나가는 것입니다 옵션만들기: gmake profile = -o0 file.o.

    theCoptand프로파일환경 변수는 실제로 처리됩니다 동일하게PostgreSQLmakefiles. 사용하는 것은 선호도의 문제이지만 일반적으로 개발자 간의 습관은 사용하는 것입니다프로필일회성 플래그 조정, 동안copt항상 설정해야합니다.

  2. build

    빌드를 시작하려면 다음을 입력하려면 :

    gmake

    (사용해야gnu 만들기.) 빌드에는 몇 가지가 필요합니다 하드웨어에 따라 몇 분. 표시된 마지막 줄은해야합니다 BE:

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

    당신이 문서 (HTML 및 맨 페이지) 및 추가 모듈 (Contrib), 대신 입력 :

    Gmake World

    표시된 마지막 줄은 :이어야합니다.

    PostgreSQL, Contrib 및 문서화가 성공적으로 작성되었습니다. 설치 준비.
  3. 회귀 테스트

    설치하기 전에 새로 빌드 서버를 테스트하려는 경우 이 시점에서 회귀 테스트를 실행할 수 있습니다. 회귀 테스트는를 확인하기위한 테스트 스위트입니다.PostgreSQL방식으로 기계에서 실행됩니다 개발자들은 그것을 기대했습니다. 유형:

    gmake check

    (이것은 루트로 작동하지 않습니다.​​30 장자세한 정보가 포함되어 있습니다 테스트 결과 해석에 대해. 이 테스트를 반복 할 수 있습니다 나중에 같은 명령을 발행하여.

  4. 파일 윈 토토

    참고 :기존 시스템을 업그레이드하는 경우 읽다토토 핫 : 문서 : 9.3 : 토토 핫 클러스터 업그레이드클러스터 업그레이드에 대한 지침

    윈 토토하려면PostgreSQLenter :

    GMAKE 윈 토토

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

    문서를 윈 토토하려면 (html 및 man pages) :

    Gmake Install-Docs

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

    Gmake Install-World

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

    사용할 수 있습니다GMAKE 윈 토토-스트립대신 의Gmake install실행 파일을 제거하려면 설치된 파일 및 라이브러리. 이것은 일부를 절약 할 것입니다 공간. 디버깅 지원으로 구축 한 경우 스트리핑이 있습니다 디버깅 지원을 효과적으로 제거하므로 수행해야합니다. 디버깅이 더 이상 필요하지 않은 경우윈 토토-스트립합리적인 일자리를 저축하려고합니다 공간이지만 모든 것을 벗기는 방법에 대한 완벽한 지식은 없습니다. 실행 파일에서 불필요한 바이트, 모든 것을 저장하려면 당신이 할 수있는 디스크 공간, 당신은 매뉴얼을해야합니다 일하다.

    표준 설치는 필요한 모든 헤더 파일을 제공합니다 클라이언트 응용 프로그램 개발 및 서버 측의 경우 사용자 정의 기능 또는 작성된 데이터 유형과 같은 프로그램 개발 C.에서 (이전PostgreSQL8.0, a 분리된GMAKE 윈 토토-전반기명령 후자에는 필요했지만이 단계는 표준 윈 토토.)

    클라이언트 전용 윈 토토 :만 설치하려는 경우 클라이언트 애플리케이션 및 인터페이스 라이브러리를 사용하면이를 사용할 수 있습니다. 명령 :

    gmake -c src/bin install
    gmake -c src/include install
    Gmake -C SRC/인터페이스 윈 토토
    gmake -c doc install

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

실패 :윈 토토를 취소하려면 명령을 사용하십시오gmake 제거. 그러나 이것은 그렇지 않을 것입니다 생성 된 디렉토리를 제거하십시오.

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

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