PostgreSQL은 Microsoft의 Visual C ++ 컴파일러 제품군을 사용하여 구축 할 수 있습니다. 이 컴파일러는에서 나올 수 있습니다.Visual Studio, Visual Studio Express또는 일부 버전의Microsoft Windows SDK. 당신이 아직가 없다면Visual Studio환경 설정, 가장 쉬운 방법은의 컴파일러를 사용하는 것입니다.Visual Studio 2022또는Windows SDK 10, Microsoft에서 무료 다운로드입니다.
Microsoft Compiler Suite에서는 32 비트 및 64 비트 배트맨 토토가 모두 가능합니다. 32 비트 PostgreSQL 배트맨 토토가 가능합니다.Visual Studio 2015toVisual Studio 2022및 독립형 Windows SDK 릴리스 10 이상. 64 비트 PostgreSQL 빌드는 지원됩니다.Microsoft Windows SDK버전 10 이상 또는Visual Studio 2015이상.
사용 도구Visual C ++또는플랫폼 SDKSRC \ Tools \ MSVC
디렉토리. 건축 할 때 도구가 없는지 확인하십시오.Mi배트맨 토토w또는Cygwin시스템 경로에 존재합니다. 또한 경로에서 필요한 모든 시각적 C ++ 도구가 있는지 확인하십시오. 안에Visual Studio, 시작Visual Studio 명령 프롬프트. 64 비트 버전을 만들려면 64 비트 버전의 명령을 사용해야하며 그 반대도 마찬가지입니다. 부터 시작Visual Studio 2017이것은 명령 줄에서 수행 할 수 있습니다vsdevcmd.bat
, 참조-help
사용 가능한 옵션 및 기본값은vsvars32.bat
Visual Studio 2015동일한 목적으로 이전 버전. 에서Visual Studio 명령 프롬프트vcvarsall.bat
명령 (예 :vcvarsall.bat x64 10.0.10240.0
64 비트 릴리스 빌드를 사용하여 Windows 10을 대상으로합니다. 보다-help
다른 옵션의 경우vcvarsall.bat
. 모든 명령은에서 실행해야합니다.SRC \ Tools \ MSVC
디렉토리.
배트맨 토토하기 전에 파일을 만들 수 있습니다config.pl
변경하려는 구성 옵션 또는 사용할 제 3 자 라이브러리 경로를 반영합니다. 완전한 구성은 파일을 먼저 읽고 구문 분석하여 결정됩니다config_default.pl
config.pl
. 예를 들어, 귀하의 위치를 지정하려면Python설치, 다음을config.pl
:
$ config- python = 'c : \ python310';
당신은 그와 다른 매개 변수 만 지정하면config_default.pl
.
다른 환경 변수를 설정 해야하는 경우라는 파일을 작성하십시오.buildenv.pl
필요한 명령을 넣습니다. 예를 들어, 경로에 있지 않을 때 Bison의 경로를 추가하려면 다음과 같은 파일을 만듭니다.
$ env path = $ env path. '; c : \ some \ where \ bison \ bin';
추가 명령 줄 인수를 Visual Studio 빌드 명령 (MSBuild 또는 VcBuild)에 전달하려면 :
$ env msbflags = "/m";
다음 추가 제품이 구축해야합니다PostgreSQL. 사용config.pl
파일에서 사용 가능한 라이브러리가 어떤 디렉토리를 사용할 수 있는지 지정합니다.
빌드 환경이 지원되는 버전의 배송되지 않으면Microsoft Windows SDK최신 버전 (현재 버전 10)으로 업그레이드하는 것이 좋습니다.https : //www.microsoft.com/download.
항상 포함해야합니다Windows 헤더 및 라이브러리SDK의 일부. a를 설치하는 경우Windows SDK포함Visual C ++ 컴파일러, 필요하지 않습니다Visual Studio빌드. 버전 8.0A 기준으로 Windows SDK는 더 이상 완전한 명령 줄 빌드 환경을 제공하지 않습니다.
딸기 perl은 빌드 생성 스크립트를 실행해야합니다. Mi배트맨 토토w 또는 Cygwin Perl은 작동하지 않습니다. 또한 경로에 있어야합니다. Binaries는에서 다운로드 할 수 있습니다.https : //strawberryperl.com.
다음 추가 제품은 시작할 필요가 없지만 전체 패키지를 구축해야합니다. 사용config.pl
파일 파일에서 사용 가능한 라이브러리가 어떤 디렉토리를 사용할 수 있는지 지정합니다.
건물에 필요PL/TCL. Binaries는에서 다운로드 할 수 있습니다.https : //www.magicsplat.com/tcl-installer/index.html.
BisonandFlexgit에서 배트맨 토토해야하지만 릴리스 파일에서 배트맨 토토 할 때는 필요하지 않습니다. 오직Bison버전 2.3 이상이 작동합니다.Flex버전 2.5.35 이상이어야합니다.
둘 다BisonandFlexMSYS도구 스위트,http : //www.mi배트맨 토토w.org/wiki/msys의 일부로Mi배트맨 토토w컴파일러 스위트.
포함하는 디렉토리를 추가해야합니다flex.exe
및Bison.exe
경로 환경 변수buildenv.pl
이미 경로에 있지 않는 한. Mi배트맨 토토w의 경우 디렉토리는입니다.\ msys \ 1.0 \ bin
MINGW 설치 디렉토리의 하위 디렉토리.
gnuwin32의 들소 분포에는 이름에 공백이있는 디렉토리에 설치 될 때 영어 설치의 기본 위치와 같은 디렉토리에 설치 될 때 Bison이 오작동을 일으키는 버그가있는 것으로 보입니다.C : \ Program Files \ gnuwin32
. 설치를 고려C : \ gnuwin32
또는 경로 환경 설정에서 NTFS 짧은 이름 경로를 GNUWIN32로 사용하십시오 (예 :c : \ progra ~ 1 \ gnuwin32
).
회귀 테스트를 실행하려면 Diff가 필요하며에서 다운로드 할 수 있습니다.http : //gnuwin32.sourceforge.net.
gettext는 NLS 지원으로 빌드해야하며에서 다운로드 할 수 있습니다http : //gnuwin32.sourceforge.net. 바이너리, 종속성 및 개발자 파일이 모두 필요합니다.
GSSAPI 인증 지원이 필요합니다. MIT Kerberos는에서 다운로드 할 수 있습니다.https : //web.mit.edu/kerberos/dist/index.html.
XML 지원이 필요합니다. Binaries는에서 다운로드 할 수 있습니다.https : //zlatkovic.com/pub/libxml또는 소스http : //xmlsoft.org. libxml2는 동일한 다운로드 위치에서 사용할 수있는 Iconv가 필요합니다.
지원에 필요19799_19804압축. 바이너리와 소스는에서 다운로드 할 수 있습니다.https : //github.com/lz4/lz4/releases.
지원에 필요Zstandard압축. 바이너리와 소스는에서 다운로드 할 수 있습니다.https : //github.com/facebook/zstd/releases.
SSL 지원이 필요합니다. Binaries는에서 다운로드 할 수 있습니다.https : //slproweb.com/products/win32openssl.html또는 소스https : //www.openssl.org.
UUID-SOSSP 지원에 필요합니다 (Contrib Only). 소스는에서 다운로드 할 수 있습니다.http : //www.ossp.org/pkg/lib/uuid/.
건물이 필요합니다pl/python. Binaries는에서 다운로드 할 수 있습니다.https : //www.python.org.
압축 지원이 필요합니다pg_dump및PG_RESTORE. Binaries는에서 다운로드 할 수 있습니다.https : //www.zlib.net.
PostgreSQL은 64 비트 Windows에서 X64 아키텍처에 대해서만 구축됩니다.
동일한 빌드 트리에서 32 및 64 비트 버전을 믹싱하는 것은 지원되지 않습니다. 빌드 시스템은 32 개 또는 64 비트 환경에서 실행 중인지 자동으로 감지하고 그에 따라 PostgreSQL을 빌드합니다. 이러한 이유로 구축하기 전에 올바른 명령 프롬프트를 시작하는 것이 중요합니다.
와 같은 서버 측 제 3 자 라이브러리를 사용하려면Python또는OpenSSL,이 라이브러리필수또한 64 비트입니다. 64 비트 서버에서 32 비트 라이브러리로드에 대한 지원은 없습니다. PostgreSQL이 지원하는 제 3 자 라이브러리 중 일부는 32 비트 버전으로만 제공 될 수 있으며,이 경우 64 비트 Postgresql과 함께 사용할 수 없습니다.
릴리스 구성 (기본값)에서 PostgreSQL을 모두 빌드하려면 명령을 실행합니다.
build
디버그 구성에서 PostgreSQL을 모두 빌드하려면 명령을 실행합니다.
배트맨 토토 디버그
단일 프로젝트 만 구축하려면 PSQL과 같은 명령을 실행합니다.
PSQL 배트맨 토토
Debug PSQL 배트맨 토토
디버그로 기본 빌드 구성을 변경하려면 다음을에 넣으십시오.buildenv.pl
파일 :
$ env config = "Debug";
Visual Studio GUI 내부에서 빌드 할 수도 있습니다. 이 경우 실행해야합니다.
Perl mkvcbuild.pl
명령 프롬프트에서 생성 된 다음 생성을 엽니 다pgsql.sln
(소스 트리의 루트 디렉토리에서) Visual Studio의
대부분의 경우 Visual Studio의 자동 종속성 추적은 변경된 파일을 처리합니다. 그러나 큰 변화가있는 경우 설치를 청소해야 할 수도 있습니다. 이렇게하려면 단순히를 실행하십시오.clean.bat
명령은 생성 된 모든 파일을 자동으로 정리합니다. 당신은 또한로 그것을 실행할 수 있습니다dist
매개 변수,이 경우Distclean 만들기
Flex/Bison 출력 파일도 제거합니다.
기본적으로 모든 파일은의 서브 디렉토리에 기록됩니다.디버그
또는릴리스
디렉토리. 표준 레이아웃을 사용하여 이러한 파일을 설치하고 데이터베이스를 초기화하고 사용하는 데 필요한 파일을 생성하려면 명령을 실행하십시오.
설치 C : \ 대상 \ directory
클라이언트 응용 프로그램 및 인터페이스 라이브러리 만 설치하려면 다음 명령을 사용할 수 있습니다.
설치 C : \ 대상 \ Directory Client
회귀 테스트를 실행하려면 필요한 모든 부품의 빌드를 먼저 완료했는지 확인하십시오. 또한 시스템의 모든 부분 (예 : Perl 및 Python DLL과 같은 절차 언어)을로드하는 데 필요한 DLL이 시스템 경로에 있는지 확인하십시오. 그렇지 않은 경우를 통해 설정하십시오.buildenv.pl
파일. 테스트를 실행하려면 다음 명령 중 하나를 실행하십시오.SRC \ Tools \ MSVC
디렉토리 :
vcregress check
vcregress installcheck
vcregress plcheck
vcregress contribcheck
vcregress modulescheck
vcregress ecpgcheck
vcregress isplicationcheck
vcregress bincheck
VCREGRESS RecoveryCheck
vcregress taptest
사용 된 일정을 변경하려면 (기본값은 평행) : 명령 줄에 추가하십시오.
vcregress check serial
vcregress taptest
:과 같은 대상 디렉토리의 탭 테스트를 실행하는 데 사용할 수 있습니다.
vcregress taptest src \ bin \ initdb \
회귀 테스트에 대한 자세한 내용은 참조윈 토토 : 문서 : 16 : 33 장 회귀 테스트.
클라이언트 프로그램에서 회귀 테스트 실행vcregress bincheck
, 복구 테스트에서VCREGRESS RecoveryCheck
또는 지정된 테스트를 탭vcregress taptest
추가 Perl 모듈을 설치해야합니다.
이 글을 쓰면서ipc :: run
는 ActiveState Perl 설치 또는 ActiveState Perl Package Manager (PPM) 라이브러리에 포함되지 않습니다. 설치하려면를 다운로드하십시오.ipc-run- <bersion .tar.gz
소스 아카이브CPAN, athttps : //metacpan.org/dist/ipc-run및 냉정. 편집buildenv.pl
파일, 그리고 perl5lib 변수를 추가하여lib
추출 된 아카이브의 하위 디렉토리. 예를 들어:
$ env perl5lib = $ env perl5lib. '; C : \ IPC-RUN-0.94 \ lib';
탭 테스트는vcregress
환경 변수 지원provace_tests
, 주어진 이름 패턴을 사용하여 자동으로 확장되고provace_flags
. 실행하기 전에 Windows 터미널에서 설정할 수 있습니다vcregress
:
set provot_flags =-타이머 -jobs 2 set provey_tests = t/020*.pl t/010*.pl
해당 매개 변수를 설정할 수도 있습니다buildenv.pl
:
$ env propect_flags = '-타이머 -jobs 2' $ env provace_tests = 't/020*.pl t/010*.pl'
또한 탭 테스트의 동작은 환경 변수 세트에 의해 제어 될 수 있습니다. 참조섹션 33.4.1.
탭 테스트 중 일부는 선택적으로 관련 테스트를 트리거하는 외부 명령 세트에 따라 다릅니다. 해당 변수 각각은 설정하거나 설정할 수 있습니다buildenv.pl
:
gzip_program
A 로의 경로gzip명령. 기본값은gzip
, 구성된 구성에서 해당 이름으로 명령을 검색 할PATH
.
LZ4
A 로의 경로LZ4명령. 기본값은LZ4
, 구성된 이름에서 해당 이름으로 명령을 검색 할PATH
.
OpenSSL
OpenSSL명령. 기본값은OpenSSL
, 구성된 이름에서 해당 이름으로 명령을 검색 할PATH
.
타르
A 로의 경로타르명령. 기본값은타르
, 구성된 이름에서 해당 이름으로 명령을 검색 할PATH
.
ZSTD
A 로의 경로ZSTD명령. 기본값은ZSTD
, 구성된 이름으로 해당 이름으로 명령을 검색 할PATH
.
문서에 올바르지 않은 내용이 있으면 일치하지 않습니다. 특정 기능에 대한 귀하의 경험 또는 추가 설명이 필요합니다. 사용이 양식문서 문제를보고하려면