| PostgreSQL | ||
|---|---|---|
| 上一页 | 第三章. 数据类型 | 下一页 |
cidr 类型用于存储用 CIDR(Classless Inter-Domain Routing)符号声明的网络. inet 类型用一种形式简单的变种来表示简单的主机TCP/IP地址,并以此来存储以 CIDR 符号表示的主机和网络。
表 3-18. PostgresIP V4 类型
| IPV4 类型 | 存储空间 | 描述 | 范围 |
|---|---|---|---|
| cidr | 变长 | CIDR 网络 | 有效的 IPV4 CIDR 字块 |
| inet | 变长 | 网络和主机 | 有效的 IPV4 CIDR 字块 |
cidr 类型声明一个 CIDR 网络. 说明一个无类(classless)的网络的格式是 "x.x.x.x/y" 这里 "x.x.x.x" 网络地址 而 "/y" 网络掩码中1的个数.如果 "/y" 部分没有指明,那么掩码部分用旧的网络分类假设进行计算,但要求输入的数据已经包括了确定掩码的所需的所有8进制位.
下面是些例子:
表 3-19. 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 类型设计用来在一个数据域里存放所有主机信息,包括其所在的CIDR风格的子网.要注意如果你想正确存放CIDR网络,你应该使用 cidr t类型. 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. )
| 上一页 | 首页 | 下一页 |
| 几何类型 | 开头 | 操作符 |