이 문서는 지원되지 않는 버전의 PostgreSQL을위한 것입니다.
당신은에 대해 같은 페이지를 볼 수 있습니다PostgreSQL : 문서 : 17 : 36.2. PostgreSQL 토토 베이 시스템버전 또는 위에 나열된 다른 지원 버전 중 하나입니다.

38.2. 그만큼postgresql타입 시스템

PostgreSQL데이터 토토 커뮤니티은 기본 토토 커뮤니티, 컨테이너 토토 커뮤니티, 도메인 및 의사 토토 커뮤니티으로 나눌 수 있습니다.

38.2.1. 기본 유형

기본 토토 커뮤니티은와 같은 것입니다.정수, 그것은의 수준 아래에서 구현됩니다SQL언어 (일반적으로 C와 같은 저수준 언어). 일반적으로 추상 데이터 토토 커뮤니티으로 자주 알려진 것에 해당합니다.PostgreSQL사용자가 제공 한 함수를 통해서만 해당 토토 커뮤니티에서만 작동 할 수 있으며 사용자가 설명하는 정도까지 그러한 토토 커뮤니티의 동작 만 이해합니다. 내장 된 기본 토토 커뮤니티은에 설명되어 있습니다.8 장.

열거 된 (ENUM) 토토 커뮤니티은 기본 토토 커뮤니티의 하위 범주로 간주 될 수 있습니다. 주요 차이점은 Just를 사용하여 만들 수 있다는 것입니다.SQL저급 프로그래밍없이 명령. 참조섹션 8.7자세한 내용은

38.2.2. 컨테이너 유형

PostgreSQL세 종류의컨테이너토토 커뮤니티은 다른 토토 커뮤니티의 여러 값을 포함하는 토토 커뮤니티입니다. 이들은 배열, 복합재 및 범위입니다.

배열은 모두 같은 토토 커뮤니티의 여러 값을 보유 할 수 있습니다. 배열 토토 커뮤니티은 각 기본 토토 커뮤니티, 복합 토토 커뮤니티, 범위 토토 커뮤니티 및 도메인 토토 커뮤니티에 대해 자동으로 작성됩니다. 그러나 배열 배열은 없습니다. 토토 커뮤니티 시스템에 관한 한 다차원 배열은 1 차원 배열과 동일합니다. 참조PostgreSQL : 문서 : 11 : 8.15. 토토 베이자세한 내용은

사용자가 테이블을 만들 때마다 복합 토토 커뮤니티 또는 행 토토 커뮤니티이 생성됩니다. 또한 사용하는 것도 가능합니다토토 커뮤니티 만들기a독립형관련 테이블이없는 복합 토토 커뮤니티. 복합 토토 커뮤니티은 단순히 필드 이름이 관련된 토토 커뮤니티 목록입니다. 복합 토토 커뮤니티의 값은 필드 값의 행 또는 레코드입니다. 참조PostgreSQL : 문서 : 11 : 8.16. 토토 유형자세한 내용은

범위 토토 커뮤니티은 동일한 토토 커뮤니티의 두 값을 보유 할 수 있습니다. 몇 가지 내장 토토 커뮤니티이 존재하지만 범위 토토 커뮤니티은 사용자가 만듭니다. 참조PostgreSQL : 문서 : 11 : 8.17. 메이저 토토 사이트 유형자세한 내용은

38.2.3. 도메인

도메인은 특정 기본 토토 커뮤니티을 기반으로하며 많은 목적으로 기본 토토 커뮤니티과 상호 교환 할 수 있습니다. 그러나 도메인은 유효한 값을 기본 토토 커뮤니티이 허용하는 것의 하위 집합으로 제한하는 제약 조건을 가질 수 있습니다. 도메인은를 사용하여 생성됩니다.SQL명령도메인 생성. 참조PostgreSQL : 문서 : 11 : 8.18. 도메인 메이저 토토 사이트자세한 내용은

38.2.4. 의사 유형

몇 가지가 있습니다Pseudo-types특별한 목적. 의사 유형은 컨테이너 유형의 테이블 또는 구성 요소의 열로 나타날 수 없지만 인수 및 결과 유형을 선언하는 데 사용될 수 있습니다. 이것은 유형 시스템 내에서 특수 클래스의 기능을 식별하는 메커니즘을 제공합니다.표 8.25기존 의사 토토 커뮤니티을 나열합니다.

38.2.5. 다형성 토토 커뮤니티

