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