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

스포츠 토토 베트맨 생성

이름

스포츠 토토 베트맨 생성-새로운 절차 언어 정의

시놉시스

[또는 교체] [절차] 스포츠 토토 베트맨 생성이름생성 [또는 교체] [신뢰할 수있는] [절차] 스포츠 토토 베트맨이름핸들러call_handler[inlineinline_handler] [ValidatorValfunction ]

설명

스포츠 토토 베트맨 생성a에 새로운 절차 스포츠 토토 베트맨를 등록합니다postgresql데이터베이스. 결과적으로 기능과 트리거 절차는이 새로운 스포츠 토토 베트맨로 정의 될 수 있습니다.

참고 :postgresql9.1, 대부분의 절차 적 언어가 만들어졌습니다"확장", 따라서와 함께 설치해야합니다.확장 생성not스포츠 토토 베트맨 생성. 직접 사용스포츠 토토 베트맨 생성이제 확장 설치 스크립트에 국한되어야합니다. 당신이있는 경우"베어"데이터베이스의 스포츠 토토 베트맨, 아마도 업그레이드의 결과로를 사용하여 확장으로 변환 할 수 있습니다.확장 생성langname포장되지 않은.

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

두 가지 형태의스포츠 토토 베트맨 생성명령. 첫 번째 형태에서 사용자는 원하는 언어의 이름 만 제공합니다.postgresql서버 상담PG_PLTEMPLATE올바른 매개 변수를 결정하는 시스템 카탈로그. 두 번째 형태에서 사용자는 언어 이름과 함께 언어 매개 변수를 제공합니다.PG_PLTEMPLATE, 그러나이 접근법은 쓸모없는 것으로 간주됩니다.

서버가 rection을 찾을 때PG_PLTEMPLATE지정된 언어 이름에 대한 카탈로그는 명령에 언어 매개 변수가 포함되어 있어도 카탈로그 데이터를 사용합니다. 이 동작은 언어 지원 기능에 대한 오래된 정보를 포함 할 수있는 오래된 덤프 파일의로드를 단순화합니다.

일반적으로 사용자는를 가져야합니다.postgresql새 스포츠 토토 베트맨를 등록하는 슈퍼 서서 권한. 그러나 데이터베이스의 소유자는 스포츠 토토 베트맨가에 나열된 경우 해당 데이터베이스에 새 스포츠 토토 베트맨를 등록 할 수 있습니다.PG_PLTEMPLATE카탈로그는 데이터베이스 소유자가 생성 할 수있는 것으로 표시됩니다 (TMPLDBACREATE참). 기본값은 신뢰할 수있는 스포츠 토토 베트맨가 데이터베이스 소유자가 작성할 수 있지만을 수정하여 슈퍼 사용자가 조정할 수 있다는 것입니다.PG_PLTEMPLATE. 언어의 제작자는 소유자가되어 나중에 그것을 떨어 뜨리거나 이름을 바꾸거나 새 소유자에게 할당 할 수 있습니다.

스포츠 토토 베트맨 생성 또는 교체새 스포츠 토토 베트맨를 만들거나 기존 정의를 대체합니다. 스포츠 토토 베트맨가 이미 존재하는 경우 매개 변수는 지정된 값에 따라 업데이트됩니다.PG_PLTEMPLATE그러나 언어의 소유권 및 권한 설정은 변경되지 않으며 언어로 작성된 기존 기능은 여전히 ​​유효하다고 가정합니다. 스포츠 토토 베트맨 생성을위한 일반적인 권한 요구 사항 외에도 사용자는 기존 언어의 슈퍼업자 또는 소유자 여야합니다.교체케이스는 주로 스포츠 토토 베트맨가 존재하는지 확인하는 데 사용됩니다. 스포츠 토토 베트맨에 A가있는 경우PG_PLTEMPLATE진입로교체비정상적인 경우를 제외하고는 기존 정의에 대해 실제로 아무것도 변경하지 않습니다PG_PLTEMPLATE스포츠 토토 베트맨가 만들어진 이후 입력이 수정되었습니다.

매개 변수

신뢰할 수있는

신뢰할 수있는스포츠 토토 베트맨가 사용자가 가지고 있지 않은 데이터에 대한 액세스 권한을 부여하지 않도록 지정합니다. 스포츠 토토 베트맨를 등록 할 때이 키 단어가 생략되면 사용자 만postgresqlSuperuser Privilege는이 언어를 사용하여 새로운 기능을 만들 수 있습니다.

