Postgresql 9.3.25 문서 | ||||
---|---|---|---|---|
윈 토토 : 문서 : 9.3 : 절차 언어 | 윈 토토 : 문서 : 9.3 : 절차 언어 | 제 39 장. 절차 토토 꽁 머니 | Postgre메이저 토토 사이트 : 문서 : 9.3 : PL/PG메이저 토토 사이트 -메이저 토토 사이트 절차 언어 |
절차 토토 꽁 머니는이어야합니다."설치"어디에서나 각 데이터베이스에 사용된. 그러나 데이터베이스에 설치된 절차 토토 꽁 머니template1는 모두 자동으로 사용할 수 있습니다 그 후에는 입력이 이후로 데이터베이스를 생성했습니다.template1데이터베이스 생성. 따라서 데이터베이스 관리자는 할 수 있습니다 어떤 데이터베이스에 사용 가능한지 결정하고 그가 선택한 경우 기본적으로 일부 토토 꽁 머니를 사용할 수 있도록합니다.
표준 분포와 함께 제공되는 토토 꽁 머니의 경우 실행하는 데 필요한확장 생성 Language_Name를 설치하려면 현재 데이터베이스에 토토 꽁 머니. 또는 프로그램PostgreSQL이 작업을 수행하는 데 사용될 수 있습니다 쉘 명령 줄. 예를 들어 토토 꽁 머니를 설치하려면pl/perl데이터베이스로template1, 사용 :
Createlang plperl template1
아래 설명 된 수동 절차는 권장됩니다 확장자로 패키지되지 않은 토토 꽁 머니 설치.
매뉴얼 절차 토토 꽁 머니 설치
절차 토토 꽁 머니가 데이터베이스에 5 단계로 설치됩니다. 데이터베이스 슈퍼 사용자가 수행해야합니다. 대부분의 경우 필요한 SQL 명령은 설치로 포장되어야합니다. 스크립트"확장"확장 생성실행하는 데 사용할 수 있습니다 그들을.
토토 꽁 머니 핸들러의 공유 객체를 컴파일하고 적절한 라이브러리 디렉토리에 설치되었습니다. 이것은에서 작동합니다 규칙적인 모듈을 구축하고 설치하는 것과 동일합니다 사용자 정의 C 함수는; 보다섹션 35.9.6. 종종, 토토 꽁 머니 핸들러는 실제를 제공하는 외부 라이브러리에 따라 다릅니다. 프로그래밍 토토 꽁 머니 엔진; 그렇다면 설치해야합니다 잘.
핸들러는 명령으로 선언해야합니다
기능 만들기handler_function_name() Language_Handler를 반환합니다 처럼 '경로 대 공유-객체' 토토 꽁 머니 C;
특수 반환 유형Language_Handler데이터베이스 시스템에이를 알려줍니다 함수는 정의 된 것 중 하나를 반환하지 않습니다SQL데이터 유형이며 직접 사용할 수 없습니다SQL진술.
선택적으로 토토 꽁 머니 핸들러는를 제공 할 수 있습니다."인라인"익명을 실행하는 핸들러 기능 코드 블록 (스포츠 토토 결과 : 문서 : 9.3 : do명령) 이에 작성되었습니다 토토 꽁 머니. 인라인 핸들러 기능이 토토 꽁 머니, 명령으로 선언
함수 만들기inline_function_name(내부) void를 반환합니다 처럼 '경로-공유-개체' 토토 꽁 머니 C;
선택적으로 토토 꽁 머니 핸들러는 a를 제공 할 수 있습니다."Validator"함수를 확인하는 함수 실제로 실행하지 않고 정확성에 대한 정의. 그만큼 유효성 검사 기능은에 의해 호출됩니다.생성 기능존재하는 경우. 유효성 검사 기능이 제공되는 경우 토토 꽁 머니,와 같은 명령으로 선언합니다.
함수 만들기validator_function_name(OID) void를 반환합니다 처럼 '경로-공유-개체' 토토 꽁 머니 C 엄격한;
마지막으로 PL은 명령으로 선언해야합니다
만들기 [신뢰할 수있는] [절차] 토토 꽁 머니토토 꽁 머니 이름핸들러handler_function_name[인라인inline_function_name] [Validatorvalidator_function_name];
선택적인 키워드신뢰할 수있는지정 언어는 사용자가 할 데이터에 대한 액세스 권한을 부여하지 않습니다. 그렇지 않으면. 신뢰할 수있는 언어는 평범한 것을 위해 설계되었습니다 데이터베이스 사용자 (슈퍼 사용자 권한이없는 사람)를 허용합니다 기능을 안전하게 생성하고 절차를 트리거합니다. pl 함수는 데이터베이스 서버 내부에서 실행됩니다.신뢰할 수있는플래그는 토토 꽁 머니에 대해서만 제공되어야합니다 데이터베이스 서버 내부 또는 파일에 대한 액세스를 허용하지 마십시오. 체계. 토토 꽁 머니pl/pgsql, pl/tcl및pl/perl신뢰할 수있는 것으로 간주됩니다. 언어pl/tclu, pl/perlu및pl/pythonu는 무제한을 제공하도록 설계되었습니다 기능 및해야합니다not신뢰할 수있는 표시.
예제 39-1수동 설치 절차가 어떻게 작동하는지 보여줍니다 언어로pl/perl.
예 39-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/TCLandpl/tclu라이브러리에 제작 및 설치되었습니다 디렉토리이지만 토토 꽁 머니 자체는 데이터베이스에 설치되어 있지 않습니다. 기본적으로. 마찬가지로,pl/perlandpl/perlu핸들러가 구축되었습니다 Perl 지원이 구성된 경우 설치 및pl/pythonuPython이면 핸들러가 설치됩니다 지원이 구성되지만 이러한 언어는 기본.