PostgreSQL pg_type
目录pg_type
存储有关数据类型的信息。基类和枚举类型(标度类型)使用CREATE TYPE创建,而域使用
CREATE DOMAIN
创建。数据库中的每一个表都会有一个自动创建的组合类型,用于表示表的行结构。也可以使用CREATE TYPE AS
创建组合类型。
表 51.62. pg_type
Columns
列类型 描述 |
---|
行标识符 |
数据类型的名字 |
包含此类型的名字空间的OID |
类型的拥有者 |
对于一个固定尺寸的类型, |
|
|
|
如果此类型在它的 |
如果此类型已被定义则为真,如果此类型只是一个表示还未定义类型的占位符则为假。 当 |
在分析数组输入时,分隔两个此类型值的字符。注意该分隔符是与数组元素数据类型相关联的, 而不是和数组的数据类型关联。 |
如果这是一个复合类型(见 |
如果 |
如果 |
输入转换函数(文本格式) |
输出转换函数(文本格式) |
输入转换函数(二进制格式),如果没有则为0 |
输出转换函数(二进制格式),如果没有则为0 |
类型修改器输入函数,如果类型没有提供修改器则为0 |
类型修改器输出函数,或为0以使用标准格式 |
自定义 |
|
如果一个变长类型(
|
|
如果这是一个域(见 |
域使用 |
对于一个数组上的域, |
|
如果 |
如果某类型没有相关默认值,那么 |
访问权限,另请参阅第 5.7 节 |
注意
对于系统表中使用的固定宽度类型,关键的是在pg_type
定义的大小和对齐与编译器在表示表行的结构中布局列的方式一致。
表 51.63列出了typcategory
的系统定义值。任何未来对此列表的增加都将是大写ASCII字母。所有其他ASCII字符都保留给用户定义的类别。
表 51.63. typcategory
Codes
编码 | 类别 |
---|---|
A
|
数组类型 |
B
|
布尔类型 |
C
|
组合类型 |
D
|
日期/时间类型 |
E
|
枚举类型 |
G
|
几何类型 |
I
|
网络地址类型 |
N
|
数字类型 |
P
|
伪类型 |
R
|
范围类型 |
S
|
字符串类型 |
T
|
时间间隔类型 |
U
|
用户定义类型 |
V
|
位字符串类型 |
X
|
未知 type |