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

10 장. 확장SQL: type

앞에서 언급했듯이 두 가지 종류의 토토 베이이 있습니다.postgresql: 기본 토토 베이 (정의

이 섹션의 예는에서 찾을 수 있습니다.complex.sqlandcomplex.c튜토리얼 디렉토리의. 합성물funcs.sql.

사용자 정의 토토 베이에는 항상 입력이 있어야합니다

우리가 나타내는 복잡한 토토 베이을 정의하고 싶다고 가정합니다.C구조 :

typedef struct complex

및 양식 문자열(x, y)

기능은 일반적으로 쓰기가 어렵지 않습니다.

  • 외부 (문자열) 표현을 정의 할 때,

    예를 들어 :

    복잡한 *

    출력 함수는 단순히 다음과 같습니다.

    char *
  • 입력 및 출력 함수를 만들어야합니다.

정의하려면복잡한타입, 우리는 필요합니다complex_inandcomplex_out토토 베이을 만들기 전에 :

함수 complex_in (cstring) 생성pgroot/Tutorial/Complex 'pgroot/튜토리얼/복합체 '

마지막으로 데이터 토토 베이을 선언 할 수 있습니다.

토토 베이 Complex (

입력 및 출력 기능의 선언이 있음을 알 수 있습니다.

앞에서 논의한대로PostgreSQL배열을 완전히지지합니다PostgreSQL사용자 정의 배열을 지원합니다PostgreSQL자동으로 지원을 제공합니다_Prepended.

복합 토토 베이에 정의 된 기능이 필요하지 않습니다.

귀하의 값인 경우int32의 바이트의 총 길이를 포함합니다pg_detoast_datum ()제공된 값에 대한 ---토토 베이 생성명령.