使用道具 举报
PostgreSQL提供用于存储 IPv4 、IPv6 、MAC 地址的数据类型,在表8-17里显示。用这些数据类型存储网络地址比用纯文本类型好,因为这些类型提供输入错误检查和好些种特殊的操作和功能(见节9.11)。 表8-17. 网络地址类型 名字 存储空间 描述 cidr 12 或 24 字节 IPv4 或 IPv6 网络 inet 12 或 24 字节 IPv4 或 IPv6 网络和主机 macaddr 6 字节 MAC 地址 在对 inet 或 cidr 数据类型进行排序的时候,IPv4 地址总是排在 IPv6 地址前面,包括那些封装或者是映射在 IPv6 地址里的 IPv4 地址,比如 ::10.2.3.4 或 ::ffff::10.4.3.2 8.8.1. inet inet 在一个数据域里保存主机的 IPv4 或 IPv6 地址,以及一个可选的等效子网。子网的等效是通过计算主机地址中有多少位表示网络地址的方法来表示的("子网掩码")。如果子网掩码是 32 并且地址是 IPv4 ,那么不表示任何子网,只是一台主机。在 IPv6 里,地址长度是 128 位,因此 128 位表明一个唯一的主机地址。请注意如果你想只接受网络地址,你应该使用 cidr 类型而不是 inet 类型。 该类型的输入格式是 address/y ,这里的 address 是 IPv4 或者 IPv6 地址,y 是子网掩码的二进制位数。如果 /y 部分未填,则子网掩码对 IPv4 而言是 32 ,对 IPv6 而言是 128 ,所以该值表示只有一台主机。显示时,如果该值表示只有一台主机,/y 将不会显示 8.8.2. cidr cidr 保存一个 IPv4 或 IPv6 网络地址。其输入和输出遵循无类别的互联网域路由习惯。声明一个网络的格式是 address/y ,这里的 address 是 IPv4 或者 IPv6 地址,y 是子网掩码的二进制位数。如果省略 y ,那么掩码部分用旧的有类别的网络编号系统进行计算,但要求输入的数据已经包括了确定掩码所需的所有字节。声明一个指定掩码的网络地址是错误的。
mark35 发表于 2012-9-25 15:24 测试个bug https://discuz.dismall.com/thread-3113485-1-1.html
左手悲伤 发表于 2012-10-4 23:53 牛逼到不行了 佩服!~弱弱地问下 阁下是技术专业吧。
本版积分规则 发表回复 回帖后跳转到最后一页
手机版|小黑屋|Discuz! 官方站 ( 皖ICP备16010102号 )
GMT+8, 2025-9-11 09:38 , Processed in 0.111833 second(s), 16 queries , Gzip On.
Powered by Discuz! X3.4
Copyright © 2001-2023, Tencent Cloud.