구성
설치 절차의 첫 번째 단계는 시스템의 빌드 트리를 구성하고 원하는 옵션을 선택하는 것입니다. 빌드 디렉토리를 작성하고 구성하려면부터 시작할 수 있습니다.Meson Setup
명령.
Meson Setup Build
설정 명령이 a를 가져옵니다.builddir
및 Asrcdir
인수. 그렇지 않은 경우srcdir
주어지면 Meson은를 추론합니다.srcdir
현재 디렉토리 및 위치에 따라meson.build
. 그만큼builddir
의무입니다.
runningMeson Setup
빌드 구성 파일을로드하고 빌드 디렉토리를 설정합니다. 또한 몇 가지 빌드 옵션을 Meson에 전달할 수도 있습니다.
# 다른 설치 접두사로 구성
빌드 디렉토리 설정은 일회성 단계입니다. 새 빌드 전에 재구성하려면 간단히를 사용할 수 있습니다.Meson Configure
명령
Meson 구성 -dcassert = true
Meson Configure
의 일반적으로 사용되는 명령 줄 옵션에 설명되어 있습니다.섹션 17.4.3.
build
기본적으로Meson사용닌자빌드 도구. 구축하려면PostgreSQLMeson을 사용하는 소스에서 간단히 사용할 수 있습니다닌자
빌드 디렉토리의 명령.
닌자
Ninja는 컴퓨터의 CPU 수를 자동으로 감지하고 그에 따라 병렬화합니다. 명령 줄 인수와 함께 사용되는 병렬 프로세스 수를 무시할 수 있습니다-j
.
초기 구성 단계 후에닌자
컴파일을 입력 해야하는 유일한 명령입니다. 소스 트리를 어떻게 바꾸든지 (완전히 새로운 위치로 이동하지 않음) Meson은 변경 사항을 감지하고 그에 따라 스스로를 재생합니다.
Ninja 이외의 백엔드로 빌드하려면와 구성을 사용할 수 있습니다.-백엔드
사용하려는 옵션을 선택한 다음 사용하여 빌드하는 옵션Meson Compile
. 닌자에게 제공 할 수있는 이러한 백엔드 및 기타 주장에 대해 자세히 알아 보려면를 참조하십시오.Meson Documentation.
회귀 테스트
설치하기 전에 새로 제작 된 서버를 테스트하려면이 시점에서 회귀 테스트를 실행할 수 있습니다. 회귀 테스트는를 확인하는 테스트 스위트입니다.PostgreSQL개발자가 예상하는 방식으로 컴퓨터에서 실행됩니다. 유형:
Meson Test
(이것은 루트로 작동하지 않으며, 비공식적 인 사용자로 사용하십시오.) 참조33 장테스트 결과 해석에 대한 자세한 정보. 같은 명령을 발행하여 나중에이 테스트를 반복 할 수 있습니다.
실행중인 postgres 인스턴스에 대해 pg_regress 및 pg_isolation_regress 테스트를 실행하려면을 지정하십시오.-Setup Running
논쟁으로Meson Test
.
파일 윈 토토
기존 시스템을 업그레이드하는 경우 읽으십시오스포츠 토토 결과 PostgreSQL : 문서 : 16 : 19.6. PostgreSQL 클러스터 업그레이드, 클러스터 업그레이드에 대한 지침이 있습니다.
PostgreSQL이 구축되면 간단히 실행하여 설치할 수 있습니다닌자 설치
명령.
닌자 설치
이것은에 지정된 디렉토리에 파일을 윈 토토합니다.1 단계. 해당 영역에 적절한 권한이 있는지 확인하십시오.
닌자 설치
대부분의 경우 작동해야하지만 더 많은 옵션을 사용하려는 경우 (예 :-Quiet
추가 출력을 억제하려면도 사용할 수도 있습니다.Meson install
대신. 에 대해 더 배울 수 있습니다Meson install및 Meson 문서의 옵션.
제거 :설치를 취소하려면를 사용할 수 있습니다.닌자 제거
명령.
청소 :윈 토토 후 소스 트리에서 내장 된 파일을로 제거하여 디스크 공간을 자유롭게 할 수 있습니다.닌자 클린
명령.
Meson Setup
옵션#Meson Setup
의 명령 줄 옵션은 다음과 같습니다. 이 목록은 철저하지 않습니다 (사용Meson Configure -Help
여기에서 다루지 않은 옵션은 고급 사용 사례를위한 것이며 표준에 문서화되어 있습니다Meson Documentation. 이러한 주장은와 함께 사용될 수 있습니다.Meson Setup
이 옵션 제어 위치닌자 설치
(또는Meson install
)는 파일을 넣습니다. 그만큼-prefix
옵션 (예제섹션 17.4.1)는 대부분의 경우 충분합니다. 특별한 요구가있는 경우이 섹션에 설명 된 다른 옵션으로 설치 하위 디렉토리를 사용자 정의 할 수 있습니다.man
anddoc
위치는이 제한의 영향을받지 않습니다.) 재배치 가능한 설치의 경우를 사용하고 싶을 수도 있습니다.-dratp = false
나중에 설명 된 옵션.
--prefix =prefix
#디렉토리의 모든 파일 윈 토토prefix
대신/usr/local/pgsql
(유닉스 기반 시스템) 또는
(창). 실제 파일은 다양한 하위 디렉터로 윈 토토됩니다.현재 드라이브 레터
:/usr/local/pgsqlprefix
디렉토리.
--- bindir =디렉토리
#실행 가능한 프로그램에 대한 디렉토리를 지정합니다. 기본값은
.prefix
/bin
-sysconfdir =디렉토리
#다양한 구성 파일의 디렉토리를 설정합니다.
기본적으로.prefix
/etc
-libdir =디렉토리
#라이브러리 및 동적으로로드 가능한 모듈을 윈 토토할 위치를 설정합니다. 기본값은
.prefix
/lib
-includedir =디렉토리
#C 및 C ++ 헤더 파일을 설치하기위한 디렉토리를 설정합니다. 기본값은
.prefix
/include
-datadir =디렉토리
#설치된 프로그램에서 사용하는 읽기 전용 데이터 파일의 디렉토리를 설정합니다. 기본값은
. 데이터베이스 파일이 배치 될 위치와 관련이 없습니다.prefix
/share
-로컬 레디르 =디렉토리
#로케일 데이터를 설치하기위한 디렉토리, 특히 메시지 변환 카탈로그 파일을 설정합니다. 기본값은
.Datadir
/locale
-mandir =디렉토리
#함께 제공되는 남자 페이지PostgreSQL이 디렉토리 아래에 설치됩니다.man
하위 디렉터. 기본값은x
.Datadir
/man
윈 토토할 수 있도록 간호가 취해졌습니다PostgreSQL공유 윈 토토 위치로 (예 :/usr/local/include
) 나머지 시스템의 네임 스페이스를 방해하지 않고. 첫째, 문자열“/postgresql
”자동으로 추가Datadir
, Sysconfdir
및docdir
, 완전히 확장 된 디렉토리 이름이 이미 문자열을 포함하지 않는 한“Postgres
”또는“PGSQL
”. 예를 들어, 선택한 경우/usr/local
접두사로 문서가 윈 토토됩니다/usr/local/doc/postgresql
그러나 접두사가/opt/postgres
/opt/postgres/doc
. 클라이언트 인터페이스의 공개 C 헤더 파일이에 윈 토토됩니다.포함
그리고 네임 스페이스 청소입니다. 내부 헤더 파일과 서버 헤더 파일은의 개인 디렉토리에 설치됩니다.포함
. 헤더 파일에 액세스하는 방법에 대한 정보는 각 인터페이스의 문서를 참조하십시오.Libdir
동적으로로드 가능한 모듈의 경우
이 섹션에 설명 된 옵션은 다양한 선택 사항을 구축 할 수 있습니다PostgreSQL기능. 이들 중 대부분은에 설명 된대로 추가 소프트웨어가 필요합니다.토토 결과 PostgreSQL : 문서 : 16 : 17.1. 요구 사항, 필요한 소프트웨어가 발견되면 자동으로 활성화됩니다. 이러한 기능을 수동으로 설정 하여이 동작을 변경할 수 있습니다.활성화
필요 또는장애인
그들과 함께 구축하지 않으려면.
PostgreSQL 특정 옵션을 지정하려면 옵션 이름은 접두사에 의해 접두사를 작성해야합니다-d
.
-dnls = auto | 활성화 |
#모국어 지원 활성화 또는 비활성화 (NLS), 즉 영어 이외의 언어로 프로그램의 메시지를 표시하는 능력. 기본값은 자동으로 자동으로 활성화되며의 구현이 있으면 자동으로 활성화됩니다.GetText API발견되었습니다.
-dplperl = auto | 활성화 |
#빌드pl/perl서버 측 언어. 기본값으로 자동.
-dplpython = auto | 활성화 |
#빌드pl/python서버 측 언어. 기본값으로 자동.
-dpltcl = auto | 활성화 |
#빌드pl/tcl서버 측 언어. 기본값으로 자동.
-dtcl_version =tcl_version
#PL/TCL을 구축 할 때 사용할 TCL 버전을 지정합니다.
-dicu = auto | 활성화 |
#ICU라이브러리, ICU 콜라이트 기능 사용 가능(참조섹션 24.2). 기본값은 자동으로 필요합니다ICU4C윈 토토할 패키지. 최소 필수 버전의ICU4C현재 4.2입니다.
-dllvm = auto | 활성화 |
#지원을 통해 빌드LLVM기반jit컴파일(참조32 장). 이것은 필요합니다LLVM라이브러리 윈 토토. 최소 필수 버전의LLVM현재 3.9입니다. 기본적으로 비활성화.
llvm-config
필요한 컴파일 옵션을 찾는 데 사용됩니다.llvm-config
, 그리고llvm-config- $ 버전
모든 지원되는 버전의 경우에서 검색됩니다Path
. 그것이 원하는 프로그램을 생산하지 않으면 사용llvm_config
올바른 경로를 지정하려면llvm-config
.
-dlz4 = auto | 활성화 |
#빌드LZ4압축 지원. 기본값으로 자동.
-dzstd = auto | 활성화 |
#빌드Zstandard압축 지원. 기본값으로 자동.
-dssl = auto |도서관
}
#지원을 통해 빌드SSL(암호화 된) 연결. 유일한도서관
지원 된 ISOpenSSL
. 이것은 필요합니다OpenSSL설치할 패키지. 이것으로 빌드하는 데 필요한 헤더 파일 및 라이브러리가 귀하의를 확인합니다.OpenSSL진행하기 전에 설치로 충분합니다. 이 옵션의 기본값은 자동입니다.
-dgssapi = auto | 활성화 |
#GSSAPI 인증을 지원하는 빌드. MIT Kerberos는 GSSAPI를 위해 설치해야합니다./usr/include
, /usr/lib
). 이 경우 PostgreSQL이 쿼리됩니다pkg-config
필요한 컴파일러 및 링커 옵션을 감지합니다. 기본값으로 자동.Meson Configure
필요한 헤더 파일 및 라이브러리를 확인하여 진행하기 전에 GSSAPI 윈 토토가 충분했는지 확인합니다.
-dldap = auto | 활성화 |
#빌드LDAP인증 및 연결 매개 변수 조회 지원 (참조PostgreSQL : 문서 : 16 : 34.18. 무지개 토토 연결 매개 변수 조회andPostgreSQL : 문서 : 16 : 21.10. 범퍼카 토토 인증자세한 내용은). 유닉스에서는이 필요합니다.OpenLdap윈 토토할 패키지. Windows에서 기본값winldap라이브러리가 사용됩니다. 기본값으로 자동.Meson Configure
필요한 헤더 파일 및 라이브러리를 확인하여 귀하의OpenLdap진행하기 전에 윈 토토가 충분합니다.
-dpam = auto | 활성화 |
#-dbsd_auth = auto | 활성화 |
#BSD 인증 지원이 포함 된 빌드. (BSD 인증 프레임 워크는 현재 OpenBSD에서만 사용할 수 있습니다.) 기본값은 자동입니다.
-dsystemd = auto | 활성화 |
#지원을 통해 빌드SystemD서비스 알림. 서버가 시작되면 통합이 향상됩니다SystemD그러나 그렇지 않으면 영향을 미치지 않습니다; 보다PostgreSQL : 문서 : 16 : 19.3. 데이터베이스 토토 사이트 시작자세한 내용은. 기본값으로 자동.libsystemd이 옵션을 사용하려면 관련 헤더 파일을 설치해야합니다.
-dbonjour = auto | 활성화 |
#Bonjour Automatic Service Discovery를 지원하는 건축. 기본값은 자동으로, 운영 체제에서 Bonjour 지원이 필요합니다.
-duuid =도서관
#빌드uuid-sossp지정된 UUID 라이브러리를 사용하여 모듈 (UUID를 생성하기위한 함수). 도서관
없음
UUID 모듈을 빌드하지 않으려면. 이것은 기본입니다.
BSD
freebsd에있는 UUID 함수 및 기타 BSD 유래 시스템을 사용하려면
E2FS
E2FSPROG
프로젝트; 이 라이브러리는 대부분의 Linux 시스템과 MacOS에 있으며 다른 플랫폼에 대해서도 얻을 수 있습니다
OSSP
사용하려면OSSP UUID 라이브러리
-dlibxml = auto | 활성화 |
#libxml2를 사용하여 빌드하여 SQL/XML 지원을 가능하게합니다. 기본값으로 자동.
특이한 위치에있는 libxml2 설치를 사용하려면 설정할 수 있습니다pkg-config
관련 환경 변수 (문서 참조).
-dlibxslt = auto | 활성화 |
#libxslt를 사용하여 빌드하여 활성화43_C| 토토 캔9XML의 XSL 변환을 수행 할 모듈-dlibxml
또한 지정해야합니다. 기본값으로 자동.
-dreadline = auto | 활성화 |
#사용 허용Readline도서관 (및libedit). 이 옵션은 기본적으로 자동으로 기본적으로 명령 줄 편집 및 기록을 활성화합니다PSQL그리고 강력하게 권장됩니다.
-dlibedit_preferred = true | 거짓
#이것을 진실로 설정하여 BSD 라이센스의 사용을 선호합니다libeditGPL 라이센스 대신 라이브러리Readline. 이 옵션은 두 라이브러리가 설치된 경우에만 중요합니다.Readline.
-dzlib = auto | 활성화 |
#사용 가능Zlib라이브러리. 자동으로 기본적으로 압축 아카이브를 지원할 수 있습니다.pg_dump, PG_RESTOREandPG_BASEBACKUP권장됩니다.
-dspinlocks = true | 거짓
#이 옵션은 기본적으로 true로 설정됩니다. false로 설정하면이라도 빌드가 성공할 수 있습니다.PostgreSQL플랫폼에 대한 CPU 스핀 록 지원이 없습니다. 스핀 락지지가 부족하면 성능이 저하됩니다.PostgreSQL플랫폼에서 문제를에보고하십시오.PostgreSQL개발자.
-datomics = true | 거짓
#이 옵션은 기본적으로 true로 설정됩니다. False로 설정하면 CPU 원자 연산의 사용이 비활성화됩니다.
--auto_features = auto | 활성화 |
#이 옵션을 설정하십시오.“auto”기능 (필수 소프트웨어가 발견 된 경우 자동으로 활성화 된 기능). 이것은 모든 것을 비활성화하거나 활성화하려는 경우 유용 할 수 있습니다.“선택 사항”각각을 수동으로 설정하지 않고도 한 번에 기능을합니다. 이 매개 변수의 기본값은 자동입니다.
-백엔드 =백엔드
#기본 백엔드 Meson이 사용하는 기본 백엔드는 Ninja이며 대부분의 사용 사례에 충분해야합니다. 그러나 Visual Studio와 완전히 통합하려면를 설정할 수 있습니다.백엔드
tovs
.
-dc_args =옵션
#이 옵션을 사용하여 추가 옵션을 C 컴파일러에 전달할 수 있습니다.
-dc_link_args =옵션
#이 옵션을 사용하여 추가 옵션을 C 링커에 전달할 수 있습니다.
-dextra_include_dirs =디렉토리
#디렉토리
는 컴파일러 파일에 대한 컴파일러 검색 목록에 추가 될 쉼표로 구분 된 디렉토리 목록입니다. 선택적 패키지가있는 경우 (예 : GNUReadline) 비표준 위치에 설치되면이 옵션을 사용해야하며 해당-dextra_lib_dirs
옵션.
예 :-dextra_include_dirs =/opt/gnu/include,/usr/sup/conture
.
-dextra_lib_dirs =디렉토리
#디렉토리
는 라이브러리 검색을위한 쉼표로 구분 된 디렉토리 목록입니다. 이 옵션을 사용해야 할 것입니다 (및 해당-dextra_include_dirs
옵션) 비표준 위치에 패키지가 설치된 경우
예 :-dextra_lib_dirs =/opt/gnu/lib,/usr/sup/lib
.
-dsystem_tzdata =디렉토리
#PostgreSQL날짜 및 시간 작업에 필요한 자체 시간 영역 데이터베이스가 포함되어 있습니다. 이 Time Zone 데이터베이스는 실제로 FreeBSD, Linux 및 Solaris와 같은 많은 운영 체제에서 제공하는 IANA Time Zone 데이터베이스와 호환되므로 다시 설치하는 것이 중복됩니다.디렉토리
PostgreSQL 소스 배포에 포함 된 대신 사용됩니다.디렉토리
절대 경로로 지정되어야합니다./usr/share/ZoneInfo
는 일부 운영 체제의 디렉토리 일 가능성이 높습니다. 설치 루틴은 불일치 또는 잘못된 시간대 데이터를 감지하지 않습니다.PostgreSQL.
이 옵션은 주로 목표 운영 체제를 잘 알고있는 이진 패키지 유통 업체를 대상으로합니다. 이 옵션을 사용하는 주요 장점은 많은 지역 일광 절약 시간 규칙이 변경 될 때마다 PostgreSQL 패키지를 업그레이드 할 필요가 없다는 것입니다.
-dextra_version =String
#AppendString
PostgreSQL 버전 번호로. 예를 들어,이를 사용하여 미공개에서 구축 된 바이너리를 표시 할 수 있습니다git스냅 샷 또는 A와 같은 추가 버전 문자열이있는 사용자 정의 패치가 포함되어 있습니다git 설명
식별자 또는 배포 패키지 릴리스 번호.
-drath = true | 거짓
#이 옵션은 기본적으로 true로 설정됩니다. False로 설정된 경우 표시하지 마십시오PostgreSQL설치 라이브러리 디렉토리에서 공유 라이브러리를 검색해야 함을 나타 내기 위해 실행 파일 (참조-libdir
). 대부분의 플랫폼 에서이 마킹은 라이브러리 디렉토리의 절대 경로를 사용하므로 나중에 설치를 재배치하면 도움이되지 않습니다.섹션 17.5.1자세한 내용은
-dbinary_name
=Path
#PostgreSQL을 구축하는 데 필요한 프로그램이 비표준 경로에 저장되는 경우 수동으로 지정할 수 있습니다.Meson Configure
. 이것이 지원되는 프로그램의 전체 목록은 실행을 통해 찾을 수 있습니다Meson Configure
. 예:
Meson Configure -dbison = path_to_bison
-dpgport =번호
#SET번호
서버 및 클라이언트의 기본 포트 번호로. 기본값은 5432입니다. 포트는 항상 나중에 변경할 수 있지만 여기에서 지정하면 서버와 클라이언트 모두 동일한 기본값을 컴파일하여 매우 편리 할 수 있습니다.PostgreSQL같은 기계의 서버.
-dkrb_srvnam =이름
#GSSAPI에서 사용하는 Kerberos 서비스 교장의 기본 이름.Postgres
기본값입니다. Windows 환경을 위해 구축하지 않는 한 일반적 으로이 변경 사항이 없습니다.이 경우 대문자로 설정해야합니다.Postgres
.
-dsegsize =segsize
#설정세그먼트 크기, 기가 바이트. 큰 테이블은 여러 작동 시스템 파일로 나뉘며 각 크기는 세그먼트 크기와 같습니다.“LAGONFILE”지원 (현재 대부분의 경우)은 더 큰 세그먼트 크기를 사용할 수 있습니다. 이것은 매우 큰 테이블로 작업 할 때 소비되는 파일 설명 자의 수를 줄이는 데 도움이 될 수 있습니다.타르, 유용한 파일 크기에 제한을 설정할 수도 있습니다. 절대적으로 요구되지는 않지만이 값은 2의 전력이라는 것이 좋습니다.
-dblocksize =Blocksize
#설정블록 크기47744_47979
-dwal_blocksize =Blocksize
#설정월 블록 크기, 킬로 바이트. 이것은 WAL 로그 내 스토리지 단위 및 I/O입니다.
이 섹션의 대부분의 옵션은 개발 또는 디버깅에만 관심이 있습니다PostgreSQL. 을 제외하고는 생산 빌드에 권장되지 않습니다.-Debug
, 버그가 발생한 운이 좋은 이벤트에서 자세한 버그 보고서를 활성화하는 데 유용 할 수 있습니다. dtrace를 지원하는 플랫폼에서-ddtrace
생산에 사용하는 것이 합리적 일 수 있습니다.
서버 내부에서 코드를 개발하는 데 사용될 설치를 구축 할 때는 최소한을 사용하는 것이 좋습니다.-buildtype = debug
and-dcassert
옵션.
-buildtype =buildType
#이 옵션을 사용하여 사용할 BuildType를 지정할 수 있습니다. 기본값으로Debugoptimized
. 이 옵션이 제공하는 것보다 디버그 기호 및 최적화 수준에 대한 더 미세한 제어를 원한다면를 참조하십시오.-Debug
and-최적화
깃발.
다음 빌드 유형이 일반적으로 사용됩니다.일반
, 디버그
, Debugoptimized
and릴리스
. 그들에 대한 자세한 내용은에서 확인할 수 있습니다.Meson Documentation.
-Debug
#디버깅 기호로 모든 프로그램과 라이브러리를 컴파일합니다. 즉, 문제를 분석하기 위해 디버거에서 프로그램을 실행할 수 있습니다.
-최적화
=레벨
#최적화 수준 지정.레벨
0, g, 1,2,3, s 중 하나로 설정할 수 있습니다.
-error
#이 옵션을 설정하면 컴파일러에게 경고를 오류로 취급하도록 요청합니다. 이것은 코드 개발에 유용 할 수 있습니다.
-dcassert = true | 거짓
#활성화어제서버에서 확인하여 많은 것을 테스트합니다“발생할 수 없습니다”조건. 이는 코드 개발 목적으로 매우 중요하지만 테스트는 서버의 속도가 느려집니다.
-dtap_tests = auto | 활성화 |
#Perl TAP 도구를 사용하여 테스트를 활성화합니다. 기본값은 자동으로, Perl 설치 및 Perl 모듈이 필요합니다ipc :: run
. 참조섹션 33.4자세한 내용은
-dpg_test_extra =test_suites
#특수 소프트웨어를 실행 해야하는 테스트 스위트를 활성화합니다. 이 옵션은 공백 분리 된 목록을 통해 인수를 수락합니다.섹션 33.1.3자세한 내용.
-db_coverage = true | 거짓
#GCC를 사용하는 경우 모든 프로그램과 라이브러리에는 코드 커버리지 테스트 기기가 컴파일됩니다. 실행되면 코드 커버리지 메트릭으로 빌드 디렉토리에서 파일을 생성합니다.참조섹션 33.5자세한 내용은이 옵션은 GCC와 함께 사용하고 개발 작업을 수행 할 때만 사용됩니다.
-ddtrace = auto | 활성화 |
#이 컴파일 활성화PostgreSQL동적 추적 도구 DTRACE를 지원합니다.참조섹션 28.5자세한 내용은
dtrace
프로그램,dtrace
옵션을 설정할 수 있습니다. 이것은 종종 필요할 것입니다dtrace
일반적으로에 일반적으로 설치됩니다./usr/sbin
Path
.
-dsegsize_blocks = segsize_blocks
#블록에서 관계 세그먼트 크기를 지정합니다. 둘 다-dsegsize
이 옵션이 지정되어 있으며이 옵션이 승리합니다. 이 옵션은 개발자, 세그먼트 관련 코드를 테스트하는 것입니다.
문서에 맞지 않는 내용이 있으면 일치하지 않습니다.이 양식문서 문제를보고하려면