选择您的 Cookie 首选项

我们使用必要 Cookie 和类似工具提供我们的网站和服务。我们使用性能 Cookie 收集匿名统计数据,以便我们可以了解客户如何使用我们的网站并进行改进。必要 Cookie 无法停用,但您可以单击“自定义”或“拒绝”来拒绝性能 Cookie。

如果您同意,AWS 和经批准的第三方还将使用 Cookie 提供有用的网站功能、记住您的首选项并显示相关内容,包括相关广告。要接受或拒绝所有非必要 Cookie,请单击“接受”或“拒绝”。要做出更详细的选择,请单击“自定义”。

从审计日志记录中排除用户或数据库

聚焦模式
从审计日志记录中排除用户或数据库 - Amazon Relational Database Service

RDS for PostgreSQL 数据库日志文件中所述,PostgreSQL 日志会消耗存储空间。使用 pgAudit 扩展会在不同程度上增加日志中收集的数据量,具体取决于您跟踪的更改。您可能不需要审计 RDS for PostgreSQL 数据库实例中的每个用户或数据库。

为了最大限度地减少对存储的影响,避免不必要地捕获审计记录,您可以将用户和数据库排除在审计范围之外。您还可以在给定会话中更改日志记录。下面的示例向您演示如何操作。

注意

会话级别的参数设置优先于 RDS for PostgreSQL 数据库实例的自定义数据库参数组中的设置。如果您不希望数据库用户绕过您的审计日志记录配置设置,请务必更改其权限。

假设您的 RDS for PostgreSQL 数据库实例配置为审计所有用户和数据库的相同级别的活动。然后,您决定不想对用户 myuser 进行审计。您可以使用以下 SQL 命令对 myuser 关闭审计功能。

ALTER USER myuser SET pgaudit.log TO 'NONE';

然后,您可以使用以下查询来检查 pgaudit.loguser_specific_settings 列,以确认该参数已设置为 NONE

SELECT usename AS user_name, useconfig AS user_specific_settings FROM pg_user WHERE usename = 'myuser';

您将看到如下输出。

user_name | user_specific_settings -----------+------------------------ myuser | {pgaudit.log=NONE} (1 row)

在给定用户与数据库的会话期间,您可以使用以下命令对此用户关闭日志记录功能。

ALTER USER myuser IN DATABASE mydatabase SET pgaudit.log TO 'none';

使用以下查询,对于特定用户和数据库组合检查 pgaudit.log 的设置列。

SELECT usename AS "user_name", datname AS "database_name", pg_catalog.array_to_string(setconfig, E'\n') AS "settings" FROM pg_catalog.pg_db_role_setting s LEFT JOIN pg_catalog.pg_database d ON d.oid = setdatabase LEFT JOIN pg_catalog.pg_user r ON r.usesysid = setrole WHERE usename = 'myuser' AND datname = 'mydatabase' ORDER BY 1, 2;

您将看到类似以下内容的输出。

user_name | database_name | settings -----------+---------------+------------------ myuser | mydatabase | pgaudit.log=none (1 row)

myuser 关闭审计后,您决定不想跟踪对 mydatabase 的更改。您可以使用以下命令对该特定数据库关闭审计。

ALTER DATABASE mydatabase SET pgaudit.log to 'NONE';

然后,使用以下查询检查 database_specific_settings 列,以确认 pgaudit.log 已设置为 NONE。

SELECT a.datname AS database_name, b.setconfig AS database_specific_settings FROM pg_database a FULL JOIN pg_db_role_setting b ON a.oid = b.setdatabase WHERE a.datname = 'mydatabase';

您将看到如下输出。

database_name | database_specific_settings ---------------+---------------------------- mydatabase | {pgaudit.log=NONE} (1 row)

要将 myuser 的设置恢复为默认设置,请使用以下命令:

ALTER USER myuser RESET pgaudit.log;

要将数据库的设置恢复为默认设置,请使用以下命令。

ALTER DATABASE mydatabase RESET pgaudit.log;

要将用户和数据库重置为默认设置,请使用以下命令。

ALTER USER myuser IN DATABASE mydatabase RESET pgaudit.log;

还可以通过将 pgaudit.log 设置为 pgaudit.log 参数的其他允许值之一,将特定事件捕获到日志中。有关更多信息,请参阅 pgaudit.log 参数允许的设置列表

ALTER USER myuser SET pgaudit.log TO 'read'; ALTER DATABASE mydatabase SET pgaudit.log TO 'function'; ALTER USER myuser IN DATABASE mydatabase SET pgaudit.log TO 'read,function'
隐私网站条款Cookie 首选项
© 2025, Amazon Web Services, Inc. 或其附属公司。保留所有权利。