18.1. 다음으로 구축하기비주얼 C++또는마이크로소프트 윈도우 SDK #

PostgreSQL은 Microsoft의 Visual C++ 컴파일러 제품군을 사용하여 구축할 수 있습니다. 이 컴파일러는 다음 중 하나일 수 있습니다.비주얼 스튜디오, 비주얼 스튜디오 익스프레스또는 일부 버전의마이크로소프트 윈도우 SDK. 아직 없는 경우비주얼 스튜디오환경 설정, 가장 쉬운 방법은 다음의 컴파일러를 사용하는 것입니다.비주얼 스튜디오 2022또는 그 안에 있는 것윈도우 SDK 10둘 다 Microsoft에서 무료로 다운로드할 수 있습니다.

Microsoft 컴파일러 제품군을 사용하면 32비트 및 64비트 배트맨 토토가 모두 가능합니다. 32비트 PostgreSQL 배트맨 토토는 다음을 사용하여 가능합니다.비주얼 스튜디오 2015비주얼 스튜디오 2022및 독립 실행형 Windows SDK 릴리스 10 이상. 64비트 PostgreSQL 배트맨 토토는 다음에서 지원됩니다.마이크로소프트 윈도우 SDK버전 10 이상 또는비주얼 스튜디오 2015이상.

배트맨 토토를 위한 도구비주얼 C++또는플랫폼 SDK다음에 있습니다src\tools\msvc디렉토리. 배트맨 토토할 때 도구가 없는지 확인하세요.Mi배트맨 토토W또는시그윈시스템 PATH에 존재합니다. 또한 PATH에서 사용할 수 있는 필수 Visual C++ 도구가 모두 있는지 확인하세요. 에서비주얼 스튜디오, 시작Visual Studio 명령 프롬프트. 64비트 버전을 배트맨 토토하려면 64비트 버전의 명령을 사용해야 하며 그 반대의 경우도 마찬가지입니다. 로 시작비주얼 스튜디오 2017이것은 다음을 사용하여 명령줄에서 수행할 수 있습니다.VsDevCmd.bat, 참조-도움말사용 가능한 옵션 및 기본값에 대해 알아보세요.vsvars32.bat다음에서 사용 가능비주얼 스튜디오 2015및 이전 버전도 동일한 목적으로 사용됩니다. 에서Visual Studio 명령 프롬프트, 다음을 사용하여 대상 CPU 아키텍처, 배트맨 토토 유형 및 대상 OS를 변경할 수 있습니다.vcvarsall.bat명령, 예:vcvarsall.bat x64 10.0.10240.064비트 릴리스 배트맨 토토가 포함된 Windows 10을 대상으로 합니다. 참조-도움말다른 옵션의 경우vcvarsall.bat. 모든 명령은에서 실행되어야 합니다.src\tools\msvc디렉토리.

배트맨 토토하기 전에 파일을 생성할 수 있습니다config.pl변경하려는 구성 옵션이나 사용할 타사 라이브러리의 경로를 반영합니다. 전체 구성은 먼저 파일을 읽고 구문 분석하여 결정됩니다.config_default.pl, 그런 다음의 변경 사항을 적용합니다.config.pl. 예를 들어, 귀하의 위치를 지정하려면파이썬설치, 다음을 입력하세요config.pl:

$config-python = 'c:\python310';

여기에 있는 것과 다른 매개변수만 지정하면 됩니다.config_default.pl.

다른 환경 변수를 설정해야 하는 경우 다음이라는 파일을 생성하십시오.buildenv.pl그리고 필요한 명령을 거기에 넣으세요. 예를 들어, PATH에 없는 bison 경로를 추가하려면 다음을 포함하는 파일을 생성합니다.

$ENVPATH=$ENVPATH . ';c:\some\where\bison\bin';

Visual Studio 배트맨 토토 명령(msbuild 또는 vcbuild)에 추가 명령줄 인수를 전달하려면:

$ENVMSBFLAGS="/m";

18.1.1. 요구사항#

배트맨 토토하려면 다음 추가 제품이 필요합니다.포스트그레SQL. 다음을 사용하세요.config.pl라이브러리를 사용할 수 있는 디렉토리를 지정하는 파일입니다.