절차

이것은 소음 단어입니다.

이름

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

뒤로 호환성을 위해 이름은 단일 따옴표로 둘러싸여 있습니다.

핸들러 call_handler

call_handler는 절차 언어 기능을 실행하기 위해 호출 될 이전에 등록 된 함수의 이름입니다. 절차 언어에 대한 통화 핸들러는 버전 1 통화 컨벤션과 함께 C와 같은 편집 된 언어로 작성되어postgresql인수를 취하지 않고 반환하는 함수로서Language_Handler유형, 유형, 호출 핸들러로 기능을 식별하는 데 사용되는 자리 표시 자 유형.

인라인 inline_handler

inline_handler익명 코드 블록을 실행하도록 호출 될 이전에 등록 된 함수의 이름입니다 (스포츠 토토 베트맨 : 문서 : 9.5 : do명령)이 스포츠 토토 베트맨로. 그렇지 않은 경우inline_handler함수가 지정되고 언어는 익명 코드 블록을 지원하지 않습니다. 핸들러 함수는 유형의 하나의 인수를 취해야합니다내부,do명령의 내부 표현, 일반적으로 반환void. 핸들러의 반환 값은 무시됩니다.

Validator Valfunction

Valfunction새 기능을 검증하기 위해 언어의 새 함수가 생성 될 때 호출 될 이전에 등록 된 함수의 이름입니다. 유효성 검사 기능이 지정되지 않으면 새 기능이 생성 될 때 확인되지 않습니다.OID,이 기능은 제작 된 기능의 OID가 될 것이며 일반적으로 반환됩니다void.

Validator 함수는 일반적으로 기능 본문에 구문 적 정확성을 검사하지만 언어가 특정 인수 유형을 처리 할 수없는 경우 기능의 다른 속성을 볼 수도 있습니다. 오류를 표시하려면 유효성 검사 기능이를 사용해야합니다.Ereport ()함수. 함수의 반환 값은 무시됩니다.

the신뢰할 수있는옵션 및 지원 함수 이름은 서버에 지정된 언어 이름에 대한 항목이있는 경우PG_PLTEMPLATE.

노트

thePostgreSQL프로그램은 주변의 간단한 래퍼입니다스포츠 토토 베트맨 생성명령. Shell Command Line에서 절차 언어 설치가 완화됩니다.

use스포츠 토토 베트맨 삭제또는 더 나은Droplang프로그램, 절차 언어를 삭제하는 프로그램.

시스템 카탈로그PG_LANGUAGE(참조토토 꽁 머니 PostgreSQL : 문서 : 9.5 : PG_LANGUAGE) 현재 설치된 언어에 대한 정보를 기록합니다. 또한,Createlang설치된 스포츠 토토 베트맨를 나열 할 수있는 옵션이 있습니다.

절차 언어로 기능을 만들려면 사용자에게는가 있어야합니다.usage스포츠 토토 베트맨 특권. 기본적으로usagepublic15831_15902

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

통화 핸들러 함수, 인라인 핸들러 함수 (있는 경우) 및 유효성 검사 기능 (있는 경우)은 서버에 언어에 대한 항목이없는 경우 이미 존재해야합니다PG_PLTEMPLATE. 그러나 항목이있을 때, 기능은 아직 존재할 필요가 없습니다.스포츠 토토 베트맨 생성실패, 스포츠 토토 베트맨를 구현하는 공유 라이브러리가 설치 중에 사용할 수없는 경우.)

inpostgresql7.3 이전 버전에서는 핸들러 기능이 자리 표시 자 유형을 반환하도록 선언해야했습니다opaque가 아니라Language_Handler. 오래된 덤프 파일의로드를 지원하려면스포츠 토토 베트맨 생성반환으로 선언 된 함수를 수락합니다opaque, 그러나 통지를 발행하고 함수의 선언 된 반환 유형을로 변경합니다.Language_Handler.

표준 절차 언어를 만드는 선호하는 방법은 다음과 같습니다.

Language Plperl 만들기;

PG_PLTEMPLATE카탈로그, 이와 같은 시퀀스가 ​​필요합니다 :

함수 만들기 plsample_call_handler () language_handler를 반환합니다

호환성

스포츠 토토 베트맨 생성ispostgresql확장.