在 postgresql 中获取帐户活动

8 postgresql

我有一个带有一堆帐户的旧数据库。其中一个是肯定使用的,但其中 5 个左右没有信息。

Postgresql 的系统表中是否有用户上次登录或执行命令的时间?或者可能是谁以及何时创建了用户。

fra*_*ncs 3

我没有找到任何系统表显示角色\xe3\x80\x82的最后登录时间,如果你想查看角色的最后登录时间和用户执行的命令,我建议你在postgresql中设置log_connections参数.conf ,您可以在数据库日志文件中看到这些信息。

\n\n

另外,还可以使用“\\s”元命令查看历史命令,如下:

\n\n
[pg90@redhatB ~]$ psql\npsql (9.0.9)\nType "help" for help.\n\npostgres=# \\s /home/pg90/script/tf/history.sql\nWrote history to file ".//home/pg90/script/tf/history.sql".\n
Run Code Online (Sandbox Code Playgroud)\n\n

但只能看到一个客户端的历史记录。

\n\n

要查看其他角色的连接信息,可以查看pg_stat_activity了解更多信息\xe3\x80\x82

\n\n
postgres=# select usename,datname,count(*) from pg_stat_activity group by usename,datname order by 3 desc;\n
Run Code Online (Sandbox Code Playgroud)\n\n

之后,您可以决定是否删除角色\xe3\x80\x82我还建议您检查角色所有者是否有任何反对。

\n