postgreSQL可变数据类型
参考:
0x00 可变长类型
0. Datum 的 typlen 的约定
如果Datum 类型是 “byVal”,则Datum表示一个值。如果Datum 类型不是”byVal“,则Datum 表示一个指针:
typlen > 0, Datum 就指向固定长度字节流,比如int类型 typlen == -1, Datum 指向一个变长 varlena 结构体,比如char,varchar类型 typlen == -2, Datum 指向一个C语言风格的字符串;
因此,查看所有的变长数据类型:
1 | SELECT typname FROM pg_type WHERE typlen = -1 |