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

토토 핫 생성

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

시놉시스

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

설명

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

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

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

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

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

매개 변수

신뢰할 수있는

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

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

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

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

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

Extension Plsample 생성;

호환성

토토 핫 생성isPostgreSQL확장.