2025년 9월 25일:토토 커뮤니티 : 토토
이 문서는 지원되지 않는 PostgreSQL 버전에 대한 것입니다.
당신은 다음과 같은 페이지를 보고 싶을 수도 있습니다.PostgreSQL : 문서 : 17 : 36.18. 윈 토토 건물 인프라버전 또는 위에 나열된 다른 지원 버전 중 하나를 사용하세요.

35.16. 증축 건물 인프라

당신이 배포에 대해 생각하고 있다면포스트그레SQL확장 모듈, 설정 휴대용 빌드 시스템은 상당히 어려울 수 있습니다. 그러므로포스트그레SQL설치 확장을 위한 빌드 인프라를 제공합니다.PGXS이므로 간단한 확장이 가능합니다. 모듈은 이미 설치된 서버에 대해 간단하게 구축할 수 있습니다.PGXS주로 다음을 위한 것입니다. C 코드를 포함하는 확장은 다음 용도로 사용할 수 있지만 순수 SQL 확장도 마찬가지입니다. 참고하세요PGXS범용 빌드가 아닙니다. 모든 소프트웨어를 구축하는 데 사용할 수 있는 시스템 프레임워크 인터페이스하기PostgreSQL; 그것 간단한 서버 확장을 위한 공통 빌드 규칙을 자동화합니다. 모듈. 더 복잡한 패키지의 경우 다음을 작성해야 할 수도 있습니다. 자신만의 빌드 시스템을 구축하세요.

다음을 사용하려면PGXS확장을 위한 인프라를 구축하려면 간단한 항목을 작성해야 합니다. 메이크파일. makefile에서 몇 가지 변수를 설정해야 하며 마지막으로 전역을 포함합니다.PGXSmakefile. 다음은 빌드하는 예입니다. 이름이 붙은 확장 모듈isbn_issn, 일부 C 코드를 포함하는 공유 라이브러리로 구성됩니다. 확장 제어 파일, SQL 스크립트, 문서 텍스트 파일:

모듈 = isbn_issn
확장 = isbn_issn
데이터 = isbn_issn--1.0.sql
DOCS = README.isbn_issn

PG_CONFIG = pg_config
PGXS := $(쉘 $(PG_CONFIG) --pgxs)
$(PGXS) 포함

마지막 세 줄은 항상 동일해야 합니다. 이전에는 파일에 변수를 할당하거나 사용자 정의를 추가합니다.만들다규칙.

빌드되는 항목을 지정하려면 다음 세 가지 변수 중 하나를 설정하십시오.

모듈

소스에서 빌드할 공유 라이브러리 개체 목록 동일한 어간을 가진 파일(라이브러리 접미사를 포함하지 않음) 이 목록)

MODULE_big

여러 소스 파일에서 빌드하기 위한 공유 라이브러리 (객체 파일 나열OBJS)

프로그램

빌드할 실행 가능한 프로그램(객체 파일 나열OBJS)

다음 변수도 설정할 수 있습니다:

확장

확장자 이름; 각 이름에 대해 다음을 제공해야 합니다.확장.control파일, 이는 다음 위치에 설치됩니다.접두사/공유/확장

MODULEDIR

하위 디렉토리접두사/공유데이터와 DOCS 파일을 설치해야 합니다(설정하지 않은 경우 기본값은확장if확장설정되었거나기여그렇지 않은 경우)

데이터

설치할 임의의 파일접두사/share/$MODULEDIR

DATA_build

설치할 임의의 파일접두사/share/$MODULEDIR, 먼저 구축해야 합니다.

DATA_TSEARCH

아래에 설치할 임의 파일접두사/share/tsearch_data

문서

설치할 임의의 파일접두사/doc/$MODULEDIR

스크립트

설치할 스크립트 파일(바이너리 아님)접두사/bin

SCRIPTS_build

설치할 스크립트 파일(바이너리 아님)접두사/bin, 먼저 구축해야 할 것

회귀

회귀 테스트 사례 목록(접미사 없음), 참조 아래

REGRESS_OPTS

전달할 추가 스위치pg_regress

EXTRA_CLEAN

제거할 추가 파일만들다 깨끗하다

PG_CPPFLAGS

다음에 추가됩니다CPPFLAGS

PG_LIBS

다음에 추가됩니다프로그램링크 라인

SHLIB_LINK

다음에 추가됩니다MODULE_big링크 라인

PG_CONFIG

경로pg_config다음을 위한 프로그램포스트그레SQL빌드 대상 설치(일반적으로 단지pg_config첫 번째 것을 사용하려면PATH)

이 메이크파일을 다음과 같이 넣으세요메이크파일안에 확장 기능을 보유하는 디렉토리입니다. 그럼 할 수 있어만들다컴파일한 다음만들다 설치모듈을 설치합니다. 기본적으로 확장자는 다음을 위해 컴파일 및 설치되었습니다.PostgreSQL다음에 해당하는 설치 첫 번째pg_config다음에서 찾은 프로그램 당신의경로. 다른 것을 사용할 수 있습니다 설정으로 설치PG_CONFIG에 그것을 가리킨다pg_config프로그램, 둘 중 하나 makefile 내에서 또는만들다명령줄.

주의

변경 중PG_CONFIG만 작동합니다 빌드할 때PostgreSQL8.3 이상. 나이가 많은 릴리스에서는 이를 제외한 다른 것으로 설정하는 것이 작동하지 않습니다.pg_config; 변경해야 합니다.PATH설치 선택 빌드합니다.

다음에 나열된 스크립트는회귀변수는 모듈의 회귀 테스트에 사용됩니다. 다음으로 호출할 수 있습니다.설치 확인 수행하고 난 후설치하기. 이를 위해서는 일을 해야 해.PostgreSQL서버. 나열된 스크립트 파일 에서회귀하위 디렉토리에 나타나야 합니다 명명된sql/당신의 확장 프로그램에서 디렉토리. 이 파일에는 확장자가 있어야 합니다..sql, 이는에 포함되어서는 안 됩니다.회귀메이크파일에 나열하세요. 각 테스트마다 또한 예상되는 출력을 포함하는 파일이어야 합니다. 이름이 지정된 하위 디렉터리예상됨/, 동일한 줄기와 확장자.out. 설치 확인 수행다음을 사용하여 각 테스트 스크립트를 실행합니다.psql, 결과를 비교합니다. 일치하는 예상 파일로 출력합니다. 어떤 차이점도 있을 것입니다. 파일에 기록됨regression.diffsdiff -c형식. 실행하려고 시도하는 중입니다. 예상 파일이 누락된 테스트는 다음과 같이 보고됩니다."문제", 그러니 모두 가지고 있는지 확인하세요 예상되는 파일입니다.

팁:예상 파일을 생성하는 가장 쉬운 방법 빈 파일을 생성한 다음 테스트 실행을 수행하는 것입니다. 코스 보고서 차이점). 실제 결과 파일 검사 에서 찾았습니다.결과/디렉토리, 그런 다음 복사하세요.예상됨/그렇다면 테스트에서 기대하는 것과 일치하세요.