젠 토토 : 문서 : 9.6 : 젠 토토 | |||
---|---|---|---|
PostgreSQL : 문서 : 9.6 : 관련 객체를 토토 핫자로 포장 | Postgre무지개 토토 : 문서 : 9.6 : 무지개 토토 확장 | 제 36 장 젠 토토SQL | 다음 |
배포에 대해 생각하고 있다면postgresql젠 토토 모듈, 휴대용 빌드 시스템을 설정하는 것은 상당히 어려울 수 있습니다. 따라서PostgreSQL설치는 젠 토토에 대한 빌드 인프라를 제공합니다.PGXS, 따라서 간단한 젠 토토 모듈은 이미 설치된 서버에 대해 간단히 구축 할 수 있습니다.PGXS는 주로 C 코드를 포함하는 젠 토토을위한 것이지만 순수한 SQL 젠 토토에도 사용될 수 있습니다. 참고PGXS|PostgreSQL; 간단한 서버 젠 토토 모듈에 대한 일반적인 빌드 규칙을 자동화합니다. 보다 복잡한 패키지의 경우 자신의 빌드 시스템을 작성해야 할 수도 있습니다.
사용하려면PGXS젠 토토 인프라 인프라는 간단한 makefile을 작성해야합니다. MakeFile에서는 일부 변수를 설정하고 Global을 포함해야합니다PGXSmakefile. 다음은이라는 젠 토토 모듈을 빌드하는 예입니다.isbn_issn, 일부 C 코드, 젠 토토 제어 파일, SQL 스크립트 및 문서 텍스트 파일이 포함 된 공유 라이브러리로 구성된 10467_10597 |
modules = isbn_issn Extension = ISBN_ISSN data = isbn_issn--1.0.sql 문서 = readme.isbn_issn pg_config = pg_config pgxs : = $ (shell $ (pg_config) --pgxs) $ (pgxs) 포함
마지막 세 줄은 항상 동일해야합니다. 파일의 앞부분에서 변수를 할당하거나 사용자 정의 추가make규칙.
구축 된 내용을 지정하도록이 세 가지 변수 중 하나를 설정하십시오.
동일한 STEM이있는 소스 파일에서 구축 할 공유 라이브러리 개체 목록 (이 목록에 라이브러리 접미사를 포함하지 않음)
여러 소스 파일에서 빌드 할 공유 라이브러리 ( 목록OBJS)
빌드 할 실행 프로그램 (객체 파일 목록OBJS)
다음 변수도 설정할 수 있습니다.
젠 토토 이름; 각 이름에 대해를 제공해야합니다.Extension.control파일.prefix/share/extension
하위 디렉토리접두사/share어떤 데이터 및 문서 파일을 설치 해야하는지 (설정하지 않으면 기본값은젠 토토if젠 토토가 설정되거나Contrib그렇지 않은 경우)
random files to interprefix/share/$ moduledir
random files to into에 설치할prefix/share/$ moduledir, 먼저 건축해야합니다
아래에 설치할 무작위 파일prefix/share/tsearch_data
아래에 설치할 무작위 파일prefix/doc/$ moduledir
스크립트 파일 (바이너리 아님)에 설치할접두사/bin
스크립트 파일 (바이너리 아님)에 설치할접두사/bin, 먼저 구축 해야하는
회귀 테스트 사례 목록 (접미사없이), 아래 참조
추가 스위치 전달PG_REGRESS
제거 할 추가 파일깨끗하게 만들기
CPPFLAGS
|cflags
CXXFLAGS
ldflags
에 추가됩니다프로그램링크 라인
에 추가됩니다module_big링크 라인
경로PG_CONFIG프로그램PostgreSQL구축 할 설치 (일반적으로 JustPG_CONFIG당신의 첫 번째 것을 사용하려면Path)
이 makefile을로 넣으십시오.makefile젠 토토을 보유하는 디렉토리의. 그런 다음 할 수 있습니다make컴파일하려면설치 만들기모듈을 설치하려면. 기본적으로 젠 토토자가 컴파일되어에 설치됩니다.PostgreSQL첫 번째에 해당하는 설치PG_CONFIG당신의 프로그램Path. 설정하여 다른 설치를 사용할 수 있습니다PG_CONFIGPG_CONFIGMakefile 내에서 또는 프로그램make명령 줄.
당신도 실행할 수 있습니다만들기빌드 디렉토리를 별도로 유지하려면 젠 토토자의 소스 트리 외부의 디렉토리에서. 이 절차는 A라고도합니다.vpath빌드. 방법은 다음과 같습니다.
mkdir build_dir cd build_dir -f/path/to/extension/source/tree/makefile make make make -f/path/to/extension/source/tree/makefile install make make
또는 핵심 코드에 대한 수행 방식과 유사한 방식으로 vpath 빌드에 대한 디렉토리를 설정할 수 있습니다. 이를 수행하는 한 가지 방법은 핵심 스크립트를 사용하는 것입니다config/prep_buildtree. 이 작업이 완료되면를 설정하여 구축 할 수 있습니다.make가변vpath처럼 :
vpath =/path/to/extension/source/tree make make vpath =/path vpath =/path/to/extension/source/tree install make
이 절차는 더 다양한 디렉토리 레이아웃과 함께 작동 할 수 있습니다.
스크립트에 나열된 스크립트회귀변수는 모듈의 회귀 테스트에 사용됩니다.설치 체크 만들기수행 후설치. 이것이 작동하려면 달리기가 있어야합니다PostgreSQL서버. 나열된 스크립트 파일회귀지명 된 하위 디렉토리에 나타나야합니다SQL/Extension의 디렉토리에서. 이 파일에는 젠 토토이 있어야합니다.SQL,회귀makefile에 목록. 각 테스트마다이 서브 디렉토리에 예상 출력이 포함 된 파일도 있어야합니다.예상/, 동일한 줄기와 젠 토토.out. 설치 체크 만들기각 테스트 스크립트 실행PSQL, 결과 출력을 일치하는 예상 파일과 비교합니다. 모든 차이점은 파일에 기록됩니다regression.diffsindiff -c형식. 예상 파일이 누락 된 테스트를 실행하려고 시도하면로보고됩니다."문제", 예상되는 모든 파일이 있는지 확인하십시오.
팁 :예상 파일을 생성하는 가장 쉬운 방법은 빈 파일을 작성한 다음 테스트 실행을 수행하는 것입니다 (물론 보고서 차이). 에있는 실제 결과 파일 검사결과/디렉토리를 복사 한 다음예상/그들이 당신이 테스트에서 기대하는 것에 일치하는 경우.
이전 | 젠 토토 : 문서 : 9.6 : 젠 토토 9.6.24 문서화 | 스포츠 토토 : 문서 : 9.6 : 트리거 |
관련 객체를 젠 토토자로 포장 | Postgre무지개 토토 : 문서 : 9.6 : 무지개 토토 확장 | 트리거 |