我正在尝试查找我在postgresql中创建的用户,这些用户带有日期和时间戳沿着分配给他们的权限。我搜索了一些类似pg_user的表,但没有找到。请提供建议。
jtw3ybtb1#
类似这样的问题经常出现,通常是询问表创建时间,所以我将尽量回答这个问题。PostgreSQL不跟踪对象的创建时间或其他审计信息,如数据库中的审计信息。即使我们考虑了这样的功能,它应该如何工作也是值得怀疑的。如果您恢复pg_dump,表或角色的创建时间是否是恢复时间?如果不是,必须有一种方法来覆盖SQL中的表或角色创建时间。2但是你不能阻止人们删除一个对象,然后用一个假的旧的创建时间戳重新创建它。满足这一需求的正确方法是日志文件,设置log_statement = 'ddl',所有DDL语句都将被记录。
pg_dump
log_statement = 'ddl'
yftpprvb2#
解决此问题的2个步骤1.确保track_commit_timestamp处于打开状态
打开(1行)1.从pg_authid中选择pg_xact_commit_时间戳(xmin);
2条答案
按热度按时间jtw3ybtb1#
类似这样的问题经常出现,通常是询问表创建时间,所以我将尽量回答这个问题。
PostgreSQL不跟踪对象的创建时间或其他审计信息,如数据库中的审计信息。即使我们考虑了这样的功能,它应该如何工作也是值得怀疑的。如果您恢复
pg_dump
,表或角色的创建时间是否是恢复时间?如果不是,必须有一种方法来覆盖SQL中的表或角色创建时间。2但是你不能阻止人们删除一个对象,然后用一个假的旧的创建时间戳重新创建它。满足这一需求的正确方法是日志文件,设置
log_statement = 'ddl'
,所有DDL语句都将被记录。yftpprvb2#
解决此问题的2个步骤
1.确保track_commit_timestamp处于打开状态
显示跟踪提交时间戳;跟踪提交时间戳
打开(1行)
1.从pg_authid中选择pg_xact_commit_时间戳(xmin);