inet_server_port()
是一个系统函数,它返回当前客户端连接到的 IP 端口。
inet_server_port()
在 PostgreSQL 8.0 中添加。
用法
inet_server_port () → integer
inet_server_port()
不需要任何参数,并返回客户端 IP 地址作为 integer
类型,或者如果当前连接是通过 Unix 域套接字进行的,则返回 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 文档: 会话信息函数