카탈로그pg_cast저장 데이터 전환 경로, 내장 경로 및 정의 된 경로 유형PostgreSQL : 문서 : 8.3 : 토토 핫 생성.
pg_cast시스템이 알고있는 모든 유형 변환을 나타내는 것은 아닙니다. 수행하는 방법; 일부에게서 추론 할 수없는 사람들 만 일반적인 규칙. 예를 들어 도메인과 기본 사이에 주조합니다 유형은 명시 적으로 표현되지 않습니다pg_cast. 또 다른 중요한 예외는"I/O 변환 캐스트", 그 것들 데이터 유형의 자체 I/O 함수를 사용하여 수행하여 또는 에서텍스트또는 다른 문자열 유형은 그렇지 않습니다 명시 적으로 표현pg_cast.
표 44-11.pg_cast열
이름 | 타입 | 참조 | 설명 |
---|---|---|---|
CastSource | OID | pg_type.Oid | 소스 데이터 유형의 OID |
CastTarget | OID | PG_TYPE.Oid | 대상 데이터 유형의 OID |
castfunc | OID | PG_PROC.Oid | 이 캐스트를 수행하는 데 사용할 함수의 OID. 데이터 유형이 이진과 호환되면 0이 저장됩니다. (즉, 깁스) |
CastContext | char | 캐스트가 어떤 컨텍스트를 호출 할 수 있는지를 나타냅니다.e는 명시적인 캐스트만을 의미합니다 (사용캐스트또는::구문).a| 명시 적으로.i수단 표현뿐만 아니라 다른 표현도 암시 적으로 사례 |
나열된 캐스트 함수pg_cast항상 캐스트 소스 유형을 취해야합니다 첫 번째 인수 유형으로, 캐스트 목적지를 반환합니다. 결과 유형으로 입력하십시오. 캐스트 함수는 최대 3 개를 가질 수 있습니다 논쟁. 두 번째 인수는 존재하는 경우 유형이어야합니다정수; 유형 수정자를 수신합니다 목적지 유형과 관련이 있거나-1없는 경우. 세 번째 주장, if 현재, 유형이어야합니다부울; 수신True캐스트가 명시적인 캐스트 인 경우거짓그렇지 않으면.
A를 만드는 것은 합법적입니다pg_cast소스와 대상의 항목 관련 함수가 하나의 주장. 이러한 항목은를 나타냅니다."길이 강제 기능 "그 유형의 코어 값 특정 유형 수정 자 값에 대한 합법적입니다.
언제PG_CAST항목이 다릅니다 소스 및 대상 유형 및 둘 이상을 취하는 함수 인수, 그것은 한 유형에서 다른 유형으로 변환하는 것을 나타냅니다. 단일 단계에서 길이 강요를 적용합니다. 그런 입장이 없을 때 사용할 수 있습니다. 유형 수정자를 사용하는 유형에 대한 강요 데이터 유형과 수정자를 적용하는 두 번째.