Re: [PERFORM] Filter certain range of IP address.

Поиск
Список
Период
Сортировка
От Dinesh Chandra 12108
Тема Re: [PERFORM] Filter certain range of IP address.
Дата
Msg-id 705a033c9efe4a75830cc76b154e18a0@cyient.com
обсуждение исходный текст
Ответ на Re: [PERFORM] Filter certain range of IP address.  (vinny <vinny@xs4all.nl>)
Ответы Re: [PERFORM] Filter certain range of IP address.  ("David G. Johnston" <david.g.johnston@gmail.com>)
Список pgsql-performance
Dear Vinny,

Thanks for your valuable replay.

but I need a select query, which select only that record which starts from IP "172.23.110" only from below table.

xxx    172.23.110.175
yyy    172.23.110.178
zzz    172.23.110.177
aaa    172.23.110.176
bbb    172.23.111.180
ccc    172.23.115.26

Regards,
Dinesh Chandra
|Database administrator (Oracle/PostgreSQL)| Cyient Ltd. Noida.
------------------------------------------------------------------
Mobile: +91-9953975849 | Ext 1078 |dinesh.chandra@cyient.com 
Plot No. 7, NSEZ, Phase-II ,Noida-Dadri Road, Noida - 201 305,India.

-----Original Message-----
From: vinny [mailto:vinny@xs4all.nl] 
Sent: 07 April, 2017 7:52 PM
To: Dinesh Chandra 12108 <Dinesh.Chandra@cyient.com>
Cc: pgsql-performance-owner@postgresql.org; pgsql-performance@postgresql.org
Subject: Re: [PERFORM] Filter certain range of IP address.

On 2017-04-07 16:13, Dinesh Chandra 12108 wrote:
> Hi expert,
> 
> May I know how to select a range of IP address.
> 
> Example: I have number of different-2 IP's present in a table.
> 
> I HAVE TO SELECT ONLY THAT IP ADDRESS WHICH DOES NOT START FROM PREFIX 
> “172.23.110”.
> 
> Thanks in advance
> 
> REGARDS,
> 
> DINESH CHANDRA
> 
> |DATABASE ADMINISTRATOR (ORACLE/POSTGRESQL)| CYIENT LTD. NOIDA.
> 
> ------------------------------------------------------------------
> 
> Mobile: +91-9953975849 | Ext 1078 |dinesh.chandra@cyient.com
> 
> Plot No. 7, NSEZ, Phase-II ,Noida-Dadri Road, Noida - 201 305,India.


If you store the ip address as the INET datatype then you can use the INET operators to see if any arbitraty number of
bitsmatch, the first 3 bytes means the first 24 bits:
 


SELECT '172.23.110.55'::inet << '172.23.110.1/24'::inet;
  ?column?
----------
  t
(1 row)


SELECT '272.23.110.55'::inet << '172.23.110.1/24'::inet;
  ?column?
----------
  f
(1 row)

See also: https://www.postgresql.org/docs/9.3/static/functions-net.html

В списке pgsql-performance по дате отправления:

Предыдущее
От: Gerardo Herzig
Дата:
Сообщение: Re: [PERFORM] Understanding PostgreSQL query execution time
Следующее
От: "David G. Johnston"
Дата:
Сообщение: Re: [PERFORM] Filter certain range of IP address.