이 문서는 지원되지 않는 PostgreSQL 버전에 대한 것입니다.
당신은 다음과 같은 페이지를 보고 싶을 수도 있습니다.PostgreSQL : 문서 : 17 : 40.1. 절차 토토 설치버전 또는 위에 나열된 다른 지원 버전 중 하나를 사용하세요.

39.1. 절차적 언어 설치

절차적 언어는 다음과 같아야 합니다."설치됨"각 데이터베이스에 사용. 그러나 데이터베이스에 설치된 절차적 토토 꽁 머니템플릿1모든 항목에서 자동으로 사용 가능 이후에 데이터베이스가 생성되었습니다.템플릿1다음에 의해 복사됩니다데이터베이스 생성. 따라서 데이터베이스 관리자는 다음을 수행할 수 있습니다. 어떤 데이터베이스에서 어떤 언어를 사용할 수 있는지 결정하고 원하는 경우 기본적으로 일부 언어를 사용할 수 있도록 설정하세요.

표준 배포판과 함께 제공되는 토토 꽁 머니의 경우 실행에만 필요함확장 프로그램 만들기 토토 꽁 머니_이름설치하려면 언어를 현재 데이터베이스에 추가합니다. 또는 프로그램PostgreSQL다음에서 이 작업을 수행하는 데 사용할 수 있습니다. 쉘 명령줄. 예를 들어 언어를 설치하려면PL/펄데이터베이스에템플릿1, 사용:

createlang plperl template1

아래 설명된 수동 절차는 다음 경우에만 권장됩니다. 확장으로 패키지되지 않은 언어를 설치합니다.

수동 절차적 토토 꽁 머니 설치

절차적 언어는 5단계를 거쳐 데이터베이스에 설치됩니다. 이는 데이터베이스 수퍼유저가 수행해야 합니다. 대부분의 경우 필요한 SQL 명령은 설치로 패키지되어야 합니다. 의 스크립트"확장 프로그램"그러니까확장 프로그램 만들기실행하는 데 사용할 수 있습니다. 그들.

  1. 언어 처리기를 위한 공유 개체를 컴파일하고 적절한 라이브러리 디렉토리에 설치됩니다. 이는 다음에서 작동합니다. 일반 모듈을 구축하고 설치하는 것과 같은 방식입니다. 사용자 정의 C 함수는 다음과 같습니다. 참조섹션 35.9.6. 흔히 언어는 핸들러는 실제를 제공하는 외부 라이브러리에 따라 달라집니다. 프로그래밍 언어 엔진; 그렇다면 다음과 같이 설치해야 합니다. 음.

  2. 핸들러는 다음 명령으로 선언되어야 합니다.

    함수 생성handler_function_name()
        반환 토토 꽁 머니_처리자
        그대로 '공유 객체 경로'
        토토 꽁 머니 C;

    특수 반환 유형토토 꽁 머니_핸들러데이터베이스 시스템에 이것이 함수는 정의된 것 중 하나를 반환하지 않습니다.SQL데이터 유형이며 다음에서 직접 사용할 수 없습니다.SQL문장.

  3. 선택적으로 언어 핸들러는 다음을 제공할 수 있습니다."인라인"익명을 실행하는 핸들러 함수 코드 블록(스포츠 토토 결과 : 문서 : 9.3 : do명령)이 여기에 작성되었습니다. 언어. 인라인 핸들러 함수가 제공되는 경우 언어인 경우 다음과 같은 명령으로 선언하세요.

    함수 생성inline_function_name(내부)
        반품 무효
        그대로 '공유 객체 경로'
        토토 꽁 머니 C;
  4. 선택적으로 언어 핸들러는 다음을 제공할 수 있습니다."검증기"함수를 확인하는 함수 실제로 실행하지 않고도 정확성을 정의합니다. 는 유효성 검사기 함수는 다음에 의해 호출됩니다.만들기 기능존재하는 경우. 유효성 검사기 기능이 제공되는 경우 언어는 다음과 같은 명령으로 선언하세요.

    함수 생성validator_function_name(oid)
        반품 무효
        그대로 '공유 객체 경로'
        토토 꽁 머니 C 엄격;
  5. 마지막으로 PL은 다음 명령으로 선언되어야 합니다.

    생성 [신뢰할 수 있음] [절차] 토토 꽁 머니토토 꽁 머니-이름핸들러handler_function_name
        [인라인inline_function_name]
        [검증기validator_function_name] ;

    선택적 키워드신뢰할 수 있음지정 토토 꽁 머니는 사용자가 원하는 데이터에 대한 액세스 권한을 부여하지 않습니다. 그렇지 않으면 없습니다. 신뢰할 수 있는 토토 꽁 머니는 일반 토토 꽁 머니를 위해 설계되었습니다. 데이터베이스 사용자(수퍼유저 권한이 없는 사용자)를 허용합니다. 안전하게 함수를 생성하고 프로시저를 트리거합니다. PL 이후 함수는 데이터베이스 서버 내부에서 실행됩니다.신뢰할 수 있음플래그는 다음과 같은 언어에만 제공되어야 합니다. 데이터베이스 서버 내부 또는 파일에 대한 액세스를 허용하지 마십시오. 시스템. 언어PL/pgSQL, PL/TclPL/펄신뢰할 수 있는 것으로 간주됩니다. 토토 꽁 머니PL/TclU, PL/PerlUPL/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의 경우 핸들러가 설치됨 지원이 구성되어 있지만 이러한 언어는 다음에서 설치되지 않습니다. 기본값.