이 카탈로그는 데이터 유형에 대한 정보를 저장합니다. 스칼라 유형 ("기본 유형")유형 만들기. 복잡한 유형도 있습니다 행을 나타 내기 위해 데이터베이스의 각 테이블에 대해 생성되었습니다. 테이블의 구조.
표 3-21. pg_type 열
이름 | 타입 | 참조 | 설명 |
---|---|---|---|
typname | 이름 | 데이터 유형 이름 | |
타이너 | int4 | PG_SHADOW.USESYSID | 유형의 소유자 (Creator) |
Typlen | int2 | 유형의 스토리지 표현 길이 -1 가변 길이 인 경우 | |
typprtlen | int2 | 미사용 | |
typbyval | bool | typbyval결정 내부 루틴 이이 유형의 값을 전달하는지 여부 가치 또는 참조로. 오직char, 짧은및int동등한 항목은 가치별로 전달할 수 있습니다. 따라서 유형이 1, 2 또는 4 바이트 길이가 아닌 경우토토 핫옵션이 없습니다 가치로 통과하고typbyval거짓이 더 좋았습니다. 가변 길이 유형은 항상 참조로 전달됩니다. 참고typbyval할 수 있습니다 길이가 통과 할 수있는 경우에도 거짓; 이것 현재 유형에 맞습니다float4, 예를 들어. | |
Typtype | char | TyptypeisB기본 유형 및의 경우C복잡한 유형의 경우 (즉, 테이블의 행 유형). 만약에TyptypeisC, Typrelid유형의 OID입니다 입장pg_class. | |
typisDefined | bool | true 유형이 정의되면 true, 이것이 정의되지 않은 유형의 자리 표시 자 항목. 언제 typisDefined는 false이며 유형 이름을 제외하고는 없습니다 OID는 의존 할 수 있습니다. | |
typdelim | char | 이 유형의 두 값을 할 때 문자 구문 분석 배열 입력. 구분자는 다음과 같습니다 배열이 아닌 배열 요소 데이터 유형과 관련이 있습니다 데이터 유형. | |
Typrelid | OID | pg_class.oid | 이것이 복잡한 유형 인 경우 (참조Typtype),이 필드는 다음을 가리 킵니다 그만큼PG_CLASS입력 해당 테이블을 정의합니다. 테이블이 할 수 있습니다 이론적으로 복합 데이터 유형으로 사용되지만 완전히 기능하지 않습니다. |
Typelem | OID | pg_type.oid | ifTypelem는 0이 아닙니다 다른 행을 식별합니다pg_type. 그런 다음 현재 유형이 될 수 있습니다 유형의 값을 산출하는 배열처럼 첨가Typelem. 에이"True"배열 유형은 가변 길이입니다 (Typlen= -1) 고정 길이 (Typlen 0) 유형은 0이 아닌 것도Typelem, 예를 들어이름andoidvector. 만약에 고정 길이 유형은입니다.Typelem그런 다음 내부 표현은의 n 값이어야합니다.Typelem다른 데이터가없는 데이터 유형. 가변 길이 배열 유형은 다음으로 정의 된 헤더가 있습니다 배열 서브 루틴. |
typinput | Regproc | 입력 함수 | |
오타가 | Regproc | 출력 함수 | |
typreceive | Regproc | 미사용 | |
TypSend | Regproc | 미사용 | |
typalign | char |
typalignis 이 유형의 값을 저장할 때 필요한 정렬. 디스크의 스토리지 및 대부분에 적용됩니다. 내부의 가치 표현토토 핫. 여러 값이있을 때 표현과 같이 연속적으로 저장됩니다 디스크의 완전한 행 중에 패딩은 전에 삽입됩니다. 지정된에서 시작하도록이 유형의 데이텀 경계. 정렬 참조는 시작입니다 시퀀스의 첫 번째 데이텀. 가능한 값은 다음과 같습니다.
|
|
typstorage | char |
Typstorage가변 길이 유형 (Typlen= -1) 유형이 준비된 경우 토스트 및 기본 전략의 경우 이 유형의 속성이 있어야합니다. 가능한 값 이다
'M'필드도 보조 스토리지, 그러나 최후의 수단으로 만 ( 'e'및 'X'필드는 먼저 움직입니다). |
|
TypDefault | 텍스트 |
TypDefault기본값이없는 유형. 널이 아닌 경우 외부 문자열 표현을 포함합니다 유형의 기본값 값 |