我特意尝试避免连接到池/Supavisor,而是想使用直接连接。
Supabase 给我一个主机名,类似:db.MY_ID.supabase.co
它没有 ipv4 IP,但我可以挖掘 AAAA 记录:
% dig AAAA db.MY_ID.supabase.co
; <<>> DiG 9.10.6 <<>> AAAA db.MY_ID.supabase.co
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 59725
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
;; QUESTION SECTION:
;db.MY_ID.supabase.co. IN AAAA
;; ANSWER SECTION:
db.MY_ID.supabase.co. 30 IN AAAA dead:beef:IPV6:IPV6::IPV6:IPV6:dead:beef
;; Query time: 44 msec
;; SERVER: 192.168.20.1#53(192.168.20.1)
;; WHEN: Sat Mar 08 09:49:28 AEDT 2025
;; MSG SIZE rcvd: 92
但我无法让 psql 通过域或 IP 连接它:
% psql "postgresql://db.MY_ID.supabase.co:5432/postgres?sslmode=require" -U myuser
psql: error: could not translate host name "db.MY_ID.supabase.co" to address: nodename nor servname provided, or not known
% psql "postgresql://[dead:beef:IPV6:IPV6::IPV6:IPV6:dead:beef]:5432/postgres?sslmode=require" -U myuser
psql: error: connection to server at "dead:beef:IPV6:IPV6::IPV6:IPV6:dead:beef", port 5432 failed: No route to host
Is the server running on that host and accepting TCP/IP connections?
我做错了什么?Postgres 级别上有什么问题可以修复吗?
更新:grawity 是正确的。我的路由器没有启用 ipv6。我一直在使用指向本地主机的 ipv6 地址进行开发,所以我假设我的 ipv6 可以正常工作。但我没有在互联网上使用它,只能在本地主机上使用。