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

52.10. pg_cast #

카탈로그pg_cast내장 및 사용자 정의로 데이터 유형 변환 경로를 저장합니다.

pg_cast시스템이 수행하는 방법을 알고있는 모든 유형 변환을 나타내는 것은 아닙니다. 일반적인 규칙에서 추론 할 수없는 것만. 예를 들어 도메인과 기본 유형 사이의 주조는 명시 적으로 표시되지 않습니다.pg_cast. 또 다른 중요한 예외는자동 I/O 변환 캐스트, 데이터 유형의 자체 I/O 함수를 사용하여 수행하여텍스트또는 기타 문자열 유형은 명시 적으로 표시되지 않습니다.pg_cast.

표 52.10. pg_cast

열 유형

설명

OID OID

행 식별자

CastSource OID(참조pg_type.OID)

소스 데이터 유형의 OID

CastTarget OID(참조PG_TYPE.OID)

대상 데이터 유형의 OID

castfunc OID(참조PG_PROC.OID)

이 캐스트를 수행하는 데 사용할 함수의 OID. 캐스트 방법에 함수가 필요하지 않으면 0이 저장됩니다.

CastContext char

캐스트가 어떤 컨텍스트를 호출 할 수 있는지를 나타냅니다.e명시 적 캐스트로만 (using을 의미합니다.캐스트또는::구문).a명시 적으로 대상 열에의 할당을 암시 적으로 의미합니다.i다른 경우뿐만 아니라 표현을 암시 적으로 의미합니다.

CastMethod char

캐스트의 수행 방법을 나타냅니다.F|castfunc필드가 사용됩니다.i입력/출력 함수가 사용되었음을 의미합니다.B유형이 이진을 통합 할 수 있으므로 변환이 필요하지 않음을 의미합니다.


캐스트 기능에 나열된 기능pg_cast항상 캐스트 소스 유형을 첫 번째 인수 유형으로 가져 와서 캐스트 대상 유형을 결과 유형으로 반환해야합니다. 캐스트 함수는 최대 세 가지 인수를 가질 수 있습니다. 두 번째 인수는 존재하는 경우 유형이어야합니다Integer; 대상 유형과 관련된 유형 수정 자 또는 없으면 -1을 수신합니다. 세 번째 인수는 존재하는 경우 유형이어야합니다부울; 수신true캐스트가 명시적인 캐스트 인 경우거짓그렇지 않으면.

A를 만드는 것은 합법적입니다PG_CAST연관된 함수가 둘 이상의 인수를 사용하는 경우 소스 및 대상 유형이 동일합니다. 이러한 항목은를 나타냅니다.길이 강요 기능특정 유형 수정 자 값에 대해 합법적 인 유형의 코어 값.

apg_castEntry는 소스와 대상 유형이 다르고 하나 이상의 인수를 취하는 함수가 있으며, 한 유형에서 다른 유형에서 다른 유형으로 변환하고 단일 단계에서 길이 강요를 적용하는 것을 나타냅니다. 그러한 항목이 없으면 유형 수정자를 사용하는 유형에 대한 강요는 두 단계가 포함됩니다. 하나는 데이터 유형 사이에서 1 초를 변환하고 수정자를 적용하려면 1 초입니다..