마이크로소프트 윈도우 SDK

귀하의 배트맨 토토 환경이 지원되는 버전과 함께 제공되지 않는 경우마이크로소프트 윈도우 SDK다음에서 다운로드할 수 있는 최신 버전(현재 버전 10)으로 업그레이드하는 것이 좋습니다.https://www.microsoft.com/download.

항상 다음을 포함해야 합니다.Windows 헤더 및 라이브러리SDK의 일부입니다. 다음을 설치하는 경우윈도우 SDK포함비주얼 C++ 컴파일러, 필요하지 않습니다비주얼 스튜디오배트맨 토토합니다. 버전 8.0a부터 Windows SDK는 더 이상 완전한 명령줄 배트맨 토토 환경과 함께 제공되지 않습니다.

스트로베리 펄

배트맨 토토 생성 스크립트를 실행하려면 Strawberry Perl이 필요합니다. Mi배트맨 토토W 또는 Cygwin Perl은 작동하지 않습니다. PATH에도 있어야 합니다. 바이너리는 다음에서 다운로드할 수 있습니다.https://strawberryperl.com.

다음 추가 제품은 시작하는 데 필요하지 않지만 전체 패키지를 배트맨 토토하는 데 필요합니다. 다음을 사용하세요.config.pl라이브러리를 사용할 수 있는 디렉토리를 지정하는 파일입니다.

Magicsplat Tcl

건물에 필요함PL/Tcl. 바이너리는 다음에서 다운로드할 수 있습니다.https://www.magicsplat.com/tcl-installer/index.html.

들소그리고플렉스

들소그리고플렉스Git에서 배트맨 토토하려면 필요하지만 릴리스 파일에서 배트맨 토토할 때는 필요하지 않습니다. 만들소버전 2.3 이상이 작동합니다.플렉스버전 2.5.35 이상이어야 합니다.

둘 다들소그리고플렉스다음에 포함되어 있습니다.msys도구 모음, 다음에서 사용 가능http://www.mi배트맨 토토w.org/wiki/MSYS의 일부로Mi배트맨 토토W컴파일러 제품군.

다음을 포함하는 디렉토리를 추가해야 합니다.flex.exe그리고bison.exePATH 환경 변수에buildenv.pl이미 PATH에 있지 않은 경우. Mi배트맨 토토W의 경우 디렉터리는 다음과 같습니다.\msys\1.0\binMi배트맨 토토W 설치 디렉토리의 하위 디렉토리.

참고

GnuWin32의 Bison 배포판에는 영어 설치의 기본 위치와 같이 이름에 공백이 있는 디렉토리에 설치하면 Bison이 오작동하는 버그가 있는 것 같습니다.C:\Program Files\GnuWin32. 다음 위치에 설치하는 것을 고려하세요.C:\GnuWin32또는 PATH 환경 설정에서 GnuWin32에 대한 NTFS 짧은 이름 경로를 사용합니다(예:C:\PROGRA~1\GnuWin32).

차이

회귀 테스트를 실행하려면 Diff가 필요하며 다음에서 다운로드할 수 있습니다.http://gnuwin32.sourceforge.net.

Gettext

NLS 지원으로 배트맨 토토하려면 Gettext가 필요하며 다음에서 다운로드할 수 있습니다.http://gnuwin32.sourceforge.net. 바이너리, 종속성, 개발자 파일이 모두 필요합니다.

MIT 케르베로스

GSSAPI 인증 지원에 필요합니다. MIT Kerberos는 다음에서 다운로드할 수 있습니다.https://web.mit.edu/Kerberos/dist/index.html.

libxml2그리고libxslt

XML 지원에 필요합니다. 바이너리는 다음에서 다운로드할 수 있습니다.https://zlatkovic.com/pub/libxml또는 출처http://xmlsoft.org. libxml2에는 동일한 다운로드 위치에서 사용할 수 있는 iconv가 필요합니다.

LZ4

지원에 필요함LZ4압축. 바이너리와 소스는 다음에서 다운로드할 수 있습니다.https://github.com/lz4/lz4/releases.

