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

问题描述 投票:1回答:1

我有一个带有表networks的postgres数据库,其中包括cidr类型的network列。我想排队所有包含我提供的IP地址的网络。我无法找到如何做到这一点。

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

Network.all.each{|row| pp row if row.network.include?("10.176.0.5")}
ruby-on-rails postgresql cidr
1个回答
1
投票

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

Network.where(['network >> ?', "10.176.0.5"])
© www.soinside.com 2019 - 2024. All rights reserved.