사용토토 생성, aPostgreSQL사용자는 새로 등록 할 수 있습니다 A를 가진 절차 언어postgresql데이터베이스. 그 후, 기능 트리거 절차는이 새로운 토토로 정의 될 수 있습니다.
토토 생성효과적으로 언어 이름을 통화 처리기와 연관시킵니다. 언어로 작성된 기능을 실행할 책임이 있습니다. 참조토토 사이트 추천 : 문서 : 8.4 : 절차 언어더 많은 토토 통화 처리기에 대한 정보.
두 가지 형태의생성 토토명령. 첫 번째 형태에서 사용자는 단지 공급합니다 원하는 언어의 이름과PostgreSQL서버 상담pg_pltemplate시스템 카탈로그를 결정합니다 올바른 매개 변수. 두 번째 형태에서 사용자는 다음을 제공합니다 언어 이름과 함께 언어 매개 변수. 두 번째 형태 정의되지 않은 언어를 만드는 데 사용될 수 있습니다pg_pltemplate, 그러나이 접근법은입니다 노아용으로 간주됩니다.
서버가pg_pltemplate지정된 언어에 대한 카탈로그 이름, 명령에 포함 된 경우에도 카탈로그 데이터를 사용합니다. 언어 매개 변수. 이 동작은 오래된 덤프의 로딩을 단순화합니다 오래된 정보가 포함될 가능성이있는 파일 언어 지원 기능.
일반적으로 사용자는를 가져야합니다.postgresql등록하기위한 슈퍼 서서 권한 a 새로운 토토. 그러나 데이터베이스의 소유자는 새로운 것을 등록 할 수 있습니다. 해당 데이터베이스 내의 토토가에 나열된 경우pg_pltemplate카탈로그와 표시됩니다 데이터베이스 소유자가 생성 할 수 있습니다 (TMPLDBACREATE참). 기본값은 그 것입니다 신뢰할 수있는 토토는 데이터베이스 소유자가 작성할 수 있지만 의 내용을 수정하여 수퍼 유행자에 의해 조정됩니다pg_pltemplate. 언어의 창조자 소유자가되어 나중에 떨어 뜨리거나 이름을 바꾸거나 할당 할 수 있습니다. 새로운 소유자에게.
신뢰할 수있는호출을 지정합니다 언어 핸들러는 안전합니다. 즉 우회 할 수있는 기능을 우회 할 수없는 사용자에게 제공하지 않습니다 액세스 제한. 이 키 단어가 생략 된 경우 언어 등록,PostgreSQLSuperuser 권한이 사용할 수 있습니다 새로운 기능을 만드는이 언어.
이것은 소음 단어입니다.
새로운 절차 언어의 이름. 언어 이름은 사례 둔감합니다. 이름은 그 중에서도 독특해야합니다 데이터베이스의 언어.
뒤로 호환성을 위해 이름을 동봉 할 수 있습니다 단일 따옴표.
call_handler이름입니다 호출 될 이전에 등록 된 기능 중 절차 언어 기능을 실행하십시오. 통화 처리기 절차 적 언어는 편집 된 것으로 작성해야합니다. 버전 1 전화 컨벤션과 함께 C와 같은 언어 등록PostgreSQL인수를 취하지 않고 반환하는 함수로서Language_Handler유형, 자리 표시 자 단순히 함수를 통화로 식별하는 데 사용되는 유형 매니저.
Valfunction이름입니다 호출 될 이전에 등록 된 함수의 언어의 새로운 기능이 만들어지면 검증하기 위해 새로운 기능. 유효성 검사 기능이 지정되지 않은 경우 그러면 새 기능이 생성 될 때 확인되지 않습니다. 유효성 검사 기능은 유형의 하나의 인수를 가져와야합니다OID, 이것은 다음의 멍청이가 될 것입니다 제작 된 기능은 일반적으로 반환됩니다void.
유효성 검사 기능은 일반적으로 다음을 검사합니다
구문 적 정확성을위한 기능 본문이지만 또한 할 수도 있습니다
예를 들어 기능의 다른 속성을보십시오.
언어는 특정 인수 유형을 처리 할 수 없습니다. 에게
오류 신호, 유효성 검사 기능은를 사용해야합니다.Ereport ()
함수. 그만큼
함수의 반환 값은 무시됩니다.
the신뢰할 수있는옵션 및 지원 서버에 항목이있는 경우 함수 이름은 무시됩니다. 지정된 언어 이름PG_PLTEMPLATE.
thePostgreSQL프로그램은 간단한 래퍼입니다 주위에토토 생성명령. 그것 쉘 명령에서 절차 언어 설치를 완화합니다 선.
usePostgreSQL : 문서 : 8.4 : 토토 사이트 삭제또는 더 나은Droplang프로그램, 절차 언어를 삭제하는 프로그램.
시스템 카탈로그PG_LANGUAGE
(참조스포츠 토토 결과 : 문서 : 8.4 : PG_LANGUAGE)
현재 설치된 토토에 대한 정보를 기록합니다.
또한,Createlang목록 옵션이 있습니다
설치된 토토.
절차 언어로 기능을 만들려면 사용자는 그만큼usage토토 특권. 에 의해 기본,usagepublic18053_18129
절차 언어는 개별 데이터베이스에 로컬입니다. 그러나 언어는에 설치할 수 있습니다.Template1데이터베이스 후속 적으로 만들어진 모든 곳에서 자동으로 사용할 수 있습니다 데이터베이스.
통화 핸들러 기능 및 유효성 검사 기능 (있는 경우) 서버에 항목이없는 경우 이미 존재해야합니다. 언어pg_pltemplate. 그러나 언제 항목이 있으며, 기능은 아직 존재할 필요가 없습니다. 그들 데이터베이스에없는 경우 자동 정의됩니다. (이로 인해토토 생성실패, 언어를 구현하는 공유 라이브러리가 설치에서 사용할 수 없습니다.)
inPostgreSQL이전 버전 7.3, 핸들러 기능을 반환으로 선언해야했습니다. 자리 표시 자형opaque가 아니라Language_Handler. 오래된 로딩을 지원합니다 덤프 파일,토토 생성수락 할 것입니다 반환으로 선언 된 함수opaque, 그러나 통지를 발행하고 선언 된 기능을 변경합니다. 반환 유형Language_Handler.
표준 절차를 만드는 선호하는 방법 언어는 단지 :
토토 생성 plpgsql;
PG_PLTEMPLATE카탈로그, 이와 같은 시퀀스 필요하다 :
함수 만들기 plsample_call_handler () language_handler를 반환합니다 '$ libdir/plsample'으로 언어 C; 언어 plsample을 만듭니다 핸들러 plsample_call_handler;