Z표준

지원을 위해 필요Z표준압축. 바이너리와 소스는 다음에서 다운로드할 수 있습니다.https://github.com/facebook/zstd/releases.

오픈SSL

SSL 지원에 필요합니다. 바이너리는 다음에서 다운로드할 수 있습니다.https://slproweb.com/products/Win32OpenSSL.html또는 출처https://www.openssl.org.

ossp-uuid

UUID-OSSP 지원에 필요합니다(contrib에만 해당). 소스는 다음에서 다운로드할 수 있습니다.http://www.ossp.org/pkg/lib/uuid/.

파이썬

건물에 필요함PL/파이썬. 바이너리는 다음에서 다운로드할 수 있습니다.https://www.python.org.

zlib

압축 지원에 필요함pg_dump그리고pg_restore. 바이너리는 다음에서 다운로드할 수 있습니다.https://www.zlib.net.

18.1.2. 64비트 Windows에 대한 특별 고려사항#

PostgreSQL은 64비트 Windows의 x64 아키텍처용으로만 배트맨 토토됩니다.

동일한 배트맨 토토 트리에서 32비트와 64비트 버전을 혼합하는 것은 지원되지 않습니다. 배트맨 토토 시스템은 32비트 또는 64비트 환경에서 실행 중인지 자동으로 감지하고 이에 따라 PostgreSQL을 배트맨 토토합니다. 이러한 이유로 배트맨 토토하기 전에 올바른 명령 프롬프트를 시작하는 것이 중요합니다.

다음과 같은 서버 측 타사 라이브러리를 사용하려면파이썬또는오픈SSL, 이 라이브러리반드시또한 64비트여야 합니다. 64비트 서버에서는 32비트 라이브러리를 로드하는 기능이 지원되지 않습니다. PostgreSQL이 지원하는 여러 타사 라이브러리는 32비트 버전에서만 사용할 수 있으며, 이 경우 64비트 PostgreSQL에서는 사용할 수 없습니다.

18.1.3. 건물#

릴리스 구성(기본값)에서 모든 PostgreSQL을 배트맨 토토하려면 다음 명령을 실행하십시오:

배트맨 토토

디버그 구성에서 모든 PostgreSQL을 배트맨 토토하려면 다음 명령을 실행하십시오:

디버그 배트맨 토토

단일 프로젝트(예: psql)를 배트맨 토토하려면 다음 명령을 실행하세요:

psql 배트맨 토토
DEBUG psql 배트맨 토토

디버깅을 위해 기본 배트맨 토토 구성을 변경하려면 다음을 입력하세요.buildenv.pl파일:

$ENVCONFIG="디버그";

Visual Studio GUI 내부에서 배트맨 토토하는 것도 가능합니다. 이 경우 다음을 실행해야 합니다.

perl mkvcbuild.pl

명령 프롬프트에서 생성된 파일을 엽니다.pgsql.sln(Visual Studio의 소스 트리 루트 디렉터리에 있음).

18.1.4. 청소 및 설치#

대부분의 경우 Visual Studio의 자동 종속성 추적은 변경된 파일을 처리합니다. 그러나 큰 변경 사항이 있는 경우 설치를 정리해야 할 수도 있습니다. 이렇게 하려면 간단히 다음을 실행하세요.clean.bat명령은 생성된 모든 파일을 자동으로 정리합니다. 다음을 사용하여 실행할 수도 있습니다.dist매개변수, 이 경우 다음과 같이 동작합니다make distclean그리고 flex/bison 출력 파일도 제거하세요.

기본적으로 모든 파일은 다음의 하위 디렉토리에 기록됩니다.디버그또는출시디렉터리. 표준 레이아웃을 사용하여 이러한 파일을 설치하고 데이터베이스를 초기화하고 사용하는 데 필요한 파일을 생성하려면 다음 명령을 실행하세요.

c:\destination\directory 설치

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

c:\destination\directory 클라이언트 설치

18.1.5. 회귀 테스트 실행#

