42.1. 절차적 스포츠 토토 설치

절차적 스포츠 토토는 다음과 같아야 합니다.설치됨사용할 각 데이터베이스에 저장합니다. 그러나 데이터베이스에 설치된 절차적 스포츠 토토템플릿1다음에 생성된 모든 데이터베이스에서 자동으로 사용할 수 있습니다.템플릿1다음에 의해 복사됩니다데이터베이스 생성. 따라서 데이터베이스 관리자는 어떤 데이터베이스에서 어떤 스포츠 토토를 사용할 수 있는지 결정할 수 있으며 원하는 경우 기본적으로 일부 스포츠 토토를 사용 가능하게 설정할 수 있습니다.

표준 배포판과 함께 제공되는 스포츠 토토의 경우 실행만 필요합니다확장 프로그램 만들기 스포츠 토토_이름현재 데이터베이스에 언어를 설치합니다. 아래에 설명된 수동 절차는 확장으로 패키지되지 않은 언어를 설치하는 경우에만 권장됩니다.

수동 절차적 스포츠 토토 설치

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

  1. 스포츠 토토 처리기를 위한 공유 객체는 적절한 라이브러리 디렉토리에 컴파일되고 설치되어야 합니다. 이는 일반 사용자 정의 C 함수를 사용하여 모듈을 구축하고 설치하는 것과 동일한 방식으로 작동합니다. 참조섹션 38.10.5. 종종 스포츠 토토 처리기는 실제 프로그래밍 스포츠 토토 엔진을 제공하는 외부 라이브러리에 의존합니다. 그렇다면 그것도 설치해야 합니다.

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

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

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

  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무제한의 기능을 제공하도록 설계되었으며 그래야 합니다아님신뢰할 수 있는 것으로 표시됩니다.

예 42.1수동 설치 절차가 스포츠 토토에서 어떻게 작동하는지 보여줍니다.PL/펄.

예 42.1. 수동 설치PL/펄

다음 명령은 데이터베이스 서버에 대한 공유 개체를 찾을 수 있는 위치를 알려줍니다.PL/펄언어의 호출 핸들러 함수:

함수 생성 plperl_call_handler() 언어 핸들러 AS를 반환합니다.
    '$libdir/plperl' 언어 C;

PL/펄인라인 핸들러 함수와 유효성 검사기 함수가 있으므로 이들도 선언합니다.

함수 생성 plperl_inline_handler(내부) 반환 무효 AS
    '$libdir/plperl' 언어 C STRICT;

함수 생성 plperl_validator(oid)는 void AS를 반환합니다.
    '$libdir/plperl' 언어 C STRICT;

명령어:

신뢰할 수 있는 언어 생성 plperl
    핸들러 plperl_call_handler
    인라인 plperl_inline_handler
    유효성 검사기 plperl_validator;

그런 다음 언어 속성이 다음과 같은 함수 및 프로시저에 대해 이전에 선언된 함수를 호출해야 함을 정의합니다.plperl.


기본적으로PostgreSQL설치, 핸들러PL/pgSQL언어가 빌드되어 다음에 설치됩니다.도서관디렉토리; 게다가,PL/pgSQL스포츠 토토 자체가 모든 데이터베이스에 설치되어 있습니다. 만일Tcl지원은 다음 핸들러에서 구성됩니다.PL/Tcl그리고PL/TclU는 라이브러리 디렉토리에 구축되어 설치되지만 언어 자체는 기본적으로 어떤 데이터베이스에도 설치되지 않습니다. 마찬가지로,PL/펄그리고PL/PerlUPerl 지원이 구성된 경우 핸들러가 빌드 및 설치되며,PL/PythonUPython 지원이 구성된 경우 처리기가 설치되지만 이러한 언어는 기본적으로 설치되지 않습니다.

수정사항 제출

문서에 올바르지 않은 내용이 있으면 일치하지 않습니다. 특정 기능에 대한 경험이 있거나 추가 설명이 필요한 경우 이용해주세요이 양식문서 문제를 보고합니다.