절차 롤 토토는이어야합니다.“설치”사용되는 각 데이터베이스에. 그러나 데이터베이스에 설치된 절차 롤 토토template1
at intry in 이후로 생성 된 모든 데이터베이스에서 자동으로 사용할 수 있습니다.template1
데이터베이스 생성
. 따라서 데이터베이스 관리자는 어떤 데이터베이스를 사용할 수 있는지 결정하고 원하는 경우 기본적으로 일부 롤 토토를 사용할 수있는 롤 토토를 결정할 수 있습니다.
표준 분포와 함께 제공되는 롤 토토의 경우 실행하면됩니다확장 생성
Language_Name
언어를 현재 데이터베이스에 설치하려면. 아래에 설명 된 수동 절차는 확장자로 포장되지 않은 언어를 설치하는 데만 권장됩니다.
매뉴얼 절차 롤 토토 설치
절차 롤 토토는 데이터베이스에 5 단계로 데이터베이스에 설치되며, 이는 데이터베이스 슈퍼 사용자가 수행해야합니다. 대부분의 경우 필수 SQL 명령은 AN의 설치 스크립트로 패키지해야합니다.“확장”확장 생성
이를 실행하는 데 사용할 수 있습니다.
언어 핸들러의 공유 객체는 적절한 라이브러리 디렉토리에 컴파일되어 설치해야합니다. 이것은 일반 사용자 정의 C 기능을 갖춘 모듈을 구축하고 설치하는 것과 같은 방식으로 작동합니다. 보다섹션 36.10.5. 종종 언어 처리기는 실제 프로그래밍 언어 엔진을 제공하는 외부 라이브러리에 따라 다릅니다. 그렇다면 설치해야합니다.
핸들러는 명령으로 선언해야합니다
함수 만들기handler_function_name
() Language_Handler를 반환합니다 처럼 '경로-공유-개체
' 롤 토토 C;
특수 반환 유형Language_Handler
데이터베이스 시스템 에이 함수가 정의 된 것 중 하나를 반환하지 않는다고 말합니다SQL데이터 유형이며 직접 사용할 수 없습니다SQL진술.
선택적으로, 롤 토토 핸들러는 A를 제공 할 수 있습니다“인라인”익명 코드 블록을 실행하는 핸들러 기능 (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/TCLandpl/tclu는 라이브러리 디렉토리에 구축 및 설치되었지만 언어 자체는 기본적으로 모든 데이터베이스에 설치되지 않습니다. 마찬가지로,pl/perlandpl/perluPERL 지원이 구성된 경우 핸들러가 빌드 및 설치됩니다.pl/pythonuPython 지원이 구성되면 핸들러가 설치되어 있지만 이러한 언어는 기본적으로 설치되지 않습니다.
문서에 올바른 것이 없다면 일치하지 않습니다. 특정 기능에 대한 귀하의 경험 또는 추가 설명이 필요합니다. 사용이 양식문서 문제를보고하려면