PostgreSQL中的Oracle userenv('terminal')等效项

时间:2020-05-20 06:19:03

标签: oracle postgresql

在Oracle中,userenv('terminal')返回当前会话终端的操作系统标识符。 在Windows机器上,由于在Oracle安装程序中执行以下查询而获得了主机名。

SQL> select userenv('terminal') from dual;
"DESKTOP-*******"

Postgres中是否有任何内置函数可以得到相同的结果?如果没有,我如何在Postgres上获得它?

1 个答案:

答案 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