我希望能对我在GCP Cloud SQL中为PostgreSQL 12托管实例使用pgAudit时遇到的问题有一些了解。
到目前为止,我已经完成了以下设置:
数据库标志:
cloudsql.enable_pgaudit=on
pgaudit.log=ddl
pgaudit.log_client=yes (turned this one on for debugging purposes)
pgaudit.log_relation=on
在启用cloudsql.enable_pgaudit标志并重新启动实例之后,我发出了CREATE EXTENSION pgaudit命令,并确认它成功了。我还按照Google文档中的建议启用了数据访问日志(他们没有指定IAM中需要哪些权限,所以我在所有方面都是错误的)。我还尝试设置pgaudit.log=all,以查看是否可以捕获任何内容,并使用相同的捕获方式,即没有记录任何内容。
使用pgaudit.log_client=on时,我希望在DBeaver中查看服务器输出时看到返回的审计日志信息,但那里什么也没有显示。
有谁知道我可能遗漏了什么吗?我的最终目标是使用会话日志记录来捕获DDL操作。我通常会尝试通过创建一个删除表来进行测试,以获取这些操作的日志。
create table dstest_table (columone varchar(150));
drop table dstest_table;
我已经尝试了更多的方法来使其工作,包括在数据库级别额外设置标志。到目前为止,似乎还没有记录任何内容。
更新:从来没有让pgAudit正常工作过,但是我发现可以通过服务器上的log_statement=ddl标志将DDL操作记录到pgAudit之外。设置这个,我现在可以得到我需要的东西了。
Database Flags
Cloud Logging API Data Access Log
Cloud SQL Data Access Log
转载请注明出处:http://www.bigbigcall.com/article/20230331/1274940.html