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

만들기 스포츠 토토

이름

CREATE LANGUAGE -- 새로운 절차적 스포츠 토토 정의

시놉시스

생성 [ 또는 교체 ] [ 절차 ] 스포츠 토토이름만들기 [ 또는 교체 ] [ 신뢰할 수 있음 ] [ 절차 ] 스포츠 토토이름핸들러call_handler[ 인라인inline_handler] [ 유효성 검사기발함수 ]

설명

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

참고:현재포스트그레SQL9.1, 대부분의 절차적 언어는 다음과 같이 만들어졌습니다."확장 프로그램", 따라서 다음과 함께 설치되어야 합니다.PostgreSQL :아님스포츠 토토 생성. 직접 사용스포츠 토토 생성이제 확장 프로그램으로 제한되어야 합니다. 설치 스크립트. 만약 당신이"맨몸"당신의 데이터베이스에 있는 언어, 아마도 업그레이드 결과 다음을 사용하여 확장으로 변환할 수 있습니다.확장 프로그램 만들기스포츠 토토명포장되지 않은 상태에서.

스포츠 토토 생성효과적으로 연관됨 다음을 담당하는 핸들러 함수가 있는 언어 이름 언어로 작성된 함수를 실행합니다. 참조51장언어에 대한 추가 정보 핸들러.

다음의 두 가지 형태가 있습니다.만들기 스포츠 토토명령. 첫 번째 형식에서는 사용자가 다음을 제공합니다. 원하는 언어의 이름 및PostgreSQL서버가 다음을 참조합니다pg_pltemplate시스템 카탈로그를 통해 올바른 매개변수. 두 번째 형식에서는 사용자가 언어 이름과 함께 언어 매개변수. 두 번째 형태 정의되지 않은 언어를 만드는 데 사용할 수 있습니다.pg_pltemplate, 하지만 이 접근 방식이 고려됩니다. 노후화.

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

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

스포츠 토토 생성 또는 교체다음 중 하나를 수행합니다. 새 언어를 만들거나 기존 정의를 바꿉니다. 만약 언어가 이미 존재하는 경우 해당 매개변수는 다음에 따라 업데이트됩니다. 지정되거나 가져온 값pg_pltemplate, 하지만 언어의 소유권과 권한 설정은 변경되지 않으며 기존 기능은 해당 언어로 작성된 내용은 여전히 유효한 것으로 간주됩니다. 게다가 스포츠 토토 생성을 위한 일반적인 권한 요구 사항에 따라 사용자는 슈퍼유저이거나 기존 언어의 소유자여야 합니다.교체case는 주로 다음 용도로 사용됩니다. 언어가 존재하는지 확인하십시오. 언어에 다음이 있는 경우pg_pltemplate다음 항목교체실제로 다음에 대해 아무것도 변경하지 않습니다. 기존 정의는 예외적인 경우를 제외하고는pg_pltemplate항목이 수정되었습니다 스포츠 토토가 만들어졌기 때문에.

매개변수

신뢰할 수 있음

신뢰할 수 있음언어를 지정합니다 사용자가 그렇지 않은 경우에는 데이터에 대한 액세스 권한을 부여하지 않습니다. 있다. 언어 등록시 이 키워드를 생략하면, 다음을 가진 사용자만PostgreSQL슈퍼유저 권한은 이 스포츠 토토를 사용하여 새 항목을 생성할 수 있습니다. 기능.

절차

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

이름

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

이전 버전과의 호환성을 위해 이름을 단일 문자로 묶을 수 있습니다. 인용문.

핸들러 call_handler

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

인라인 inline_handler

inline_handler이름은 실행하기 위해 호출될 이전에 등록된 함수 익명 코드 블록(스포츠 토토 결과 : 문서 : 9.3 : do명령) 이 스포츠 토토. 그렇지 않은 경우inline_handler함수가 지정되었습니다. 언어는 익명 코드를 지원하지 않습니다. 블록. 핸들러 함수는 다음 유형의 인수를 하나 취해야 합니다.내부, 이는DO명령의 내부 표현이며, 일반적으로 반환공허. 반환 값 핸들러는 무시됩니다.

검증기 발함수

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

유효성 검사기 함수는 일반적으로 함수 본문을 검사합니다. 구문적 정확성을 위해 예를 들어 스포츠 토토가 할 수 없는 경우 함수의 속성 특정 인수 유형을 처리합니다. 오류를 알리기 위해 검증자는 함수는를 사용해야 합니다.ereport()함수. 함수의 반환 값은 무시됩니다.

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

참고

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

사용43토토03이상 아직은droplang프로그램, 절차 삭제 언어.

시스템 카탈로그pg_스포츠 토토(참조사설 토토 : 문서 : 9.3 : PG_LANGUAGE) 기록 현재 설치된 언어에 대한 정보. 또한,createlang다음을 나열하는 옵션이 있습니다. 설치된 언어.

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

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

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

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

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

스포츠 토토 생성 plperl;

에 알려지지 않은 스포츠 토토의 경우pg_pltemplate카탈로그, 이와 같은 시퀀스는 필요함:

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

호환성

스포츠 토토 생성포스트그레SQL확장.