| PostgreSQL 9.3.25 문서 | ||||
|---|---|---|---|---|
| 윈 토토 : 문서 : 9.3 : 절차 언어 | 윈 토토 : 문서 : 9.3 : 절차 언어 | 39장. 절차적 토토 꽁 머니 | Postgre메이저 토토 사이트 : 문서 : 9.3 : PL/PG메이저 토토 사이트 -메이저 토토 사이트 절차 언어 | |
절차적 언어는 다음과 같아야 합니다."설치됨"각 데이터베이스에 사용. 그러나 데이터베이스에 설치된 절차적 토토 꽁 머니템플릿1모든 항목에서 자동으로 사용 가능 이후에 데이터베이스가 생성되었습니다.템플릿1다음에 의해 복사됩니다데이터베이스 생성. 따라서 데이터베이스 관리자는 다음을 수행할 수 있습니다. 어떤 데이터베이스에서 어떤 언어를 사용할 수 있는지 결정하고 원하는 경우 기본적으로 일부 언어를 사용할 수 있도록 설정하세요.
표준 배포판과 함께 제공되는 토토 꽁 머니의 경우 실행에만 필요함확장 프로그램 만들기 토토 꽁 머니_이름설치하려면 언어를 현재 데이터베이스에 추가합니다. 또는 프로그램PostgreSQL다음에서 이 작업을 수행하는 데 사용할 수 있습니다. 쉘 명령줄. 예를 들어 언어를 설치하려면PL/펄데이터베이스에템플릿1, 사용:
createlang plperl template1
아래 설명된 수동 절차는 다음 경우에만 권장됩니다. 확장으로 패키지되지 않은 언어를 설치합니다.
수동 절차적 토토 꽁 머니 설치
절차적 언어는 5단계를 거쳐 데이터베이스에 설치됩니다. 이는 데이터베이스 수퍼유저가 수행해야 합니다. 대부분의 경우 필요한 SQL 명령은 설치로 패키지되어야 합니다. 의 스크립트"확장 프로그램"그러니까확장 프로그램 만들기실행하는 데 사용할 수 있습니다. 그들.
언어 처리기를 위한 공유 개체를 컴파일하고 적절한 라이브러리 디렉토리에 설치됩니다. 이는 다음에서 작동합니다. 일반 모듈을 구축하고 설치하는 것과 같은 방식입니다. 사용자 정의 C 함수는 다음과 같습니다. 참조섹션 35.9.6. 흔히 언어는 핸들러는 실제를 제공하는 외부 라이브러리에 따라 달라집니다. 프로그래밍 언어 엔진; 그렇다면 다음과 같이 설치해야 합니다. 음.
핸들러는 다음 명령으로 선언되어야 합니다.
함수 생성handler_function_name()
반환 토토 꽁 머니_처리자
그대로 '공유 객체 경로'
토토 꽁 머니 C;
특수 반환 유형토토 꽁 머니_핸들러데이터베이스 시스템에 이것이 함수는 정의된 것 중 하나를 반환하지 않습니다.SQL데이터 유형이며 다음에서 직접 사용할 수 없습니다.SQL문장.
선택적으로 언어 핸들러는 다음을 제공할 수 있습니다."인라인"익명을 실행하는 핸들러 함수 코드 블록(스포츠 토토 결과 : 문서 : 9.3 : do명령)이 여기에 작성되었습니다. 언어. 인라인 핸들러 함수가 제공되는 경우 언어인 경우 다음과 같은 명령으로 선언하세요.
함수 생성inline_function_name(내부)
반품 무효
그대로 '공유 객체 경로'
토토 꽁 머니 C;선택적으로 언어 핸들러는 다음을 제공할 수 있습니다."검증기"함수를 확인하는 함수 실제로 실행하지 않고도 정확성을 정의합니다. 는 유효성 검사기 함수는 다음에 의해 호출됩니다.만들기 기능존재하는 경우. 유효성 검사기 기능이 제공되는 경우 언어는 다음과 같은 명령으로 선언하세요.
함수 생성validator_function_name(oid)
반품 무효
그대로 '공유 객체 경로'
토토 꽁 머니 C 엄격;마지막으로 PL은 다음 명령으로 선언되어야 합니다.
생성 [신뢰할 수 있음] [절차] 토토 꽁 머니토토 꽁 머니-이름핸들러handler_function_name [인라인inline_function_name] [검증기validator_function_name] ;
선택적 키워드신뢰할 수 있음지정 토토 꽁 머니는 사용자가 원하는 데이터에 대한 액세스 권한을 부여하지 않습니다. 그렇지 않으면 없습니다. 신뢰할 수 있는 토토 꽁 머니는 일반 토토 꽁 머니를 위해 설계되었습니다. 데이터베이스 사용자(수퍼유저 권한이 없는 사용자)를 허용합니다. 안전하게 함수를 생성하고 프로시저를 트리거합니다. PL 이후 함수는 데이터베이스 서버 내부에서 실행됩니다.신뢰할 수 있음플래그는 다음과 같은 언어에만 제공되어야 합니다. 데이터베이스 서버 내부 또는 파일에 대한 액세스를 허용하지 마십시오. 시스템. 언어PL/pgSQL, PL/Tcl및PL/펄신뢰할 수 있는 것으로 간주됩니다. 토토 꽁 머니PL/TclU, PL/PerlU및PL/PythonU무제한을 제공하도록 설계되었습니다. 기능을 갖추고 있어야 합니다아님신뢰할 수 있는 것으로 표시됩니다.
예 39-1수동 설치 절차의 작동 방식을 보여줍니다. 언어로PL/펄.
예 39-1. 수동 설치PL/펄
다음 명령은 데이터베이스 서버에 찾을 위치를 알려줍니다. 에 대한 공유 객체PL/펄언어의 호출 핸들러 함수:
함수 생성 plperl_call_handler() 언어 핸들러 AS를 반환합니다.
'$libdir/plperl' 언어 C;
PL/펄인라인 핸들러가 있습니다 함수와 유효성 검사기 함수가 있으므로 이들 함수도 선언합니다.
함수 생성 plperl_inline_handler(내부) 반환 무효 AS
'$libdir/plperl' 언어 C;
함수 생성 plperl_validator(oid)는 void AS를 반환합니다.
'$libdir/plperl' 언어 C STRICT;
명령어:
신뢰할 수 있는 절차적 언어 생성 plperl
핸들러 plperl_call_handler
인라인 plperl_inline_handler
유효성 검사기 plperl_validator;
그런 다음 이전에 선언된 함수가 다음과 같아야 함을 정의합니다. 언어가 실행되는 함수 및 트리거 프로시저에 대해 호출됩니다. 속성은plperl.
기본적으로포스트그레SQL설치, 핸들러PL/pgSQL토토 꽁 머니가 내장되어 설치됩니다."도서관"디렉토리; 더욱이,PL/pgSQL언어 자체는 모든 데이터베이스에 설치됩니다. 만일Tcl지원은 다음에 대한 핸들러에서 구성됩니다.PL/Tcl그리고PL/TclU라이브러리에 빌드 및 설치됩니다. 디렉토리이지만 언어 자체는 데이터베이스에 설치되지 않습니다. 기본적으로. 마찬가지로,PL/펄그리고PL/PerlU핸들러가 빌드되었습니다. Perl 지원이 구성된 경우 설치되며,PL/PythonUPython의 경우 핸들러가 설치됨 지원이 구성되어 있지만 이러한 언어는 다음에서 설치되지 않습니다. 기본값.