It looks a bit strange that CIDR output depends on datatype it has been casted from:
fduch=# SELECT '1.1.1.1'::cidr; cidr ------------ 1.1.1.1/32 (1 row) fduch=# SELECT '1.1.1.1'::inet::cidr; cidr --------- 1.1.1.1 (1 row) However these two seem to be 'equal' in terms of backend: fduch=# SELECT '1.1.1.1'::inet::cidr = '1.1.1.1'::inet; ?column? ---------- t (1 row) fduch=# SELECT '1.1.1.1'::inet::cidr = '1.1.1.1'::cidr; ?column? ---------- t (1 row) I'm just curious how can it even be... fduch=# SELECT version(); version ------------------------------------------------------------------------------------------------ PostgreSQL 7.4.5 on i386-portbld-freebsd5.3, compiled by GCC cc (GCC) 3.4.2 [FreeBSD] 20040728 -- Fduch M. Pravking ---------------------------(end of broadcast)--------------------------- TIP 4: Don't 'kill -9' the postmaster