首页 > 解决方案 > 如何在postgresql中查找用户创建日期以及所有权限

问题描述

我正在尝试查找我在 postgresql 中创建的具有日期和时间戳以及分配给他们的权限的用户。我已经搜索了几个像 pg_user 这样的表,但找不到它。请建议。

标签: postgresqlddl

解决方案


像这样的问题经常出现,通常是询问创建表的时间,所以我会尽量回答这个问题。

PostgreSQL 不会跟踪数据库中对象的创建时间或其他审计信息。即使我们考虑了这样一个功能,它应该如何工作也是值得怀疑的。如果您恢复 a pg_dump,表或角色的创建时间会是恢复的时间吗?如果没有,则必须有一种方法来覆盖 SQL 中的表或角色创建时间。但是,您无法阻止人们删除对象并使用伪造的旧创建时间戳再次创建它。

处理此类要求的正确方法是日志文件。Setlog_statement = 'ddl'并且所有 DDL 语句都将被记录。


推荐阅读