이 문서는 지원되지 않는 버전의 PostgreSQL을위한 것입니다.
당신은에 대해 같은 페이지를 볼 수 있습니다PostgreSQL : 문서 : 17 : 와이즈 토토 생성버전 또는 위에 나열된 다른 지원되는 버전 중 하나입니다.

토토 핫 생성

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

시놉시스

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

설명

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

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

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

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

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

매개 변수

신뢰할 수있는

신뢰할 수있는토토 핫가 사용자가 가지고 있지 않은 데이터에 대한 액세스 권한을 부여하지 않도록 지정합니다. 토토 핫를 등록 할 때이 키 단어가 생략되면 사용자 만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.

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

노트

use토토 핫 삭제절차 언어를 삭제하려면

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

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

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

예제

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

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

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

Extension Plsample 생성;

호환성

토토 핫 생성isPostgreSQL확장.