회귀 테스트를 실행하려면 먼저 필요한 모든 부분의 배트맨 토토를 완료했는지 확인하십시오. 또한 시스템의 모든 부분을 로드하는 데 필요한 DLL(예: 절차 언어용 Perl 및 Python DLL)이 시스템 경로에 있는지 확인하세요. 그렇지 않은 경우에는를 통해 설정하십시오.buildenv.pl파일. 테스트를 실행하려면 다음 명령 중 하나를 실행하세요.src\tools\msvc디렉토리:

vcregress 확인
vcregress installcheck
vcregress plcheck
vcregress contribcheck
vcregress 모듈 검사
vcregress ecpgcheck
vcregress 격리 확인
vcregress bincheck
vcregress 복구 확인
vcregress taptest

사용된 일정을 변경하려면(기본값은 병렬) 다음과 같이 명령줄에 추가하세요.

vcregress 확인 시리얼

vcregress taptest다음과 같이 대상 디렉토리의 TAP 테스트를 실행하는 데 사용할 수 있습니다.

vcregress taptest src\bin\initdb\

회귀 테스트에 대한 자세한 내용은 다음을 참조하세요.윈 토토 : 문서 : 16 : 33 장 회귀 테스트.

클라이언트 프로그램에서 회귀 테스트 실행vcregress bincheck, 복구 테스트 중vcregress 복구 확인또는 다음으로 지정된 TAP 테스트vcregress taptest추가 Perl 모듈을 설치해야 합니다.

IPC::실행

이 글을 쓰는 시점에서,IPC::실행은 ActiveState Perl 설치나 ActiveState Perl 패키지 관리자(PPM) 라이브러리에 포함되어 있지 않습니다. 설치하려면 다음을 다운로드하세요.IPC-실행-<버전.tar.gz소스 아카이브 출처CPAN, 시간:https://metacpan.org/dist/IPC-Run, 압축을 푼다. 편집buildenv.pl파일을 지정하고 PERL5LIB 변수를 추가하여lib추출된 아카이브의 하위 디렉토리입니다. 예를 들어:

$ENVPERL5LIB=$ENVPERL5LIB . ';c:\IPC-Run-0.94\lib';

TAP 테스트는 다음으로 실행됩니다.vcregress환경 변수 지원PROVE_TESTS, 주어진 이름 패턴을 사용하여 자동으로 확장되며,PROVE_FLAGS. 실행하기 전에 Windows 터미널에서 설정할 수 있습니다.vcregress:

set PROVE_FLAGS=--timer --작업 2
PROVE_TESTS=t/020*.pl t/010*.pl 설정

다음에서 해당 매개변수를 설정하는 것도 가능합니다.buildenv.pl:

$ENVPROVE_FLAGS='--timer --작업 2'
$ENVPROVE_TESTS='t/020*.pl t/010*.pl'

또한 TAP 테스트의 동작은 환경 변수 세트로 제어할 수 있습니다. 참조섹션 33.4.1.

TAP 테스트 중 일부는 관련 테스트를 선택적으로 트리거하는 외부 명령 세트에 의존합니다. 해당 변수 각각은 다음에서 설정하거나 설정 해제할 수 있습니다.buildenv.pl:

GZIP_PROGRAM

a에 대한 경로gzip명령. 기본값은gzip, 구성된에서 해당 이름으로 명령을 검색합니다.경로.

LZ4

a에 대한 경로lz4명령. 기본값은lz4, 구성된에서 해당 이름으로 명령을 검색합니다.경로.

OPENSSL

경로openssl명령. 기본값은openssl, 구성된에서 해당 이름으로 명령을 검색합니다.경로.

TAR

a에 대한 경로타르명령. 기본값은타르, 구성된에서 해당 이름으로 명령을 검색합니다.경로.

ZSTD

a에 대한 경로zstd명령. 기본값은zstd, 구성된에서 해당 이름으로 명령을 검색합니다.경로.

수정 사항 제출

문서에 올바르지 않은 내용이 있으면 일치하지 않습니다. 특정 기능에 대한 경험이 있거나 추가 설명이 필요한 경우 이용해주세요이 양식문서 문제를 보고합니다.