跳转到主要内容
保存在 VARCHAR 中的 IP 地址按字母顺序排序,接受拼写错误,也无法 回答某个地址是否落在某个网络之内。vsql_network_address 添加了四种 列类型,它们验证输入、正确排序,并附带配套的包含和子网掩码函数。 它遵循 PostgreSQL 的 inet、cidr、macaddr 和 macaddr8 类型。

安装

如果您使用安装脚本、Docker 镜像或发行版压缩包安装了 VillageSQL, vsql_network_address.veb 已经位于服务器的 lib/veb/ 目录中。 用一条语句将它安装到服务器中:
确认它已存在:
要自行构建,请按照存储库中的 构建说明进行操作。

新增内容

类型

函数

示例

各行按地址顺序而不是字母顺序返回。文本顺序会把 9.0.0.1 排在 10.8.0.7 之后;地址顺序把它排在前面。 询问哪些主机位于某个网络上:
推导网络及其广播地址:
inet_contained_by 是严格的,因此带有与网络相同子网掩码的地址不被 该网络包含。192.168.1.5/32 在 192.168.1.0/24 之内返回 1,而 192.168.1.5/24 在同一网络之内返回 0。当存储的行带有网络自身的掩码 时(如上面的示例),请使用 inet_contained_by_or_equals。

另请参阅