云数据库 GAUSSDB-网络地址类型:inet

时间:2024-11-02 18:45:26

inet

inet类型在一个数据区域内保存主机的IPv4或IPv6地址,以及一个可选子网。主机地址中网络地址的位数表示子网(“子网掩码”)。如果子网掩码是32并且地址是IPv4,则这个值不表示任何子网,只表示一台主机。在IPv6里,地址长度是128位,因此128位表示唯一的主机地址。

该类型的输入格式是address/y,address表示IPv4或者IPv6地址,y是子网掩码的二进制位数。如果省略/y,则子网掩码对IPv4是32,对IPv6是128,所以该值表示只有一台主机。如果该值表示只有一台主机,/y将不会显示。

inet和cidr类型之间的基本区别是inet接受子网掩码,而cidr不接受。

示例:

gaussdb=# CREATE TABLE inet_test(id int, i inet);
CREATE TABLE
gaussdb=# INSERT INTO inet_test VALUES (1, '192.168.100.128/25');
INSERT 0 1
gaussdb=# INSERT INTO inet_test VALUES (2, '192.168.100.128');
INSERT 0 1
gaussdb=# INSERT INTO inet_test VALUES (3, '192.168.1.0/24');
INSERT 0 1
gaussdb=# INSERT INTO inet_test VALUES (4, '192.168.1.0/25');
INSERT 0 1
gaussdb=# INSERT INTO inet_test VALUES (5, '192.168.1.255/24');
INSERT 0 1
gaussdb=# INSERT INTO inet_test VALUES (6, '192.168.1.255/25');
INSERT 0 1
gaussdb=# INSERT INTO inet_test VALUES (7, '10.1.2.3/8');
INSERT 0 1
gaussdb=# INSERT INTO inet_test VALUES (8, '11.1.2.3/16');
INSERT 0 1
gaussdb=# INSERT INTO inet_test VALUES (9, '12.1.2.3/24');
INSERT 0 1
gaussdb=# INSERT INTO inet_test VALUES (10, '13.1.2.3/32');
INSERT 0 1
gaussdb=# INSERT INTO inet_test VALUES (11, '2001:4f8:3:ba::/64');
INSERT 0 1
gaussdb=# INSERT INTO inet_test VALUES (12, '2001:4f8:3:ba:2e0:81ff:fe22:d1f1/128');
INSERT 0 1
gaussdb=# INSERT INTO inet_test VALUES (13, '::ffff:127.0.0.0/120');
INSERT 0 1
gaussdb=# INSERT INTO inet_test VALUES (14, '::ffff:127.0.0.0/128');
INSERT 0 1
gaussdb=# SELECT * FROM inet_test ORDER BY id;
 id |                i                 
----+----------------------------------
  1 | 192.168.100.128/25
  2 | 192.168.100.128
  3 | 192.168.1.0/24
  4 | 192.168.1.0/25
  5 | 192.168.1.255/24
  6 | 192.168.1.255/25
  7 | 10.1.2.3/8
  8 | 11.1.2.3/16
  9 | 12.1.2.3/24
 10 | 13.1.2.3
 11 | 2001:4f8:3:ba::/64
 12 | 2001:4f8:3:ba:2e0:81ff:fe22:d1f1
 13 | ::ffff:127.0.0.0/120
 14 | ::ffff:127.0.0.0
(14 rows)

gaussdb=# DROP TABLE inet_test;
DROP TABLE
support.huaweicloud.com/centralized-devg-v8-gaussdb/gaussdb-42-0330.html