특별한 관심의 5 개의 의사 토토 커뮤니티은Anylement, AnyArray, AnynonArray, AnyEnumAnyRange다형성 토토 커뮤니티. 이러한 토토 커뮤니티을 사용하여 선언 된 모든 기능은 A라고합니다.다형성 기능. 다형성 기능은 여러 다른 데이터 유형에서 작동 할 수 있으며 특정 데이터 유형은 특정 호출에서 실제로 전달 된 데이터 유형에 의해 결정됩니다..

다형성 인수와 결과는 서로 연결되어 있으며 다형성 기능을 호출하는 쿼리가 구문 분석 될 때 특정 데이터 유형으로 해결됩니다. 각 직책 (인수 또는 반환 값)은로 선언했습니다.Anylement특정 실제 데이터 토토 커뮤니티을 가질 수 있지만 특정 호출에서는 모두이어야합니다.동일실제 토토 커뮤니티. 각 위치는로 선언되었습니다.AnyArray배열 데이터 유형을 가질 수 있지만 마찬가지로 모두 동일한 유형이어야합니다. 그리고 마찬가지로, 직책은로 선언되었습니다.AnyRange모두 동일한 범위 유형이어야합니다. 또한, 선언 된 직책이 있다면AnyArray그리고 다른 사람들이 선언Anylement,의 실제 배열 토토 커뮤니티AnyArray위치는 요소가 동일한 유형 인 배열이어야합니다.Anylement위치. 마찬가지로, 선언 된 직책이 있다면AnyRange그리고 다른 사람들이 선언Anylement또는AnyArray,의 실제 범위 토토 커뮤니티AnyRange위치는 하위 유형이 동일한 유형 인 범위 여야합니다.Anylement위치 및 동일한 요소 유형AnyArray위치.AnynonArray|Anylement, 그러나 실제 토토 커뮤니티이 배열 토토 커뮤니티이되어서는 안된다는 추가 제약 조건을 추가합니다.AnyEnum|Anylement, 그러나 실제 토토 커뮤니티이 열거 된 토토 커뮤니티이어야한다는 추가 제약 조건을 추가합니다.

따라서 다형성 토토 커뮤니티으로 둘 이상의 인수 위치가 선언되면 순 효과는 실제 인수 유형의 특정 조합 만 허용된다는 것입니다. 예를 들어,로 선언 된 함수Equal (Anylement, Anylement)동일한 데이터 유형 인 한 두 개의 입력 값을 취합니다.

함수의 반환 값이 다형성 토토 커뮤니티으로 선언되면 다형성 인 인수 위치가 하나 이상 있어야하며 인수로 제공되는 실제 데이터 유형은 해당 호출의 실제 결과 유형을 결정합니다. 예를 들어, 배열 위트 스크립팅 메커니즘이 아직 없으면 첨자를 |첨자 (AnyArray, Integer)를 반환합니다. 이 선언은 실제 첫 번째 인수가 배열 토토 커뮤니티으로 제한되며, 파서는 실제 첫 번째 인수 토토 커뮤니티에서 올바른 결과 토토 커뮤니티을 유추 할 수 있습니다. 또 다른 예는로 선언 된 함수입니다.f (Anyarray) 반환열거 토토 커뮤니티의 배열 만 허용합니다.

대부분의 경우, 파서는 다형성 토토 커뮤니티이 다른 인수의 다형성 결과 유형에 대한 실제 데이터 유형을 유추 할 수 있습니다. 예를 들어AnyArray에서 추론 할 수 있습니다Anylement또는 그 반대도 마찬가지입니다. 예외는 유형의 다형성 결과입니다AnyRange토토 커뮤니티의 인수가 필요합니다AnyRange; 에서 추론 할 수 없습니다AnyArray또는Anylement인수. 동일한 하위 유형의 여러 범위 유형이있을 수 있기 때문입니다.

참고AnynonArrayandAnyEnum별도의 토토 커뮤니티 변수를 나타내지 마십시오. 그들은와 같은 토토 커뮤니티입니다.Anylement, 추가적인 제약 조건. 예를 들어 함수를 선언F (Anylement, Anyenum)|F (Anyenum, Anyenum): 실제 인수는 모두 동일한 열거 형이어야합니다.

변수 함수 (하나는 변수 수의 인수를 취하는 것과 같이섹션 38.5.5)는 다형성이 될 수 있습니다 : 이것은 마지막 매개 변수를로 선언함으로써 달성됩니다.variadic AnyArray. 실제 결과 유형을 일치시키고 결정하기 위해, 그러한 함수는 적절한 숫자를 작성한 것과 동일하게 동작합니다AnynonArray매개 변수.