8.数据类型-网络地址类型

前言

一、网络地址类型

用于存储IPV4、IPV6、MAC网络地址的专有网络地址数据类型,
使用网络地址数据类型存储IP地址要优于字符类型。

1.网络地址数据类型列表

字符类型名称存储长度描述
cidr7或19字节IPV4和IPV6网络
inet7或19字节IPV4和IPV6网络
macaddr6字节MAC地址
macaddr88字节MAC地址

cidr/inet类型存储的网络地址格式为address/y。
如果y省略,则对于IPV4网络掩码为32,对于IPV6网络掩码为128,所以该值表示一台主机。

cidr/inet类型都会对数据合法性进行检查,不合法会报错:

select '192.168.2.1000'::inet;
lhcdb@10.206.132.17:5432=>select '192.168.2.1000'::inet;
ERROR:  invalid input syntax for type inet: "192.168.2.1000"
LINE 1: select '192.168.2.1000'::inet;
inet和cidr类型存在以下差别:
(1)cidr类型的输出默认带子网掩码信息,而inet不一定:
select '192.168.1.100'::cidr;
lhcdb@10.206.132.17:5432=>select '192.168.1.100'::cidr;
       cidr
------------------
 192.168.1.100/32
(1 row)


select '192.168.1.100/32'::inet;
lhcdb@10.206.132.17:5432=>select '192.168.1.100/32'::inet;
     inet
---------------
 192.168.1.100
(1 row)

select '192.168.0.0/16'::inet;
lhcdb@10.206.132.17:5432=>select '192.168.0.0/16'::inet;
      inet
----------------
 192.168.0.0/16
(1 row)

(2)cidr类型对IP地址和子网掩码合法性进行检查,而inet不会:
select '192.168.2.0/8'::cidr;
lhcdb@10.206.132.17:5432=>select '192.168.2.0/8'::cidr;
ERROR:  invalid cidr value: "192.168.2.0/8"
LINE 1: select '192.168.2.0/8'::cidr;
               ^
DETAIL:  Value has bits set to right of mask.

select '192.168.2.0/8'::inet;
lhcdb@10.206.132.17:5432=>select '192.168.2.0/8'::inet;
     inet
---------------
 192.168.2.0/8
(1 row)

select '192.168.2.0/24'::cidr;
lhcdb@10.206.132.17:5432=>select '192.168.2.0/24'::cidr;
      cidr
----------------
 192.168.2.0/24
(1 row)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值