在Oracle中,userenv('terminal')
返回当前会话终端的操作系统标识符。
在Windows机器上,由于在Oracle安装程序中执行以下查询而获得了主机名。
SQL> select userenv('terminal') from dual;
"DESKTOP-*******"
Postgres中是否有任何内置函数可以得到相同的结果?如果没有,我如何在Postgres上获得它?
答案 0 :(得分:2)
返回当前会话终端的操作系统标识符
那不是完全正确。它返回为该属性发送的任何SQL客户端。很可能是“ 这么久,谢谢你的鱼”。
如果您的最终目标是在Postgres中获取客户端的主机名,则可以使用
select client_addr, client_hostname
from pg_stat_activity
where pid = pg_backend_pid();
但是,只有在Postgres configuration file中启用了client_hostname
的情况下,才会填充log_hostname
。