【发布时间】:2021-08-07 08:26:45
【问题描述】:
我正在尝试查找我在 postgresql 中创建的带有日期和时间戳以及分配给他们的权限的用户。我已经搜索了几个像 pg_user 这样的表,但找不到它。 请提出建议。
【问题讨论】:
标签: postgresql ddl
我正在尝试查找我在 postgresql 中创建的带有日期和时间戳以及分配给他们的权限的用户。我已经搜索了几个像 pg_user 这样的表,但找不到它。 请提出建议。
【问题讨论】:
标签: postgresql ddl
这样的问题经常出现,通常是询问创建表的时间,所以我会尽量回答。
PostgreSQL 不会跟踪数据库中对象的创建时间或其他类似的审计信息。即使我们考虑了这样一个功能,它应该如何工作也是值得怀疑的。如果您恢复pg_dump,表或角色的创建时间会是恢复的时间吗?如果没有,则必须有一种方法来覆盖 SQL 中的表或角色创建时间。但是,您无法阻止人们删除一个对象并使用伪造的旧创建时间戳再次创建它。
处理此类要求的正确方法是日志文件。设置log_statement = 'ddl',所有 DDL 语句都会被记录。
【讨论】: