무지개 토토 생성

CREATE LANGUAGE — 새로운 절차적 무지개 토토 정의

시놉시스

생성 [ 또는 교체 ] [ 신뢰 ] [ 절차 ] 무지개 토토이름핸들러call_handler[ 인라인inline_handler] [ 유효성 검사기발기능]
생성 [ 또는 교체 ] [ 신뢰 ] [ 절차 ] 무지개 토토이름

설명

무지개 토토 생성다음을 사용하여 새로운 절차적 언어를 등록합니다.포스트그레SQL데이터베이스. 이후에 이 새로운 무지개 토토로 함수와 프로시저를 정의할 수 있습니다.

무지개 토토 생성언어 이름을 해당 언어로 작성된 함수 실행을 담당하는 처리기 함수와 효과적으로 연결합니다. 참조PostgreSQL : 문서 : 15 : 58 장. 절차 적 언어 롤 토토 작성무지개 토토 처리기에 대한 자세한 내용은.

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

다음이 있어야 합니다.PostgreSQL수퍼유저 권한으로 새로운 언어를 등록하거나 기존 언어의 매개변수를 변경할 수 있습니다. 그러나 일단 언어가 생성되면 수퍼유저가 아닌 사람에게 언어의 소유권을 할당하는 것이 유효합니다. 그러면 슈퍼유저가 해당 언어를 삭제하거나 권한을 변경하거나 이름을 바꾸거나 새 소유자에게 할당할 수 있습니다. (그러나 슈퍼유저가 아닌 사람에게 기본 C 함수의 소유권을 할당하지 마십시오. 그렇게 하면 해당 사용자에 대한 권한 상승 경로가 생성됩니다.)

형태무지개 토토 생성핸들러 기능을 제공하지 않는 것은 더 이상 사용되지 않습니다. 이전 덤프 파일과의 하위 호환성을 위해 다음과 같이 해석됩니다.확장 프로그램 만들기. 이는 절차적 언어를 설정하는 일반적인 방법인 동일한 이름의 확장으로 언어가 패키지된 경우 작동합니다.

매개변수

신뢰할 수 있음

신뢰할 수 있음무지개 토토는 사용자가 다른 방법으로는 가질 수 없는 데이터에 대한 액세스 권한을 부여하지 않도록 지정합니다. 무지개 토토 등록 시 이 키워드를 생략하면 해당 키워드를 가진 사용자만 해당포스트그레SQL수퍼유저 권한은 이 무지개 토토를 사용하여 새로운 기능을 만들 수 있습니다.

절차

이것은 시끄러운 단어입니다.

이름

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

핸들러 call_handler

call_handler은 절차적 언어의 함수를 실행하기 위해 호출될 이전에 등록된 함수의 이름입니다. 절차적 언어에 대한 호출 핸들러는 버전 1 호출 규칙을 사용하여 C와 같은 컴파일된 언어로 작성되고 다음으로 등록되어야 합니다.포스트그레SQL인수를 사용하지 않고 다음을 반환하는 함수로언어_핸들러type, 단순히 함수를 호출 핸들러로 식별하는 데 사용되는 자리 표시자 유형입니다.

인라인 inline_handler

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

검증기 발함수

발함수은 언어의 새 함수가 생성될 때 새 함수의 유효성을 검사하기 위해 호출될 이전에 등록된 함수의 이름입니다. 유효성 검사기 함수가 지정되지 않으면 새 함수가 생성될 때 확인되지 않습니다. 유효성 검사기 함수는 다음 유형의 인수 하나를 사용해야 합니다.oid은 생성될 함수의 OID가 되며 일반적으로를 반환합니다.공허.

유효성 검사기 함수는 일반적으로 구문의 정확성을 위해 함수 본문을 검사하지만, 예를 들어 무지개 토토가 특정 인수 유형을 처리할 수 없는 경우 함수의 다른 속성도 볼 수 있습니다. 오류를 알리기 위해 유효성 검사기 함수는ereport()함수. 함수의 반환 값은 무시됩니다.

참고

사용무지개 토토 삭제절차적 언어를 삭제합니다.

시스템 카탈로그pg_무지개 토토(참조토토 핫 PostgreSQL : 문서 : 15 : 53.29. pg_language)은 현재 설치된 언어에 대한 정보를 기록합니다. 또한,psql명령\dL설치된 무지개 토토를 나열합니다.

절차적 언어로 함수를 생성하려면 사용자는 다음을 가지고 있어야 합니다.사용무지개 토토에 대한 권한입니다. 기본적으로,사용다음에게 부여됨공개(즉, 모든 사람) 신뢰할 수 있는 무지개 토토용. 원하시면 취소될 수 있습니다.

절차적 언어는 개별 데이터베이스에 대해 로컬입니다. 그러나 언어는에 설치할 수 있습니다.템플릿1데이터베이스, 이후에 생성되는 모든 데이터베이스에서 자동으로 사용할 수 있게 됩니다.

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

함수 생성 plsample_call_handler() 반환 Language_handler
    AS '$libdir/plsample'
    언어 C;
언어 만들기 plsample
    핸들러 plsample_call_handler;

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

확장 프로그램 만들기 plsample;

호환성

무지개 토토 생성PostgreSQL확장.

수정사항 제출

문서에 올바르지 않은 내용이 있으면 일치하지 않습니다. 특정 기능에 대한 경험이 있거나 추가 설명이 필요한 경우 이용해주세요이 양식문서 문제를 보고합니다.