如何在 pg_class 中添加新列以进行对象创建日期转储

问题描述

我想在 pg_class 中创建一列用于对象创建转储,但我无法添加。 我正在使用以下查询: ALTER TABLE pg_catalog.pg_class ADD COLUMN 重新创建时间戳;

当我运行此查询时,出现以下错误错误:权限被拒绝:“pg_class”是系统目录 sql 状态:42501 请为对象创建时间转储提出任何建议。这对我进行审计非常重要。

解决方法

那是一个系统表。你不能只是摆弄它们。

您可能会发现 event triggers 很有用。

,

设置 log_statement = 'ddl' 并从日志文件中获取信息。

您不能更改“这样的目录”,因为它需要对 PostgreSQL 代码进行重大更改,并且在每次升级期间都会丢失信息。