如何在postgresql中查找用户创建日期以及所有权限



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

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

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

处理此类需求的正确方法是使用日志文件。设置log_statement = 'ddl',所有DDL语句都将被记录。

解决此的两个步骤

  1. 确保track_commit_timestamp处于打开状态
show track_commit_timestamp ;
track_commit_timestamp
------------------------
on

(1排(

  1. 执行
select pg_xact_commit_timestamp(xmin) from pg_authid;

最新更新