用户登录时的 Postgresql 触发器



我试图找出一种在用户登录Postgres数据库后立即知道的方法。 有没有办法定义用户登录数据库时触发的触发器? 或者是否有一个表或系统视图会在任何人登录数据库时更新?

login_hook

Postgres数据库扩展,用于在用户登录时执行som代码, 与甲骨文的登录后触发器相当。

我认为在SQL级别没有任何可以识别登录事件的东西(即没有可以查询的视图,也没有可以创建的触发器(。

但是,您可以编写一个服务器端模块(用 C 语言(,该模块通过 ClientAuthentication_hook 截获登录事件。此挂钩在服务器尝试对用户进行身份验证之后,但在发送其响应之前调用。

在Postgres维基上有一个ClientAuthentication_hook的工作示例。您还可以在Postgres自己的contrib模块中找到此钩子的几个示例。

最新更新