Postgresql 9.1.24 문서화 | ||||
---|---|---|---|---|
롤 토토 PostgreSQL : 문서화 : 9.1 : 인덱스에 대한 인터페이스 확장 | up | 35 장. 배트맨 토토SQL | 다음 |
유용한 배트맨 토토PostgreSQL일반적으로 여러 SQL을 포함합니다 사물; 예를 들어, 새로운 데이터 유형에는 새로운 기능이 필요합니다. 새로운 운영자 및 아마도 새로운 인덱스 운영자 클래스. 그것은 이 모든 객체를 단일 패키지로 수집하는 데 도움이됩니다. 데이터베이스 관리 단순화.PostgreSQL그러한 패키지를 호출 a배트맨 토토. 배트맨 토토을 정의하려면 필요합니다 최소한 A스크립트 파일SQLExtension의 객체 및 A제어 파일배트맨 토토 자체의 몇 가지 기본 속성을 지정합니다. 만약에 배트맨 토토에는 C 코드가 포함되며 일반적으로 C 코드가 구축 된 공유 라이브러리 파일. 한 번 이 파일이 있습니다. 간단한배트맨 토토 생성명령을로드합니다 데이터베이스에 개체.
단지 배트맨 토토을 사용하는 주요 장점 실행SQL로드 스크립트"느슨한"당신의 물체 데이터베이스,PostgreSQL그런 다음 배트맨 토토자의 객체가 함께. 단일로 모든 객체를 삭제할 수 있습니다드롭 배트맨 토토명령 (필요 없음 별도의 유지"제거"스크립트). 훨씬 더 유용합니다.pg_dump그것을 버리지 말아야한다는 것을 알고 있습니다 배트맨 토토자의 개별 회원 객체 - 단지 포함됩니다. 에이배트맨 토토 생성덤프의 명령, 대신에. 이것은 새로운 버전의 마이그레이션을 크게 단순화합니다. 더 많은 객체를 포함 할 수있는 배트맨 토토자 오래된 버전. 그러나 배트맨 토토자가 있어야합니다 이러한로드 할 때 사용 가능한 컨트롤, 스크립트 및 기타 파일 새 데이터베이스에 덤프하십시오.
PostgreSQL당신을 허락하지 않을 것입니다 배트맨 토토에 포함 된 개별 객체를 전체 배트맨 토토을 떨어 뜨립니다. 또한 변경할 수 있습니다 배트맨 토토 멤버 객체의 정의 (예 : via함수 생성 또는 교체a 기능), 수정 된 정의는 버려pg_dump. 그런 변화 일반적으로 동시에 같은 변경을하는 경우에만 합리적입니다. 배트맨 토토자의 스크립트 파일에서. (그러나 특별 조항이 있습니다 구성 데이터를 포함하는 테이블; 아래를 참조하십시오.)
배트맨 토토 메커니즘에는 포장 조항도 있습니다 SQL의 정의를 조정하는 수정 스크립트 배트맨 토토에 포함 된 객체. 예를 들어, 버전 1.1의 경우 배트맨 토토자는 한 기능을 추가하고 다른 기능을 변경합니다. 함수 1.0과 비교하여 배트맨 토토자 저자는 A를 제공 할 수 있습니다스크립트 업데이트그 두 가지만 만듭니다 변화. 그만큼Alter Extension Update명령을 사용하여 이러한 변경 사항을 적용하고 추적 할 수 있습니다. 배트맨 토토 버전은 실제로 주어진에 설치됩니다. 데이터 베이스.
배트맨 토토의 구성원이 될 수있는 SQL 객체의 종류 의 설명에 표시됩니다.연장. 특히 물체 데이터베이스, 역할 및와 같은 데이터베이스 클러스터 전체입니다 테이블 스페이스, 배트맨 토토자가 있기 때문에 배트맨 토토 멤버가 될 수 없습니다 하나의 데이터베이스 내에서만 알려져 있습니다. (배트맨 토토 스크립트는 있지만 그러한 객체를 만드는 것은 금지되지 않습니다. 배트맨 토토의 일부로 추적되지 않습니다.) 또한 테이블은 연장의 회원이 될 수 있지만 자회사는 인덱스와 같은 개체는 직접 구성원으로 간주되지 않습니다. 배트맨 토토. 또 다른 중요한 요점은 스키마가 속할 수 있다는 것입니다 배트맨 토토에 이르지만 그 반대는 아닙니다. 자격이없는 이름이며 존재하지 않습니다"내"모든 스키마. 배트맨 토토 회원 그러나 물체는 적절할 때마다 스키마에 속합니다 그들의 객체 유형. 그것은 적절하거나 적합하지 않을 수 있습니다 스키마를 소유하려면 멤버 객체가 내부에 있습니다.
thePostgreSQL : 문서 : 9.1 : 토토 커뮤니티 생성명령은 각 배트맨 토토자의 제어 파일에 의존합니다. 접미사로 배트맨 토토자와 동일하게.control설치Sharedir/Extension디렉토리. 적어도 하나가 있어야합니다SQL이름 지정을 따르는 스크립트 파일 무늬배트맨 토토--버전.SQL(예 :foo--1.0.sql버전1.0배트맨 토토foo). 기본적으로 스크립트 파일도에 배치됩니다.Sharedir/Extension디렉토리; 그러나 제어 파일은 스크립트의 다른 디렉토리를 지정할 수 있습니다. 파일.
배트맨 토토 제어 파일의 파일 형식은 다음과 같습니다.postgresql.conf파일, 즉 목록parameter_name = value한 줄 당 과제. 공백 에 의해 소개 된 줄과 의견#are 허용된. 한 단어가 아닌 값을 인용하십시오. 또는 번호.
컨트롤 파일은 다음 매개 변수를 설정할 수 있습니다.
Extension 's를 포함하는 디렉토리SQL스크립트 파일. 절대 경로가 주어지지 않는 한 이름은 설치Sharedir디렉토리. 기본 동작은 동일합니다 지정디렉토리 = '확대'.
배트맨 토토자의 기본 버전 (That 버전이 지정되지 않은 경우 설치됩니다배트맨 토토 생성). 이건 생략 할 수 있습니다.배트맨 토토 생성아니오이면 실패버전옵션이 나타나므로 일반적으로 나타납니다 그렇게하고 싶지 않습니다.
배트맨 토토에 대한 주석 (모든 문자열). 또는 주석은를 통해 설정할 수 있습니다.댓글스크립트 파일.
스크립트 파일에서 사용하는 문자 세트 인코딩. 스크립트 파일에 비 ASCII 문자. 그렇지 않으면 파일이 가정됩니다 데이터베이스 인코딩에있을 것입니다.
이 매개 변수의 값은 대체됩니다 각각module_pathname스크립트 파일에서. 만약에 설정되지 않으며 대체는 없습니다. 일반적으로 이것은입니다 로 설정됩니다$ libdir/shared_library_name그리고module_pathname기능 생성명령 C-language functions로 스크립트 파일이 그렇지 않습니다 공유 라이브러리의 이름을 하드 와이어해야합니다.
이 배트맨 토토자의 배트맨 토토 이름 목록 예를 들어에 따라 다릅니다.요구 사항 = 'foo, bar'. 이러한 배트맨 토토자는 설치해야합니다 이것을 설치하기 전에.
이 매개 변수 인 경우true(기본값), 슈퍼 사용자만이 만들 수 있습니다 배트맨 토토 또는 새 버전으로 업데이트하십시오. 로 설정된 경우거짓, 단지 특권 설치에서 명령을 실행하는 데 필요합니다 업데이트 스크립트가 필요합니다.
배트맨 토토자는rejocatable포함 된 개체를 배트맨 토토 초기 생성 후 다른 스키마. 기본값은거짓, 즉 배트맨 토토은 재배치 할 수 없습니다. 자세한 내용은 아래를 참조하십시오 정보.
이 매개 변수는 relocaitable에 대해서만 설정할 수 있습니다 배트맨 토토. 그것은 배트맨 토토을 강제로 적재합니다 정확히 이름이 지정된 스키마와 다른 스키마가 아닙니다. 아래를 참조하십시오 더 많은 정보.
기본 제어 파일 외에배트맨 토토.control, 배트맨 토토 할 수 있습니다 스타일에 이름이 지정된 보조 제어 파일이 있습니다배트맨 토토--버전.Control. 제공되는 경우, 이것들 스크립트 파일 디렉토리에 있어야합니다. 보조 제어 파일은 기본 제어 파일과 동일한 형식을 따릅니다. 어느 보조 제어 파일에 설정된 매개 변수는 기본을 무시합니다. 해당 버전을 설치하거나 업데이트 할 때 제어 파일 확대. 그러나 매개 변수디렉토리및default_version보조로 설정할 수 없습니다 제어 파일.
배트맨 토토자SQL스크립트 파일에는 트랜잭션을 제외한 모든 SQL 명령이 포함될 수 있습니다 제어 명령 (시작, 커밋등) 및 명령 트랜잭션 블록 내부에서 실행 (예 :진공). 스크립트 파일이 있기 때문입니다 트랜잭션 블록 내에서 암시 적으로 실행됩니다.
Extension 'sSQL스크립트 파일은로 시작하는 줄도 포함 할 수 있습니다.\ echo, 무시됩니다 ( 의견) 배트맨 토토 메커니즘에 의해. 이 조항은입니다 스크립트 파일에 공급되는 경우 일반적으로 오류를 던지는 데 사용됩니다PSQL로드되지 않고 을 통해배트맨 토토 생성(예제 참조 아래 스크립트). 그 없이는 사용자가 실수로로드 할 수 있습니다 Extension의 내용으로"느슨한"배트맨 토토보다는 대상, 업무 상태 회복하기가 약간 지루합니다.
스크립트 파일에는 허용 된 문자가 포함될 수 있습니다. 지정된 인코딩, 제어 파일에는 일반 만 포함되어야합니다 ASCII, 방법이 없기 때문에PostgreSQL컨트롤을 인코딩하는 것을 아는 것 파일이 있습니다. 실제로 이것은 원한다면 문제입니다. Extension의 의견에 비 ASCII 문자를 사용하십시오. 이 경우 권장되는 관행은 컨트롤을 사용하지 않는 것입니다. 파일댓글매개 변수 사용배트맨 토토에 대한 의견a 주석을 설정하려면 스크립트 파일
사용자는 종종 Extension의 저자와 다른 스키마로의 배트맨 토토 염두에 두었습니다. 지원되는 세 가지 수준이 있습니다 이전 성 :
완전히 재배치 가능한 배트맨 토토을 다른 연장으로 옮길 수 있습니다 스키마는 데이터 베이스. 이것은와 함께 이루어집니다.ALTER 배트맨 토토 세트 스키마자동으로 명령 모든 멤버 객체를 새 스키마로 이름을 바꿉니다. 일반적으로 배트맨 토토에 포함 된 경우에만 가능합니다 어떤 스키마에 대한 내부 가정이 없습니다 객체가 있습니다. 또한 배트맨 토토자의 객체는 모두 시작할 수있는 한 스키마에서 (그렇지 않은 개체를 무시 절차 언어와 같은 모든 스키마에 속함). 마크 a 설정으로 완전히 재배치 가능한 배트맨 토토rejocatable = true제어 파일의
설치 중에 배트맨 토토이 재배치 할 수 있습니다 그러나 나중에는 아닙니다. 이것은 일반적으로 그렇습니다 Extension의 스크립트 파일은 대상을 참조해야합니다 스키마는 명시 적으로, 예를 들어 설정search_pathSQL 함수의 속성. 그러한 연장을 위해이전 가능 = 거짓제어 파일에서@extschema@대상 스키마를 참조하려면 스크립트 파일. 이 문자열의 모든 발생은 될 것입니다 이전의 실제 대상 스키마 이름으로 대체되었습니다 스크립트가 실행됩니다. 사용자는 대상 스키마를 설정할 수 있습니다 사용 사용스키마옵션배트맨 토토 생성.
배트맨 토토자가 재배치를 전혀 지원하지 않으면 설정rejocatable = false통제 파일, 또한 설정스키마to 의도 된 대상 스키마의 이름. 이것은 사용을 방해합니다 의스키마옵션배트맨 토토 생성, 그것을 지정하지 않는 한 제어 파일에 이름이 지정된 동일한 스키마. 이 선택은입니다 배트맨 토토자에 내부가 포함 된 경우 일반적으로 필요합니다 대체 할 수없는 스키마 이름에 대한 가정 의 사용@extschema@. 그만큼@extschema@대체 메커니즘 이 경우에도 사용할 수 있지만 제한적이지만 스키마 이름은 컨트롤에 의해 결정되므로 사용합니다. 파일.
모든 경우에 스크립트 파일은로 실행됩니다.search_path처음에는 대상 스키마를 가리 키도록 설정했습니다. 즉,배트맨 토토 생성동등합니다 이것의 :
로컬 검색 _path를 @extschema @;에 설정하십시오.
이것은 스크립트 파일로 생성 된 개체가 이동할 수 있습니다. 대상 스키마로. 스크립트 파일이 변경 될 수 있습니다search_path원한다면 일반적으로입니다 탐탁지 않은.search_path복원되었습니다 완료시 이전 설정으로배트맨 토토 생성.
대상 스키마는에 의해 결정됩니다스키마제어 파일의 매개 변수입니다 주어진, 그렇지 않으면스키마옵션 의배트맨 토토 생성그것이 주어진 경우, 그렇지 않으면 현재 기본 객체 생성 스키마 (첫 번째 발신자 중 하나search_path). 언제 제어 파일스키마매개 변수입니다 사용 된 대상 스키마는 아직 그렇지 않은 경우 생성됩니다. 존재하지만 다른 두 경우에는 이미 존재해야합니다.
전제 조건 배트맨 토토이 나열된 경우요구제어 파일에서 대상 스키마는의 초기 설정에 추가됩니다.search_path. 이것은 그들의 대상이 될 수있게한다 새 배트맨 토토자의 스크립트 파일에 표시됩니다.
relocatable 배트맨 토토에는 객체를 포함 할 수 있지만 여러 스키마에 퍼지면 일반적으로 바람직합니다 외부 사용을위한 모든 객체를 단일에 배치하십시오. 배트맨 토토자의 대상 스키마로 간주되는 스키마. 그런 배열은 기본 설정과 편리하게 작동합니다.search_path생성 중 종속 배트맨 토토.
일부 배트맨 토토에는 구성 테이블이 포함되어 있습니다 이후 사용자가 추가하거나 변경할 수있는 데이터 배트맨 토토 설치. 일반적으로 테이블이 일부인 경우 연장, 테이블의 정의 나 그 내용도pg_dump. 하지만 그 동작은 구성 테이블의 경우 바람직하지 않습니다. 어느 사용자의 데이터 변경은 덤프에 포함되어야합니다. 배트맨 토토은 덤프 후에 다르게 행동합니다 Reload.
이 문제를 해결하려면 배트맨 토토자의 스크립트 파일이
테이블 구성 테이블로 생성되었으므로 원인pg_dump테이블을 포함합니다
덤프의 내용 (정의가 아님). 그렇게하려면 전화하십시오
기능pg_extension_config_dump (regclass, text)
테이블을 만든 후
테이블 작성 my_config (키 텍스트, 값 텍스트); pg_catalog.pg_extension_config_dump를 선택하십시오 ( 'my_config', '');
테이블 수는 이런 식으로 표시 될 수 있습니다.
|pg_extension_config_dump
빈 문자열입니다.
테이블의 전체 내용은pg_dump. 이것은 일반적으로 만 정확합니다
테이블은 처음에 배트맨 토토자에 의해 생성 된대로 비어 있습니다.
스크립트. 초기 데이터가 혼합되어 있고 사용자가 제공 한 경우
표에있는 데이터,의 두 번째 주장pg_extension_config_dump
제공 a어디데이터를 선택하는 조건
버려야합니다. 예를 들어, 할 수 있습니다
테이블 작성 my_config (키 텍스트, 값 텍스트, Standard_Entry boolean); pg_catalog.pg_extension_config_dump를 선택하십시오 ( 'my_config', 'standard_entry가 아닌 곳');
그런 다음Standard_Entry행에서만 사실입니다 Extension의 스크립트에 의해 생성되었습니다.
초기에 제공되는 행과 같은 더 복잡한 상황 사용자가 수정할 수 있으며 작성하여 처리 할 수 있습니다. 구성 테이블을 트리거하여 수정되도록합니다 행이 올바르게 표시됩니다.
a와 관련된 필터 조건을 변경할 수 있습니다
전화로 구성 테이블pg_extension_config_dump
다시. (이것은 할 것이다
일반적으로 배트맨 토토 업데이트 스크립트에서 유용합니다.)
더 이상 구성 테이블이 아닌 테이블을 표시하는 방법
로 배트맨 토토자에서 분리하십시오.변경
배트맨 토토 ... 드롭 테이블.
이 테이블 사이의 외국 주요 관계 테이블이 덤프하는 순서를 지시합니다. pg_dump. 구체적으로, pg_dump는 덤프를 시도합니다 참조 테이블 전에 참조 테이블. 로서 외국의 주요 관계는 배트맨 토토 시간 Create에서 설정됩니다. (데이터가 테이블에로드되기 전에) 원형 종속성은 지원되지 않습니다. 원형 의존성이있을 때 존재하면 데이터가 여전히 덤프되지만 덤프는 그렇지 않습니다. 직접 복원 할 수 있고 사용자 개입이 필수의.
배트맨 토토 메커니즘의 한 가지 장점은 그것이 제공한다는 것입니다. SQL 명령에 대한 업데이트를 관리하는 편리한 방법 배트맨 토토자의 객체를 정의하십시오. 이것은 a를 연관시킴으로써 이루어집니다 릴리스 된 각 버전의 버전 이름 또는 번호 Extension의 설치 스크립트. 또한 사용자가 원하는 경우 데이터베이스에서 동적으로 데이터베이스를 업데이트 할 수 있으려면 다음에 버전을 제공해야합니다스크립트 업데이트필요한 변경을 수행합니다 한 버전에서 다음 버전으로 이동합니다. 업데이트 스크립트에는 이름이 있습니다 패턴 따르기배트맨 토토--Oldversion--Newversion.SQL(예 :foo--1.0--1.1.sql버전 수정 명령1.0확대foo버전1.1).
적절한 업데이트 스크립트를 사용할 수 있다는 점에서 명령Alter Extension Update의지 지정된 새 버전으로 설치된 배트맨 토토자를 업데이트하십시오. 그만큼 업데이트 스크립트는와 같은 환경에서 실행됩니다.배트맨 토토 생성설치를 제공합니다 스크립트 : 특히search_pathIS 같은 방식으로 설정하고 스크립트는 배트맨 토토자에 자동으로 추가됩니다.
배트맨 토토자에 보조 제어 파일이있는 경우 컨트롤 업데이트 스크립트에 사용되는 매개 변수는 다음과 같습니다. 스크립트의 대상 (신규) 버전과 관련이 있습니다.
업데이트 메커니즘을 사용하여 중요한 것을 해결할 수 있습니다. 특별 사례 : 변환"느슨한"배트맨 토토자로 개체 모음. 배트맨 토토 전에 메커니즘이 추가되었습니다PostgreSQL(9.1) 많은 사람들이 썼습니다 단순히 모듬이 포장되지 않은 배트맨 토토 모듈 사물. 이러한 객체가 포함 된 기존 데이터베이스가 주어지면 객체를 올바르게 패키지로 변환 할 수있는 방법 확대? 그들을 떨어 뜨린 다음 평범한 일을합니다배트맨 토토 생성는 한 가지 방법이지만 그렇지 않습니다 객체에 종속성이있는 경우 바람직합니다 (예 : if 데이터 유형의 테이블 열이 확대). 이 상황을 해결하는 방법은 빈을 만드는 것입니다. 배트맨 토토, 그런 다음 사용변경 배트맨 토토 추가하다각 기존 객체를 배트맨 토토자에 첨부하려면, 그런 다음 마지막으로 현재에있는 새 개체를 만듭니다. 배트맨 토토 버전이지만 포장되지 않은 릴리스에 없었습니다.배트맨 토토 생성이 경우를 지원합니다 그것과 함께From Old_version옵션으로 인해 발생합니다 대상 버전의 일반 설치 스크립트를 실행하지 않으며 그러나 대신에 이름이 지정된 업데이트 스크립트배트맨 토토--Old_version--target_version.SQL. 선택 as as를 사용할 더미 버전 이름Old_version는 배트맨 토토에 달려 있습니다 그래도 저자포장되지 않은는 일반적입니다 협약. 여러 이전 버전이있는 경우 배트맨 토토 스타일로 업데이트 할 수 있고 다중 더미 버전을 사용하십시오. 그것들을 식별하는 이름.
Alter Extension실행할 수 있습니다 요청 된 업데이트를 달성하기 위해 업데이트 스크립트 파일 시퀀스. 예를 들어, 만foo--1.0--1.1.sqlandfoo--1.1-2.0.sql사용 가능,Alter Extension를 적용합니다 버전 업데이트 인 경우 시퀀스2.0요청됩니다1.0현재입니다 설치.
PostgreSQL가정하지 않습니다 버전 이름의 속성에 대한 모든 것 : 예를 들어, IT 모르겠다1.1다음1.0. 그것은 단지 사용 가능한 것과 일치합니다 버전 이름 및 적용 해야하는 경로를 따릅니다. 가장 적은 업데이트 스크립트. (버전 이름은 실제로 그럴 수 있습니다 포함하지 않는 문자열--또는 선도 또는 후행-.)
때로는 제공하는 것이 유용합니다"다운 그레이드"스크립트, 예를 들어foo--1.1--1.0.sql변경 사항을 되돌릴 수 있습니다 버전과 관련1.1. 당신이한다면 그것은 다운 그레이드 스크립트가 가능성에주의를 기울여야합니다. 더 짧은 수율이기 때문에 예기치 않게 적용될 수 있습니다 길. 위험한 사례는 A가있는 곳입니다."빠른 길"앞으로 점프하는 스크립트를 업데이트하십시오 빠른 다운 그레이드 스크립트뿐만 아니라 여러 버전 경로의 시작점. 적용하는 데 더 적은 단계가 필요할 수 있습니다 다운 그레이드 및 빠른 경로는 하나의 버전을 앞서 나가는 것보다 한 번에. 다운 그레이드 스크립트가 대체 할 수없는 경우 객체, 이것은 바람직하지 않은 결과를 낳을 것입니다.
예기치 않은 업데이트 경로를 확인하려면이 명령을 사용하십시오.
선택 *에서 pg_extension_update_paths ( 'Extension_name');
이것은 각각의 알려진 버전 이름의 각 쌍을 보여줍니다. 업데이트 경로 시퀀스와 함께 지정된 배트맨 토토자 소스 버전에서 대상 버전, 또는NULL아니오가있는 경우 사용 가능한 업데이트 경로. 경로는 텍스트 형식으로 표시됩니다.--분리기. 사용할 수 있습니다regexp_split_to_array (path, '-')원하는 경우 배열 형식.
여기에 완전한 예가 있습니다SQL-2 요소 복합재 인 연장 슬롯에 모든 유형의 값을 저장할 수있는 유형 이름"K"및"V". 비 텍스트 값은 자동으로 강요됩니다 스토리지 텍스트.
스크립트 파일쌍-1.0.sql다음과 같습니다.
- 스크립트가 PSQL에 소스가 생성 된 배트맨 토토자가 아닌 PSQL에 제공되는 경우 불만 사항 \ echo는 "배트맨 토토 쌍을 만들기 위해"만들기 "를로드합니다. \그만두다 (k text, v text)로 유형 쌍을 만듭니다. 함수 쌍 생성 또는 교체 (Anylement, Text) 쌍 언어 SQL을 'select row ($ 1, $ 2) :: pair'로 반환합니다. 함수 쌍 생성 또는 교체 (텍스트, Anylement) 쌍 언어 SQL을 'select row ($ 1, $ 2) :: pair'로 반환합니다. 함수 쌍 생성 또는 교체 (Anylement, Any Element) 쌍 언어 SQL을 'select row ($ 1, $ 2) :: pair'로 반환합니다. 함수 쌍 생성 또는 교체 (텍스트, 텍스트) 쌍 언어 SQL을 'select row ($ 1, $ 2) :: pair;'로 반환합니다. 연산자 생성 ~ (leftarg = text, rightarg = anylement, procedure = pair); 연산자 생성 ~ (leftarg = anylement, rightarg = text, procedure = pair); 연산자 생성 ~ (leftarg = anylement, rightarg = anylement, procedure = pair); 연산자 생성 ~ (leftarg = 텍스트, rightarg = text, process = pair);
제어 파일pair.control다음과 같습니다 :
# 쌍 배트맨 토토 댓글 = '키/값 쌍 데이터 유형' default_version = '1.0' regocatable = true
이 두 파일을 설치하려면 makefile이 거의 필요하지 않습니다. 올바른 디렉토리로 A를 사용할 수 있습니다.makefile이것을 포함 :
Extension = 쌍 데이터 = 쌍-1.0.sql pg_config = pg_config pgxs : = $ (shell $ (pg_config) --pgxs) $ (pgxs) 포함
이 makefile의 의존PGXS,섹션 35.16. 명령설치컨트롤 및 스크립트를 설치합니다 에 의해보고 된대로 올바른 디렉토리에 파일PG_CONFIG.
파일이 설치되면를 사용하십시오.배트맨 토토 생성로드 명령 특정 데이터베이스에 대한 객체.