이 문서는 지원되지 않는 토토 커뮤니티 버전에 대한 것입니다.
당신은 다음과 같은 페이지를 보고 싶을 수도 있습니다.PostgreSQL : 문서 : 17 : 와이즈 토토 생성버전 또는 위에 나열된 다른 지원 버전 중 하나를 사용하세요.

만들기 토토 커뮤니티

이름

CREATE LANGUAGE -- 새로운 절차 정의 토토 커뮤니티

시놉시스

생성 [ 또는 교체 ] [ 절차 ] 토토 커뮤니티이름만들기 [ 또는 교체 ] [ 신뢰할 수 있음 ] [ 절차 ] 토토 커뮤니티이름처리자call_handler[ 인라인inline_handler] [ 유효성 검사기발함수 ]

설명

토토 커뮤니티 생성새 등록 a를 사용하는 절차적 토토 커뮤니티토토 커뮤니티데이터베이스. 이어서 기능 이 새로운 토토 커뮤니티로 트리거 프로시저를 정의할 수 있습니다.

참고:현재포스트그레SQL9.1, 대부분의 절차적 언어가 만들어졌습니다"확장 프로그램", 따라서 다음과 같아야 합니다. 다음과 같이 설치됨PostgreSQL :아님토토 커뮤니티 생성. 직접 사용토토 커뮤니티 생성해야 한다 이제 확장 설치 스크립트로 제한됩니다. 당신이 를 가지고 있다"맨몸"당신의 토토 커뮤니티 업그레이드의 결과로 데이터베이스를 변환할 수 있습니다. 를 사용하여 확장 프로그램에 추가확장 프로그램 생성토토 커뮤니티명발신 포장되지 않음.

토토 커뮤니티 생성효과적으로 언어 이름을 다음과 같은 처리기 함수와 연결합니다. 언어로 작성된 기능을 실행하는 일을 담당합니다. 참조PostgreSQL : 문서 : 9.1 : 절차 언어 토토 커뮤니티 작성더 보기 언어 처리기에 대한 정보입니다.

두 가지 형태가 있습니다.만들기 토토 커뮤니티명령. 첫 번째 형식에서는 사용자가 다음을 제공합니다. 원하는 언어의 이름 및토토 커뮤니티서버가 다음을 참조합니다pg_pltemplate결정할 시스템 카탈로그 올바른 매개변수. 두 번째 형식에서는 사용자가 언어 이름과 함께 언어 매개변수. 두 번째 형태 정의되지 않은 언어를 만드는 데 사용할 수 있습니다.pg_pltemplate, 하지만 이 접근 방식은 쓸모없는 것으로 간주됩니다.

서버가 항목을 찾을 때pg_pltemplate주어진 언어에 대한 카탈로그 이름에 포함되어 있어도 카탈로그 데이터를 사용합니다. 언어 매개변수. 이 동작은 이전 덤프의 로드를 단순화합니다. 최신 정보가 포함되어 있을 가능성이 있는 파일 언어 지원 기능.

일반적으로 사용자는 다음을 가지고 있어야 합니다.토토 커뮤니티수퍼유저 등록 권한 새로운 토토 커뮤니티. 그러나 데이터베이스 소유자는 새로운 데이터베이스를 등록할 수 있습니다. 해당 데이터베이스 내의 토토 커뮤니티(토토 커뮤니티가에 나열되어 있는 경우)pg_pltemplate카탈로그 및 표시됨 데이터베이스 소유자가 생성하도록 허용한 대로(tmpldbacreate사실입니다). 기본값은 신뢰할 수 있는 토토 커뮤니티는 데이터베이스 소유자가 만들 수 있지만 이는 내용을 수정하여 수퍼유저가 조정할 수 있습니다.pg_pltemplate. 언어의 창시자 소유자가 되며 나중에 삭제하거나 이름을 바꾸거나 할당할 수 있습니다. 새 소유자에게.

토토 커뮤니티 생성 또는 교체할 것이다 새 토토 커뮤니티를 만들거나 기존 정의를 바꾸세요. 토토 커뮤니티가 이미 존재하는 경우 해당 매개변수가 업데이트됩니다. 지정되거나 가져온 값에 따라pg_pltemplate, 하지만 토토 커뮤니티의 소유권과 권한 설정은 변경되지 않으며 기존 기능은 해당 토토 커뮤니티로 작성된 내용은 여전히 유효한 것으로 간주됩니다. 에서 생성을 위한 일반적인 권한 요구 사항 외에도 토토 커뮤니티를 사용하려면 사용자는 슈퍼유저이거나 기존의 소유자여야 합니다. 토토 커뮤니티.교체케이스는 주로 토토 커뮤니티가 존재하는지 확인하는 데 사용됩니다. 만약 토토 커뮤니티에는pg_pltemplate항목 그럼교체실제로 변경되지 않습니다. 특별한 경우를 제외하고 기존 정의에 관한 모든 것 어디pg_pltemplate항목이 있습니다 토토 커뮤니티가 생성된 이후 수정되었습니다.

