inet_server_addr() 是一个系统函数,它返回当前客户端连接到的服务器的IP地址。
inet_server_addr() 函数在 PostgreSQL 8.0 中被添加。
用法
inet_server_addr () → inet
inet_server_addr() 函数在不带任何参数的情况下调用,并以 inet 数据类型返回服务器IP地址,如果当前连接是通过 Unix 域套接字建立的,则返回 NULL。
已知错误
在 PostgreSQL 13 及更早版本中,并行工作进程执行 inet_server_addr() 时将始终返回 NULL。这个问题已在 PostgreSQL 14 中修复(提交 5a6f9bce),但未向早期版本回溯移植。
变更历史
- PostgreSQL 8.0
- 已添加(提交 97d625dd)
示例
通过 TCP/IP 连接时的示例输出
postgres=# SELECT inet_server_addr(); inet_server_addr ------------------ 10.11.9.1 (1 row)
通过 Unix 域套接字连接时的示例输出
postgres=# SELECT inet_client_addr(); inet_server_addr ------------------ (1 row)
参考资料
- PostgreSQL 文档: 会话信息函数
