来自美国商务部
inet 和 cidr 数据类型之间的本质区别在于 inet 接受网络掩码右侧带有非零位的值,而 cidr 则不接受。
请举例说明 PostgreSQL 中 cidr 和 inet 数据类型的差异。
我不完全理解这一点,想从视觉上看到差异。
看来我找到了答案
假设您有 /8 网络掩码,则该cidr类型要求最右边的所有 24 位均为零。inet没有这个要求。
db=# select '255.0.0.0/8'::cidr;
255.0.0.0/8
db=# select '255.1.0.0/8'::cidr;
ERROR: invalid cidr value: "255.1.0.0/8"
DETAIL: Value has bits set to right of mask.
Run Code Online (Sandbox Code Playgroud)
inet 允许这样做:
db=# select '255.1.0.0/8'::inet;
255.1.0.0/8
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3014 次 |
| 最近记录: |