매개변수

신뢰할 수 있음

신뢰할 수 있음다음을 지정합니다. 언어는 사용자가 원하는 데이터에 대한 액세스 권한을 부여하지 않습니다. 그렇지 않으면 없습니다. 이 키워드가 생략된 경우 언어를 등록하면, 해당 사용자만토토 커뮤니티수퍼유저 권한을 사용할 수 있습니다 새로운 기능을 생성하기 위한 토토 커뮤니티입니다.

절차

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

이름

새로운 절차적 언어의 이름. 언어 이름은 대소문자를 구분하지 않습니다. 이름은 다음 중 고유해야 합니다. 데이터베이스의 언어입니다.

이전 버전과의 호환성을 위해 이름을 다음으로 묶을 수 있습니다. 작은따옴표.

핸들러 call_handler

call_handler이름은 호출될 이전에 등록된 함수의 절차적 언어의 기능을 실행합니다. 전화 절차적 언어에 대한 처리기는 다음 형식으로 작성되어야 합니다. 버전 1 호출 규칙을 사용하는 C와 같은 컴파일된 언어 등록됨토토 커뮤니티아니요를 취하는 함수로 인수를 반환하고언어_핸들러type, 자리표시자 유형입니다. 단순히 함수를 호출로 식별하는 데 사용됩니다. 핸들러.

인라인 inline_handler

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

검증기 발함수

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

유효성 검사기 기능은 일반적으로 구문의 정확성을 위해 함수 본문을 사용하지만 함수의 다른 속성을 살펴보세요. 예를 들어 다음과 같습니다. 언어는 특정 인수 유형을 처리할 수 없습니다. 받는 사람 오류 신호를 보내면 유효성 검사기 함수는ereport()함수. 는 함수의 반환 값은 무시됩니다.

신뢰할 수 있음옵션 및 지원 서버에 다음 항목에 대한 항목이 있는 경우 함수 이름은 무시됩니다. 에 지정된 언어 이름pg_pltemplate.

참고

PostgreSQL프로그램은 간단한 래퍼입니다. 주위에토토 커뮤니티 생성명령. 그것 쉘 명령으로 절차적 언어를 쉽게 설치할 수 있습니다. 라인.

사용윈 토토 : 문서 : 9.1 : 언어 드롭또는 아직은 더 나은데droplang프로그램, 절차 삭제 언어.

시스템 카탈로그pg_토토 커뮤니티(참조토토 : 문서 : 9.1 : PG_LANGUAGE) 현재 설치된 언어에 대한 정보를 기록합니다. 또한,createlang목록 옵션이 있습니다 설치된 토토 커뮤니티입니다.

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

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

호출 핸들러 함수, 인라인 핸들러 함수(만약 any), 유효성 검사기 함수(있는 경우)가 이미 존재해야 합니다. 서버에 해당 언어에 대한 항목이 없습니다.pg_pltemplate. 하지만 항목이 있을 때, 기능이 이미 존재할 필요는 없습니다. 그들은 자동으로 될 것입니다 데이터베이스에 없으면 정의됩니다. (이로 인해 다음과 같은 결과가 발생할 수 있습니다.토토 커뮤니티 생성실패, 공유된 경우 해당 언어를 구현하는 라이브러리는 다음에서 사용할 수 없습니다. 설치.)

포스트그레SQL이전 버전 7.3에서는 핸들러 함수를 반환으로 선언해야 했습니다. 자리표시자 유형불투명, 대신언어_처리자. 오래된 로딩을 지원하기 위해 덤프 파일,토토 커뮤니티 생성수락하겠습니다 반환으로 선언된 함수불투명, 하지만 알림을 발행하고 함수의 선언된 내용을 변경합니다. 반환 유형은 다음과 같습니다.언어_핸들러.

표준 절차를 생성하는 데 선호되는 방법 언어는 다음과 같습니다:

토토 커뮤니티 생성 plperl;

에 알려지지 않은 토토 커뮤니티의 경우pg_pltemplate카탈로그, 이와 같은 시퀀스 필요합니다:

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

호환성

토토 커뮤니티 생성포스트그레SQL확장.