PostgreSQL: exclua IPs privados da consulta

Digamos que você tenha uma tabela de eventos de segurança. Logins, mudanças de senha, etc, e você registra o ip do usuário. Então você tem uma tarefa agendada para pesquisar as informações do geoip para cada registro. Você não gostaria de desperdiçar recursos consultando endereços IP não roteáveis. Portanto, você pode excluí-los! Esta consulta assume que você está usando o INETtipo de coluna. Se não, você pode lançar a coluna como ip::inet. Isso só lida com endereços IPv4.

SELECT *
FROM audit_security_events

WHERE NOT
(
ip
<< '127.0.0.0/8' OR
ip
<< '10.0.0.0/8' OR
ip
<< '172.16.0.0/12' OR
ip
<< '192.168.0.0/16'
)