pg_cast

    请注意,pg_cast不代表系统已知的每种类型转换,只代表那些无法从某些通用规则推导出的转换。 例如,在pg_cast中未显式表示域与其基类型之间的转换。 另一个重要的例外是“自动I/O转换强制转换”,使用数据类型自己的I/O函数执行转换为文本或其他字符串类型的那些,在pg_cast中没有显式表示。

    pg_cast中列出的强制转换函数必须始终将强制转换源类型作为其第一个参数类型,并返回强制转换目标类型作为其结果类型。 强制转换函数最多可以包含三个参数。 第二个参数(如果存在)必须是整数类型; 它接收与目标类型关联的类型修饰符,如果没有,则返回-1。 第三个参数(如果存在)必须是boolean类型; 如果强制转换是显式转换,则接收为true,否则为false。

    当pg_cast条目具有不同的源和目标类型以及具有多个参数的函数时,该条目将从一种类型转换为另一种类型,并在单个步骤中应用长度强制。 当没有这样的条目可用时,对使用类型修饰符的类型的强制涉及两个步骤,一个用于在数据类型之间进行转换,另一个用于应用修饰符。

    Parent topic: 系统目录定义