1. inet(IP地址): 用于存储 IPv4 或 IPv6 地址。
-- 例如,表示IPv4地址 192.168.0.1
inet '192.168.0.1'
-- 表示IPv6地址
inet '::1'
2. cidr(CIDR块): 用于存储一个 IP 地址范围。
-- 例如,表示一个 IPv4 CIDR 块
cidr '192.168.0.0/24'
-- 表示一个 IPv6 CIDR 块
cidr '2001:db8::/32'
这两个类型都支持在查询中进行各种网络相关的操作,例如判断某个 IP 是否属于某个 CIDR 块、计算两个 IP 之间的距离等。
例如,可以使用 inet 类型来存储和查询主机的 IP 地址,或者使用 cidr 类型来表示和查询网络的子网划分情况。
在 PostgreSQL 中,可以使用如下的 SQL 来创建包含网络地址的表:
CREATE TABLE network_data (
id SERIAL PRIMARY KEY,
host_name VARCHAR(255),
ip_address INET,
subnet CIDR
);
这个例子创建了一个 network_data 表,其中包含了 host_name(主机名)、ip_address(IP 地址)和 subnet(子网 CIDR 块)等列。
转载请注明出处:http://www.zyzy.cn/article/detail/8157/PostgreSQL