와이즈 토토 생성 - 새로운 절차 언어 정의
만들기 [또는 교체] [신뢰할 수있는] [절차] 와이즈 토토이름
핸들러call_handler
[inlineinline_handler
] [Validatorvalfunction
] [또는 교체] [신뢰할 수있는] [절차] 와이즈 토토 생성이름
와이즈 토토 생성
a에 새로운 절차 와이즈 토토를 등록합니다PostgreSQL데이터베이스. 결과적으로 기능과 절차는이 새로운 와이즈 토토로 정의 될 수 있습니다.
와이즈 토토 생성
언어 이름을 언어로 작성된 기능을 실행하는 데 책임이있는 핸들러 함수와 언어 이름을 효과적으로 연결합니다. 참조PostgreSQL : 문서 : 17 : 56 장. 절차 적 언어 토토 작성와이즈 토토 처리기에 대한 자세한 내용은
와이즈 토토 생성 또는 교체
새 와이즈 토토를 만들거나 기존 정의를 대체합니다. 와이즈 토토가 이미 존재하는 경우, 매개 변수는 명령에 따라 업데이트되지만 와이즈 토토의 소유권 및 권한 설정은 변경되지 않으며 와이즈 토토로 작성된 기존 기능은 여전히 유효하다고 가정합니다..
하나는postgresql새 언어를 등록하거나 기존 언어 매개 변수를 변경하는 슈퍼 서서 권한. 그러나 일단 언어가 만들어지면 언어가 비 슈퍼 루저에 소유권을 할당하는 것이 유효하며,이를 삭제하거나 권한을 변경하거나 이름을 바꾸거나 새 소유자에게 할당 할 수 있습니다. (그러나 기본 C 기능의 소유권을 비 슈퍼 루저에 할당하지 마십시오. 해당 사용자를위한 권한 에스컬레이션 경로를 만듭니다.)
의 형태와이즈 토토 생성
핸들러 기능을 제공하지 않는 것은 더 이상 사용되지 않습니다. 이전 덤프 파일과 거꾸로 호환되면로 해석됩니다.확장 생성
. 언어가 동일한 이름의 확장으로 포장 된 경우 절차 언어를 설정하는 기존의 방법입니다.
신뢰할 수있는
신뢰할 수있는
와이즈 토토가 사용자가 가지고 있지 않은 데이터에 대한 액세스 권한을 부여하지 않도록 지정합니다. 와이즈 토토를 등록 할 때이 키 단어가 생략되면 사용자 만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 : 문서 : 17 : 51.29. pg_language) 현재 설치된 언어에 대한 정보를 기록합니다. 또한,PSQL명령\ dl
설치된 와이즈 토토를 나열합니다.
절차 언어로 기능을 만들려면 사용자에게는가 있어야합니다.usage
와이즈 토토 특권. 기본적으로usage
public
(즉, 모든 사람) 신뢰할 수있는 언어. 원하는 경우 철회 될 수 있습니다.
절차 언어는 개별 데이터베이스에 로컬입니다. 그러나 언어는에 설치할 수 있습니다.template1
데이터베이스, 이로 인해 모든 후속 데이터베이스에서 자동으로 사용할 수 있습니다.
새로운 절차 언어를 만들기위한 최소 순서는 다음과 같습니다.
함수 만들기 plsample_call_handler () returnes language_handler를 반환합니다 '$ libdir/plsample'으로 언어 C; 언어 plsample을 만듭니다 핸들러 plsample_call_handler;
일반적으로 Extension의 제작 스크립트로 작성되며 사용자는 확장을 설치하기 위해이 작업을 수행합니다.
Extension Plsample 생성;
와이즈 토토 생성
isPostgreSQL확장.
문서에 맞지 않는 내용이 있으면 일치하지 않습니다. 특정 기능에 대한 귀하의 경험 또는 추가 설명이 필요합니다. 사용이 양식문서 문제를보고하려면