gpt4 book ai didi

sql - Postgres : DB information for logging purpose

转载 作者:行者123 更新时间:2023-11-29 12:49:23 25 4
gpt4 key购买 nike

我正在从 Oracle 迁移到 Postgres,在 Oracle 中我们正在记录一些数据库信息并在 Postgres 中寻找相应的语法。

Oracle 查询是

SELECT sid, serial#, username, machine, osuser 
FROM v$session
where sid=SYS_CONTEXT('USERENV','SID')

我可以在 postgres 中找到 pid 和用户名:

  1. 我认为我不需要 Postgres 中的序列号,因为 pid 可以唯一标识 session
  2. 如何在 Postgres 中找到机器和 osuser

注意:我使用的是 Postgres 11。

最佳答案

最接近的是:

select pid, usename, client_addr, client_hostname
from pg_stat_activity
where pid = pg_backend_pid();

client_hostname 将仅包含一个有效的主机名如果 log_hostname已启用。

osuser 没有等效项,因为 Postgres 在连接时不会将此信息发送到服务器(在 Oracle 中依赖它是一个坏主意,因为它可以更改为任何客户端应用程序喜欢)。

关于sql - Postgres : DB information for logging purpose,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57955688/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com