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文档: 会话信息函数