절차적 언어는 다음과 같아야 합니다."설치됨"각 데이터베이스에 사용. 하지만 템플릿에 설치된 절차적 무지개 토토1 데이터베이스는 이후에 생성된 모든 항목에서 자동으로 사용할 수 있습니다. 데이터베이스. 따라서 데이터베이스 관리자는 어느 것을 결정할 수 있습니다. 어떤 데이터베이스에서 무지개 토토를 사용할 수 있고 일부를 만들 수 있습니다. 그가 선택한 경우 기본적으로 사용할 수 있는 무지개 토토입니다.
표준 배포판과 함께 제공되는 무지개 토토의 경우, 쉘 스크립트createlang사용 가능 세부 사항을 직접 수행하는 대신. 예를 들어, 설치PL/pgSQL안으로 template1 데이터베이스, 사용
createlang plpgsql template1
아래에 설명된 수동 절차는 다음 경우에만 권장됩니다. 사용자 정의 언어 설치createlang모릅니다.
수동 절차적 무지개 토토 설치
절차적 무지개 토토는 세 가지로 데이터베이스에 설치됩니다. 데이터베이스 수퍼유저가 수행해야 하는 단계입니다.
언어 처리기를 위한 공유 객체는 다음과 같아야 합니다 적절한 라이브러리에 컴파일 및 설치 디렉토리. 이것은 건물과 같은 방식으로 작동합니다. 일반 사용자 정의 C 함수로 모듈 설치 그렇습니다; 참조섹션 12.5.7.
핸들러는 다음 명령으로 선언되어야 합니다.
함수 생성handler_function_name()
OPAQUE를 다음과 같이 반환합니다.
'공유 객체 경로' 무지개 토토 C;
특수 반환 유형불투명이 함수는 하나를 반환하지 않음을 데이터베이스에 알립니다. 정의된SQL데이터 유형이며 직접 사용할 수 없습니다.SQL문장.
PL은 다음 명령으로 선언되어야 합니다.
생성 [신뢰할 수 있음] [절차] 무지개 토토무지개 토토-이름처리자handler_function_name;
선택적 키워드신뢰할 수 있음일반 데이터베이스 사용자가 이 무지개 토토를 사용하려면 슈퍼유저 권한이 허용되어야 합니다. 함수를 생성하고 프로시저를 트리거합니다. PL 이후 함수는 데이터베이스 서버 내부에서 실행됩니다.신뢰할 수 있음플래그만 제공되어야 합니다. 데이터베이스 서버에 대한 접근을 허용하지 않는 무지개 토토의 경우 내부 또는 파일 시스템. 무지개 토토PL/pgSQL, PL/Tcl, PL/펄및PL/파이썬신뢰할 수 있는 것으로 알려져 있습니다. 는 무지개 토토PL/TclU그리고PL/PerlU다음과 같이 설계되었습니다. 무제한 기능을 제공해야 합니다아님신뢰할 수 있는 것으로 표시됩니다.
기본적으로PostgreSQL설치, 핸들러PL/pgSQL무지개 토토가 빌드되고 설치되었습니다. 안으로"도서관"디렉토리. 만약에 Tcl/Tk 지원은 PL/Tcl 및 PL/TclU도 같은 위치에 구축되어 설치됩니다. 마찬가지로 PL/Perl 및 PL/PerlU 처리기가 구축되고 Perl 지원이 구성되어 있고 PL/Python이 설치된 경우 설치됩니다. Python 지원이 구성된 경우 설치됩니다.createlang스크립트 자동화2단계그리고3단계설명됨 위.
예 22-1. 수동 설치PL/pgSQL
다음 명령은 데이터베이스 서버에 에 대한 공유 객체를 찾으세요.PL/pgSQL무지개 토토의 호출 핸들러 기능.
CREATE FUNCTION plpgsql_call_handler ()는 OPAQUE AS를 반환합니다.
'$libdir/plpgsql' 무지개 토토 C;
명령어
신뢰할 수 있는 절차적 언어 생성 plpgsql
핸들러 plpgsql_call_handler;
그런 다음 이전에 선언된 호출 핸들러를 정의합니다. 함수 및 트리거 프로시저에 대해 함수를 호출해야 합니다. 언어 속성은 어디에 있습니까?plpgsql.