postgresql - 使用 Inet 类型 Postgres 10.4 时 Ipv6 地址存储不同

标签 postgresql ipv6

我试图在 Postgres (10.4) 的 inet 列中插入 ipv6 地址 '2001:db8:3333:4444:5555:6666:1.2.3.4'。 它存储为 2001:db8:3333:4444:5555:6666:102:304 为什么IP存储不同? 存储的 IP 是否代表被插入的同一个 IP? 这是 Postgres 更高版本中解决的已知错误吗? 问候 萨米尔

最佳答案

如果仔细观察,您会发现地址一点一点地完全相同。 PostgreSQL 以规范格式向您展示它。您给它的输入(最后 32 位的格式就像是 IPv4 地址一样)不是官方表示。

看看RFC 5952 .

关于postgresql - 使用 Inet 类型 Postgres 10.4 时 Ipv6 地址存储不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53941891/

相关文章:

c# - 使用 C# 检查 Windows 7 上是否启用了 IPv6

java - 在 Java 中操作 IPv6 地址

c# - 如何判断IPv6地址是否私有(private)?

postgresql - 物化 View 的调度程序 Postgresql + Redshift

python - 在 sqlalchemy、数据库、ORM 中使用标签

ruby-on-rails - 如何通过迁移将 `unique` 约束添加到现有索引

c - 使用 netlink 过滤 IPv6 本地地址

c - 如何将 getaddrinfo 中的 IPv6 地址存储到字符数组中?

sql - 在 ST_Distance 中使用子查询

postgresql - PostgreSQL 选择查询中表名中的双引号