젠 토토 : 문서 : 9.6 : 젠 토토 | |||
---|---|---|---|
범퍼카 토토 : 문서 : 9.6 : 절차 언어 | 범퍼카 토토 : 문서 : 9.6 : 절차 언어 | 40 장. 절차 와이즈 토토 | Postgre배트맨 토토 : 문서 : 9.6 : PL/PG배트맨 토토 -배트맨 토토 절차 언어 |
절차 적 와이즈 토토는이어야합니다."설치"사용되는 각 데이터베이스에. 그러나 데이터베이스에 설치된 절차 와이즈 토토template1at intry in 이후로 생성 된 모든 데이터베이스에서 자동으로 사용할 수 있습니다.template1데이터베이스 생성. 따라서 데이터베이스 관리자는 어떤 데이터베이스를 사용할 수 있는지 결정하고 원하는 경우 기본적으로 일부 와이즈 토토를 사용할 수있는 와이즈 토토를 결정할 수 있습니다.
표준 분포와 함께 제공되는 와이즈 토토의 경우 실행하면됩니다확장 생성 Language_Name언어를 현재 데이터베이스에 설치하려면. 또는 프로그램PostgreSQL쉘 명령 줄에서이를 수행하는 데 사용할 수 있습니다. 예를 들어 와이즈 토토를 설치하려면pl/perl데이터베이스로template1, 사용 :
Createlang plperl template1
아래 설명 된 수동 절차는 확장자로 포장되지 않은 와이즈 토토를 설치하는 데만 권장됩니다.
매뉴얼 절차 와이즈 토토 설치
절차 와이즈 토토는 데이터베이스에 5 단계로 데이터베이스에 설치되며, 이는 데이터베이스 슈퍼 사용자가 수행해야합니다. 대부분의 경우 필수 SQL 명령은 AN의 설치 스크립트로 패키지해야합니다."확장"확장 생성그것들을 실행하는 데 사용할 수 있습니다.
와이즈 토토 핸들러의 공유 객체는 적절한 라이브러리 디렉토리에 컴파일되어 설치해야합니다. 이것은 일반 사용자 정의 C 기능을 갖춘 모듈을 구축하고 설치하는 것과 같은 방식으로 작동합니다. 보다섹션 36.9.6. 종종 와이즈 토토 처리기는 실제 프로그래밍 와이즈 토토 엔진을 제공하는 외부 라이브러리에 따라 다릅니다. 그렇다면 설치해야합니다.
핸들러는 명령으로 선언해야합니다
함수 만들기handler_function_name() Language_Handler를 반환합니다 처럼 '경로 대 공유-개체' 와이즈 토토 C;
특수 반환 유형Language_Handler이 함수가 정의 된 것 중 하나를 반환하지 않는다고 데이터베이스 시스템에 알려줍니다.SQL데이터 유형이며 직접 사용할 수 없습니다SQL진술.
선택적으로, 와이즈 토토 핸들러는를 제공 할 수 있습니다."인라인"익명 코드 블록을 실행하는 핸들러 기능 (토토 꽁 머니 : 문서 : 9.6 : do명령)이 와이즈 토토로 작성되었습니다. 인라인 핸들러 기능이 와이즈 토토로 제공되는 경우와 같은 명령으로 선언하십시오.
함수 생성inline_function_name(내부) void를 반환합니다 처럼 '경로 대 공유-개체' 와이즈 토토 C;
선택적으로, 와이즈 토토 핸들러는 a를 제공 할 수 있습니다."Validator"실제로 실행하지 않고 정확성에 대한 함수 정의를 확인하는 함수. 유효성 검사 기능은에 의해 호출됩니다.함수 생성존재하는 경우. 와이즈 토토에 의해 유효성 검사 기능이 제공되는 경우와 같은 명령으로 선언하십시오.
기능 만들기validator_function_name(OID) void를 반환합니다 처럼 '경로 대 공유-개체' 와이즈 토토 C 엄격한;
마지막으로 PL은 명령으로 선언해야합니다
만들기 [신뢰할 수있는] [절차] 와이즈 토토Language_Name핸들러handler_function_name[인라인inline_function_name] [Validatorvalidator_function_name];
선택적인 키워드신뢰할 수있는언어가 사용자가 가지고 있지 않은 데이터에 대한 액세스 권한을 부여하지 않도록 지정합니다. 신뢰할 수있는 언어는 일반 데이터베이스 사용자 (슈퍼 사용자 권한이없는 사람)를 위해 설계되었으며 기능 및 트리거 절차를 안전하게 생성 할 수 있습니다. PL 기능은 데이터베이스 서버 내부에서 실행되므로신뢰할 수있는플래그는 데이터베이스 서버 내부 또는 파일 시스템에 액세스 할 수없는 와이즈 토토에 대해서만 제공되어야합니다. 와이즈 토토pl/pgsql, pl/tcl및pl/perl신뢰할 수있는 것으로 간주됩니다. 언어pl/tclu, pl/perlu및pl/pythonu무제한 기능을 제공하도록 설계되었으며not신뢰할 수있는 표시.
예 40-1수동 설치 절차가 언어와 어떻게 작동하는지 보여줍니다pl/perl.
예 40-1. 수동 설치pl/perl
다음 명령은 데이터베이스 서버에 공유 객체를 찾을 위치를 알려줍니다.pl/perl와이즈 토토 통화 처리기 기능 :
함수 만들기 plperl_call_handler () language_handler를 반환합니다 '$ libdir/plperl'언어 c;
pl/perl인라인 핸들러 기능과 유효성 검사기 기능이 있으므로 다음에도 선언합니다.
함수 만들기 plperl_inline_handler (내부)는 void를 반환합니다 '$ libdir/plperl'언어 C; 기능 생성 plperl_validator (OID)는 void를 반환합니다 '$ libdir/plperl'언어 c 엄격한;
명령 :
신뢰할 수있는 절차 적 언어 생성 핸들러 plperl_call_handler 인라인 plperl_inline_handler Validator plperl_validator;
그런 다음 언어 속성이있는 함수 및 트리거 절차에 대해 이전에 선언 된 함수가 호출되어야한다고 정의합니다.plperl.
기본값PostgreSQL설치, 핸들러pl/pgsql와이즈 토토가 구축되어 설치되어"도서관"디렉토리; 또한pl/pgsql와이즈 토토 자체는 모든 데이터베이스에 설치됩니다. 만약에tcl지원이 구성되어 있습니다.pl/tcl및pl/tclu라이브러리 디렉토리에 구축 및 설치되었지만 와이즈 토토 자체는 기본적으로 모든 데이터베이스에 설치되지 않습니다. 마찬가지로,pl/perlandpl/perluPERL 지원이 구성된 경우 핸들러가 빌드 및 설치됩니다.pl/pythonuPython 지원이 구성되면 핸들러가 설치되어 있지만 이러한 언어는 기본적으로 설치되지 않습니다.