절차적 언어는 다음과 같아야 합니다."설치됨"각 데이터베이스에 사용. 그러나 데이터베이스에 설치된 절차적 토토 커뮤니티템플릿1다음에서 자동으로 사용할 수 있습니다. 이후에 생성된 모든 데이터베이스는 해당 항목 이후에 생성됩니다.템플릿1다음에 의해 복사됩니다데이터베이스 생성. 따라서 데이터베이스 관리자는 다음을 수행할 수 있습니다. 어떤 데이터베이스에서 어떤 언어를 사용할 수 있는지 결정하고 원하는 경우 기본적으로 일부 언어를 사용할 수 있도록 설정하세요.
표준 배포판과 함께 제공되는 토토 커뮤니티의 경우, 실행에만 필요합니다.만들기 토토 커뮤니티 토토 커뮤니티_이름에 현재 데이터베이스에 언어를 설치합니다. 대안적으로, 프로그램PostgreSQL다음에서 이 작업을 수행하는 데 사용할 수 있습니다. 쉘 명령줄. 예를 들어 언어를 설치하려면PL/pgSQL데이터베이스에템플릿1, 사용:
createlang plpgsql template1
아래에 설명된 수동 절차는 다음 경우에만 권장됩니다. 사용자 정의 언어 설치만들기 토토 커뮤니티모릅니다.
수동 절차적 토토 커뮤니티 설치
절차적 언어는 4개의 데이터베이스에 설치됩니다. 이 단계는 데이터베이스 수퍼유저가 수행해야 합니다. ( 알려진 언어토토 커뮤니티 생성, 두 번째와 세 번째 단계는 생략할 수 있습니다. 필요한 경우 자동으로 수행됩니다.)
언어 처리기를 위한 공유 객체는 다음과 같아야 합니다 적절한 라이브러리에 컴파일 및 설치 디렉토리. 이것은 건물과 같은 방식으로 작동합니다. 일반 사용자 정의 C 함수로 모듈 설치 그렇습니다; 참조섹션 34.9.6. 종종 토토 커뮤니티 처리기는 외부에 의존합니다. 실제 프로그래밍 토토 커뮤니티를 제공하는 라이브러리 엔진; 그렇다면 그것도 설치해야 합니다.
핸들러는 다음 명령으로 선언되어야 합니다.
함수 생성handler_function_name()
반환 토토 커뮤니티_처리자
그대로 '공유 객체 경로'
토토 커뮤니티 C;
특수 반환 유형토토 커뮤니티_처리자데이터베이스 시스템에 다음을 알립니다. 이 함수는 정의된 것 중 하나를 반환하지 않습니다.SQL데이터 유형 및 에서 직접 사용할 수 없음SQL문장.
선택적으로 언어 핸들러는 다음을 제공할 수 있습니다."검증기"확인하는 함수 실제로 없는 정확성을 위한 함수 정의 그것을 실행합니다. 유효성 검사기 함수는 다음으로 호출됩니다.함수 생성존재하는 경우. 만약 유효성 검사기 함수는 핸들러에서 제공되며 이를 선언합니다. 다음과 같은 명령으로
함수 생성validator_function_name(oid)
반품 무효
그대로 '공유 객체 경로'
토토 커뮤니티 C;
PL은 다음 명령으로 선언되어야 합니다.
생성 [신뢰할 수 있음] [절차] 토토 커뮤니티토토 커뮤니티-이름핸들러handler_function_name [검증기validator_function_name] ;
선택적 키워드신뢰할 수 있음이 없는 일반 데이터베이스 사용자를 지정합니다. 이 토토 커뮤니티를 사용하려면 슈퍼유저 권한이 허용되어야 합니다. 함수를 생성하고 프로시저를 트리거합니다. PL 이후 함수는 데이터베이스 서버 내부에서 실행됩니다.신뢰할 수 있음플래그만 제공되어야 합니다. 데이터베이스 서버에 대한 접근을 허용하지 않는 토토 커뮤니티의 경우 내부 또는 파일 시스템. 토토 커뮤니티PL/pgSQL, PL/Tcl및PL/펄신뢰할 수 있는 것으로 간주됩니다. 는 토토 커뮤니티PL/TclU, PL/PerlU및PL/PythonU제공하도록 설계되었습니다. 무제한 기능을 제공해야 합니다.아님신뢰할 수 있는 것으로 표시됩니다.
예 37-1수동 설치 절차의 작동 방식을 보여줍니다. 언어로PL/pgSQL.
예 37-1. 수동 설치PL/pgSQL
다음 명령은 데이터베이스 서버에 에 대한 공유 객체를 찾으세요.PL/pgSQL언어의 호출 핸들러 기능.
함수 생성 plpgsql_call_handler() 언어 핸들러 AS를 반환합니다.
'$libdir/plpgsql' 언어 C;
PL/pgSQL검증기가 있습니다 함수이므로 우리도 이를 선언합니다.
CREATE FUNCTION plpgsql_validator(oid) void AS 반환
'$libdir/plpgsql' 토토 커뮤니티 C;
명령어:
신뢰할 수 있는 절차적 토토 커뮤니티 생성 plpgsql
핸들러 plpgsql_call_handler
유효성 검사기 plpgsql_validator;
그런 다음 이전에 선언된 함수가 다음과 같이 정의됩니다. 함수 및 트리거 프로시저에 대해 호출됩니다. 언어 속성은plpgsql.
기본적으로PostgreSQL설치, 핸들러PL/pgSQL토토 커뮤니티가 빌드되고 설치되었습니다. 안으로"도서관"디렉토리. 만일Tcl지원이 구성되었습니다. 처리기PL/Tcl그리고PL/TclU또한 구축되었으며 같은 위치에 설치했습니다. 마찬가지로,PL/펄그리고PL/PerlU핸들러는 다음과 같은 경우에 빌드 및 설치됩니다. Perl 지원이 구성되었으며,PL/PythonUPython의 경우 핸들러가 설치됨 지원이 구성되었습니다.