从postgres db接收IP地址的所有匹配网络

时间:2019-03-20 11:49:07

标签: ruby-on-rails postgresql cidr

我有一个带有表networks的postgres数据库,该表包括cidr类型的列network。我想将包含我提供的IP地址的所有网络排队。我找不到该怎么做。

当前,我拉动所有网络,然后使用IPAddr类提供的include?方法:

Network.all.each{|row| pp row if row.network.include?("10.176.0.5")}

1 个答案:

答案 0 :(得分:1)

您可以使用为cidr类型定义的postgres的>>=运算符(包括或等于)或>>(包括):

Network.where(['network >> ?', "10.176.0.5"])