사설 토토 생성

사설 토토 생성 - 새로운 절차 언어 정의

시놉시스

생성 [또는 교체] [신뢰할 수있는] [절차] 사설 토토이름핸들러call_handler[inlineinline_handler] [Validatorvalfunction]
[또는 교체] [신뢰할 수있는] [절차] 사설 토토 생성이름

설명

사설 토토 생성새로운 절차 사설 토토를 a 등록합니다.PostgreSQL데이터베이스. 결과적으로 기능과 절차는이 새로운 사설 토토로 정의 될 수 있습니다.

사설 토토 생성언어 이름을 언어로 작성된 기능을 실행하는 데 책임이있는 핸들러 함수와 언어 이름을 효과적으로 연결합니다. 참조PostgreSQL : 문서 : 16 : 58 장. 절차 적 언어 무지개 토토 작성사설 토토 처리기에 대한 자세한 내용은

사설 토토 생성 또는 교체새 사설 토토를 만들거나 기존 정의를 대체합니다. 사설 토토가 이미 존재하는 경우, 매개 변수는 명령에 따라 업데이트되지만 사설 토토의 소유권 및 권한 설정은 변경되지 않으며 사설 토토로 작성된 기존 기능은 여전히 유효하다고 가정합니다..

하나는postgresql새 언어를 등록하거나 기존 언어 매개 변수를 변경하는 슈퍼 서서 권한. 그러나 일단 언어가 만들어지면 언어가 비 슈퍼 루저에 소유권을 할당하는 것이 유효하며,이를 삭제하거나 권한을 변경하거나 이름을 바꾸거나 새 소유자에게 할당 할 수 있습니다. (그러나 기본 C 기능의 소유권을 비 슈퍼 루저에 할당하지 마십시오. 해당 사용자를위한 권한 에스컬레이션 경로를 만듭니다.)

의 형태사설 토토 생성12566_12694확장 생성. 언어가 동일한 이름의 확장으로 포장 된 경우 절차 언어를 설정하는 기존의 방법입니다.

매개 변수

신뢰할 수있는

신뢰할 수있는사설 토토가 사용자에게 그렇지 않은 데이터에 대한 액세스 권한을 부여하지 않도록 지정합니다. 사설 토토를 등록 할 때이 키 단어가 생략되면 사용자 만PostgreSQLSuperuser Privilege는이 사설 토토를 사용하여 새로운 기능을 만들 수 있습니다.

절차

이것은 소음 단어입니다.

이름

새로운 절차 언어의 이름. 이름은 데이터베이스의 언어 중에서 고유해야합니다.

핸들러 Call_Handler

call_handler는 절차 언어의 기능을 실행하기 위해 호출 될 이전에 등록 된 함수의 이름입니다. 절차 언어에 대한 통화 핸들러는 버전 1 통화 컨벤션과 함께 C와 같은 편집 된 언어로 작성되어PostgreSQL인수를 취하지 않고 반환하는 함수로서Language_Handler유형, 유형, 호출 핸들러로 기능을 식별하는 데 사용되는 자리 표시 자 유형.

인라인 inline_handler

inline_handler익명 코드 블록을 실행하기 위해 호출 될 이전에 등록 된 함수의 이름입니다 (do명령)이 사설 토토로. 그렇지 않은 경우inline_handler함수가 지정되어 있으며 언어는 익명 코드 블록을 지원하지 않습니다. 핸들러 함수는 유형의 하나의 인수를 취해야합니다내부,do명령의 내부 표현, 일반적으로 반환void. 핸들러의 반환 값은 무시됩니다.

Validator valfunction

Valfunction| 새 기능을 검증하기 위해 언어의 새 함수가 만들어 질 때 호출 될 이전에 등록 된 함수의 이름입니다. 유효성 검사 기능이 지정되지 않으면 새 기능이 생성 될 때 확인되지 않습니다. 유효성 검사 기능은 유형의 하나의 인수를 가져와야합니다OID, 이는 갈 수있는 기능의 OID가 될 것이며 일반적으로 반환됩니다void.

Validator 함수는 일반적으로 기능 본문에 구문 적 정확성을 검사하지만 언어가 특정 인수 유형을 처리 할 수없는 경우 기능의 다른 속성을 볼 수도 있습니다. 오류를 표시하려면 유효성 검사 기능이를 사용해야합니다.Ereport ()함수. 함수의 반환 값은 무시됩니다.

노트

use사설 토토 드롭절차 언어를 삭제하려면

시스템 카탈로그PG_LANGUAGE(참조토토 베이 PostgreSQL : 문서 : 16 : 53.29. pg_language) 현재 설치된 사설 토토에 대한 정보를 기록합니다. 또한,PSQL명령\ dl설치된 사설 토토를 나열합니다.

절차 언어로 기능을 만들려면 사용자에게는가 있어야합니다.usage사설 토토 특권. 기본적으로usagepublic17390_17464

절차 언어는 개별 데이터베이스에 로컬입니다. 그러나 언어는에 설치할 수 있습니다.Template1데이터베이스, 이로 인해 모든 후속 데이터베이스에서 자동으로 사용할 수 있습니다.

새로운 절차 언어를 생성하기위한 최소 순서는 다음과 같습니다.

함수 만들기 plsample_call_handler () language_handler를 반환합니다
    '$ libdir/plsample'으로
    언어 C;
언어 plsample을 만듭니다
    핸들러 plsample_call_handler;

일반적으로 Extension의 제작 스크립트로 작성되며 사용자는이를 확장자를 설치하기 위해 다음을 수행합니다.

Extension Plsample 생성;

호환성

사설 토토 생성isPostgreSQL확장.

수정 제출

문서에 올바른 것이 없으면 일치하지 않습니다. 특정 기능에 대한 귀하의 경험 또는 추가 설명이 필요합니다. 사용이 양식문서 문제를보고하려면