inet_server_addr()
是一个系统函数,它返回当前客户端连接到的 IP 地址。
inet_server_addr()
在 PostgreSQL 8.0 中添加。
用法
inet_server_addr () → inet
inet_server_addr()
不带任何参数调用,并返回服务器 IP 地址作为 inet
数据类型,或者如果当前连接是通过 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 文档: 会话信息函数