pg_cast
카탈로그pg_cast
내장 및 사용자 정의로 데이터 유형 변환 경로를 저장합니다.
pg_cast
시스템이 수행하는 방법을 알고있는 모든 유형 변환을 나타내는 것은 아닙니다. 일반적인 규칙에서 추론 할 수없는 것만.pg_cast
. 또 다른 중요한 예외는“자동 I/O 변환 캐스트”, 데이터 유형의 자체 I/O 함수를 사용하여 수행하여텍스트
또는 다른 문자열 유형은 명시 적으로 표시되지 않습니다.pg_cast
.
표 52.10. pg_cast
열
이름 | type | 참조 | 설명 |
---|---|---|---|
OID |
OID |
행 식별자 (숨겨진 속성; 명시 적으로 선택해야 함) | |
CastSource |
OID |
|
소스 데이터 유형의 OID |
CastTarget |
OID |
|
대상 데이터 유형의 OID |
castfunc |
OID |
|
이 캐스트를 수행하는 데 사용할 함수의 OID. 캐스트 방법에 함수가 필요하지 않으면 0이 저장됩니다. |
CastContext |
char |
캐스트가 어떤 컨텍스트를 호출 할 수 있는지를 나타냅니다.e 명시 적 캐스트로만 (using을 의미합니다.캐스트 또는:: 구문).a 명시 적으로 대상 열에의 할당을 암시 적으로 의미합니다.i 다른 경우뿐만 아니라 표현을 암시 적으로 의미합니다. |
|
CastMethod |
char |
캐스트가 어떻게 수행되는지를 나타냅니다.f |castfunc 필드가 사용됩니다.i 입력/출력 함수가 사용되었음을 의미합니다.b 유형이 이진을 통합 할 수 있으므로 변환이 필요하지 않음을 의미합니다. |
나열된 캐스트 함수pg_cast
항상 캐스트 소스 유형을 첫 번째 인수 유형으로 가져 와서 캐스트 대상 유형을 결과 유형으로 반환해야합니다. 캐스트 함수는 최대 세 가지 인수를 가질 수 있습니다.Integer
; 대상 유형과 관련된 유형 수정 자 또는 없으면 -1을 수신합니다.부울
; 수신true
캐스트가 명시적인 캐스트 인 경우거짓
그렇지 않으면.
A를 만드는 것은 합법적입니다pg_cast
연관된 함수가 둘 이상의 인수를 사용하는 경우 소스 및 대상 유형이 동일합니다. 이러한 항목은를 나타냅니다.“길이 강요 기능”특정 유형 수정 자 값에 대해 합법적 인 유형의 코어 값.
apg_cast
Entry는 다른 소스 및 대상 유형과 하나 이상의 인수를 취하는 함수를 가지고 있으며, 한 유형에서 다른 유형에서 다른 유형으로 변환하고 단일 단계에서 길이 강요를 적용하는 것을 나타냅니다. 그러한 항목이 없으면 유형 수정자를 사용하는 유형에 대한 강요는 두 단계가 포함됩니다. 하나는 데이터 유형 사이에서 1 초를 변환하고 수정자를 적용하려면 1 초입니다..