From: | Adrian Klaver <adrian(dot)klaver(at)aklaver(dot)com> |
---|---|
To: | "Richard RK(dot) Klingler" <richard(at)klingler(dot)net>, "pgsql-sql(at)postgresql(dot)org" <pgsql-sql(at)postgresql(dot)org> |
Subject: | Re: IP address, subnet query behaves wrong for /32 |
Date: | 2015-08-06 17:02:24 |
Message-ID: | 55C39320.4010905@aklaver.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-sql |
On 08/06/2015 09:47 AM, Richard RK. Klingler wrote:
> Evenin'
>
> What I discovered just lately is a nice feature from pgsql that I can test
> if a specific IP address falls within a supplied subnet:
>
> myserver=# select inet '192.168.0.1' << '192.168.0.0/24'::inet as ip;
>
> ip
>
> ----
>
> t
>
> (1 row)
>
>
>
> But what I don't understand is why pgsql doesn't behave correctly when
> testing for a /32 subnet:
> (it works for /31 correctly though)
>
> myserver=# select inet '192.168.0.1' << '192.168.0.1/32'::inet as ip;
>
> ip
>
> ----
>
> f
>
>
> From a network engineering point of view this should also return "true"
> and not false.
http://www.postgresql.org/docs/9.2/interactive/functions-net.html
"The operators <<, <<=, >>, and >>= test for subnet inclusion."
http://www.postgresql.org/docs/9.2/interactive/datatype-net-types.html#DATATYPE-INET
" If the netmask is 32 and the address is IPv4, then the value does not
indicate a subnet, only a single host."
So it is behaving as documented.
>
> Has this been fixed in recent versions? I'm using 9.2.8 right now….
>
>
>
> thanks in advance
> richard
>
>
--
Adrian Klaver
adrian(dot)klaver(at)aklaver(dot)com
From | Date | Subject | |
---|---|---|---|
Next Message | David G. Johnston | 2015-08-06 17:07:41 | Re: IP address, subnet query behaves wrong for /32 |
Previous Message | David G. Johnston | 2015-08-06 17:01:27 | Re: IP address, subnet query behaves wrong for /32 |