PostgreSQL
上一页 第三章. 数据类型 下一页

IP 版本 4 网络和主机地址

cidr 类型用于存储用 CIDR(Classless Inter-Domain Routing)符号声明的网络. inet 类型用一种形式简单的变种来表示简单的主机TCP/IP地址,并以此来存储以 CIDR 符号表示的主机和网络。

表 3-19. PostgresIP V4 类型
 
IPV4 类型 存储空间 描述 范围
cidr 变长 CIDR 网络 有效的 IPV4 CIDR 字块
inet 变长 网络和主机 有效的 IPV4 CIDR 字块

CIDR

cidr 类型声明一个 CIDR 网络. 说明一个无类(classless)的网络的格式是 "x.x.x.x/y" 这里 "x.x.x.x" 网络地址 而 "/y" 网络掩码中1的个数.如果 "/y" 部分没有指明,那么掩码部分用旧的有类的网络分类假设进行计算,但要求输入的数据已经包括了确定掩码的所需的所有8进制位.

下面是些例子:

表 3-20. PostgresIP 类型举例
 
CIDR 输入 CIDR 显示
192.168.1 192.168.1/24
192.168 192.168.0/24
128.1 128.1/16
128 128.0/16
128.1.2 128.1.2/24
10.1.2 10.1.2/24
10.1 10.1/16
10 10/8

inet

inet 类型设计用来在一个数据域里存放所有主机信息,包括其所在的CIDR风格的子网.要注意如果你想正确存放CIDR网络,你应该使用cidr 类型.inet 类型类似cidr 类型,只是它的主机部分可以是非零.可以用函数从数据域中将各种元素提取出来.

该函数的输入格式是 x.x.x.x/y 这里 x.x.x.x 是互联网主机, y 是网络掩码的位数.如果 /y 部分未填,当作/32.输出时,如果 /y 部分为 /32,将不会打印出来.只要不填"/y"部分,该类型可以直接作为主机类型使用.(??This allows the type to be used as a straight host type by just leaving of the bits part. )


上一页 首页 下一页
几何类型 开头 操作符