已结束支持的版本: 6.4
历史版本。 PostgreSQL 6.4 已结束支持。 请参阅 当前版本手册.
8.7. IPv4 网络与主机地址
cidr
类型存储以
CIDR
记法指定的网络。inet
类型以 CIDR
记法存储主机和网络。
表 8.14. Postgres IPv4 类型
| IPV4 类型 | 存储尺寸 | 描述 | 范围 |
|---|---|---|---|
| cidr | 可变 | CIDR 网络 | 有效的 IPV4 CIDR 块 |
| inet | 可变 | 网络和主机 | 有效的 IPV4 CIDR 块 |
8.7.1. 用于 IP 网络的 inet
cidr 类型保存一个 CIDR 网络。指定网络的格式是 "x.x.x.x/y",其中 "x.x.x.x" 是网络,"/y" 是网络掩码的位数。如果省略了 "/y" 部分,则按旧的有类别系统的假定来计算,但至少会大到包含输入中写出的所有八位组。下面是一些示例:
表 8.15. Postgres IP 类型示例
| 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 |
8.7.2. 用于 IP 网络的 inet
inet 类型设计为在单个字段中保存关于一台主机的全部信息,包括它所在的 CIDR 式子网。注意,如果你想存储真正的 CIDR 网络,请参见 cidr 类型。inet 类型与 cidr 类型类似,区别在于主机部分的位可以非零。存在可用于提取该字段各组成元素的函数。
此类型的输入格式是 "x.x.x.x/y",其中 "x.x.x.x" 是一台互联网主机,y 是网络掩码的位数。如果省略了 "/y" 部分,则按 "/32" 对待。输出时,如果 "/y" 部分为 /32,则不会打印它。这样只要省略位数部分,该类型就可以直接用作单纯的主机类型。