来自DOC
inet和cidr数据类型之间的本质区别在于inet接受网络掩码右侧非零位的值,而cidr则不接受。
请举例说明PostgreSQL中cidr和inet数据类型的差异。
我完全不明白,想要在视觉上看到差异。
答案 0 :(得分:0)
似乎我找到了the answer
比如说,如果你有一个/ 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.
而且inet允许这样:
db=# select '255.1.0.0/8'::inet;
255.1.0.0/8