젠 토토 9.2.24 문서화 | ||||
---|---|---|---|---|
이전 | up | 제 35 장. 확장SQL | 다음 |
배포에 대해 생각하고 있다면PostgreSQL확장 모듈, 설정 a 그들을위한 휴대용 빌드 시스템은 상당히 어려울 수 있습니다. 그러므로 그만큼PostgreSQL설치 확장에 대한 빌드 인프라를 제공합니다.PGXS, 따라서 간단한 확장 모듈은 이미 설치된 서버에 대해 간단히 구축 할 수 있습니다.PGXS주로 의도 된 것입니다 C 코드를 포함하는 확장자이지만 사용될 수 있습니다. 순수한 SQL 확장도. 참고PGXS는 보편적 인 빌드가 아닙니다 모든 소프트웨어를 구축하는 데 사용할 수있는 시스템 프레임 워크 인터페이스젠 토토; 그것 간단한 서버 확장에 대한 일반적인 빌드 규칙을 자동화합니다 모듈. 더 복잡한 패키지의 경우 작성해야 할 수도 있습니다 자신의 빌드 시스템.
사용하려면PGXS확장 인프라를위한 인프라를 작성해야합니다 Makefile. makefile에서는 몇 가지 변수를 설정해야하며 마지막으로 글로벌 포함PGXSmakefile. 다음은 구축하는 예입니다 이름이 지정된 확장 모듈isbn_issn, 일부 C 코드가 포함 된 공유 라이브러리로 구성된 확장 제어 파일, SQL 스크립트 및 문서 텍스트 파일:
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규칙.
구축 된 내용을 지정하도록이 세 가지 변수 중 하나를 설정하십시오.
소스에서 구축 할 공유-라이브러리 개체 목록 동일한 줄기가있는 파일 (라이브러리 접미사를 포함하지 않음 이 목록)
여러 소스 파일에서 빌드 할 공유 라이브러리 ( 목록OBJS)
빌드 할 실행 프로그램 (객체 파일 목록OBJS)
다음 변수도 설정할 수 있습니다.
확장 이름; 각 이름에 대해를 제공해야합니다.확장.control파일 에 설치됩니다.접두사/share/extension
하위 디렉토리prefix/share어떤 데이터와 문서 파일을 설치해야합니다 (설정되지 않은 경우 기본값은확장if확장설정되거나Contrib그렇지 않은 경우)
랜덤 파일에 설치할prefix/share/$ moduledir
random files to inter에접두사/share/$ moduledir먼저 건설해야
아래에 설치할 무작위 파일접두사/share/tsearch_data
아래에 설치할 무작위 파일접두사/doc/$ moduledir
스크립트 파일 (바이너리 아님)에 설치할접두사/bin
스크립트 파일 (바이너리 아님)에 설치할접두사/bin, 먼저 건설해야합니다
회귀 테스트 사례 목록 (접미사없이) 아래에
추가 스위치 전달PG_REGRESS
제거 할 추가 파일만들기 깨끗한
에 추가됩니다CPPFLAGS
에 추가됩니다프로그램링크 선
에 추가됩니다module_big링크 라인
경로PG_CONFIG프로그램젠 토토구축 할 설치 (일반적으로 JustPG_CONFIG당신의 첫 번째 것을 사용하려면Path)
이 makefile으로makefile확장을 보유하는 디렉토리. 그런 다음 할 수 있습니다만들기컴파일하려면만들기 설치하다모듈을 설치하려면. 기본적으로 확장은입니다 컴파일 및 설치PostgreSQL그에 해당하는 설치 첫 번째PG_CONFIG프로그램이 발견되었습니다 당신의Path. 다른 것을 사용할 수 있습니다 설정으로 설치PG_CONFIGto 지적PG_CONFIG프로그램 makefile 내에서 또는만들기명령 줄.
주의 |
변경PG_CONFIG만 작동합니다 에 대항 할 때PostgreSQL8.3 이상. 나이가 들었습니다 출시 릴리스는 릴리스를 제외하고는 아무것도 설정하지 않도록 작동하지 않습니다.PG_CONFIG; 당신은 당신의를 변경해야합니다PATH설치를 선택하려면 대항하려면. |
스크립트에 나열된 스크립트회귀변수는 모듈의 회귀 테스트에 사용됩니다. 에 의해 호출 될 수 있습니다.설치 체크 만들기수행 후설치. 이것을 위해 일을해야합니다. 달리기PostgreSQL서버. 나열된 스크립트 파일 안에회귀하위 디렉토리에 나타나야합니다 이름SQL/내선에서 예배 규칙서. 이 파일에는 확장이 있어야합니다.SQL,회귀makefile에 목록. 각 테스트마다 또한 예상 출력을 포함하는 파일이어야합니다. 하위 디렉토리 이름예상/같은 줄기와 확장.out. 설치 체크 만들기각 테스트 스크립트 실행PSQL및 결과를 비교합니다 일치하는 예상 파일로의 출력. 차이가있을 것입니다 파일에 작성회귀 .diffsindiff -c형식. 실행하려고합니다 예상 파일이 누락 된 테스트는로보고됩니다."문제", 모든 것이 있는지 확인하십시오 예상 파일.
팁 :예상 파일을 생성하는 가장 쉬운 방법입니다 빈 파일을 만들고 테스트 실행을 수행하는 것입니다 ( 과정 보고서 차이). 실제 결과 파일을 검사하십시오 에서 발견결과/디렉토리, 그런 다음 복사예상/테스트에서 기대하는 것을 일치시킵니다.