pg_lsn 类型
pg_lsn数据类型可以被用来存储 LSN(日志序列号)数据,LSN 是一个指向WAL中的位置的指针。这个类型是XLogRecPtr的一种表达并且是 AntDB的一种内部系统类型。
在内部,一个 LSN 是一个 64 位整数,表示在预写式日志流中的一个字节位置。它被打印成 两个最高 8 位的十六进制数,中间用斜线分隔,例如16/B374D848。 pg_lsn类型支持标准的比较操作符,如=和 >。两个 LSN 可以用-操作符做减法, 结果将是分隔两个预写式日志位置的字节数。
伪类型
AntDB包含一系列特殊用途的条目, 它们按照类别来说叫做伪类型。伪类型不能作为字段的数据类型, 但是它可以用于声明一个函数的参数或者结果类型。 伪类型在一个函数不只是简单地接受并返回某种SQL 数据类型的情况下很有用。
下表列出了所有的伪类型:
名字 | 描述 |
---|---|
any | 表示一个函数可以接受任意输入数据类型。 |
anyelement | 表示一个函数可以接受任意数据类型。 |
anyarray | 表示一个函数可以接受任意数组数据类型。 |
anynonarray | 表示一个函数可以接受任意非数组数据类型。 |
anyenum | 表示一个函数可以接受任意枚举数据类型。 |
anyrange | 表示一个函数可以接受任意范围数据类型。 |
anycompatible | 指示函数接受任何数据类型,并自动将多个参数提升为通用数据类型。 |
anycompatiblearray | 指示函数接受任何数组数据类型,并自动将多个参数提升为通用数据类型。 |
anycompatiblenonarray | 指示函数接受任何非数组数据类型,并将多个参数自动提升为通用数据类型。 |
anycompatiblerange | 指示函数接受任何范围数据类型,并将多个参数自动提升为通用数据类型。 |
cstring | 表示一个函数接受或者返回一个非空结尾的C字符串。 |
internal | 表示一个函数接受或返回一个服务器内部数据类型。 |
language_handler | 一个被声明为返回language_handler的过程语言调用处理器。 |
fdw_handler | 一个被声明为返回fdw_handler的外部数据包装器处理器。 |
table_am_handler | 一种表访问方法处理程序,声明要返回 table_am_handler. |
index_am_handler | 一个被声明为返回index_am_handler索引访问方法处理器。 |
tsm_handler | 一个被声明为返回tsm_handler的表采样方法处理器。 |
record | 标识一个接收或者返回一个未指定的行类型的函数。 |
trigger | 一个被声明为返回trigger的触发器函数。 |
event_trigger | 一个被声明为返回event_trigger的事件触发器函数。 |
pg_ddl_command | 标识一种对事件触发器可用的 DDL 命令的表达。 |
void | 表示一个函数不返回值。 |
unknown | 标识一种还未被解析的类型,例如一个未修饰的字符文本。 |