我必须记录在Google Cloud SQL PostgreSQL实例上执行的所有DDL和DML查询。
我检查了很多网站,但是没有明确的信息。我尝试使用pgAudit
扩展名,但Cloud SQL不支持该扩展名。
有人可以建议使用扩展名还是其他任何记录SQL查询的方式?另外,如果可以登录用户登录名,那也将有所帮助。
添加postgresql.conf
:
log_statement=mod
https://www.postgresql.org/docs/12/runtime-config-logging.html说
记录所有ddl语句,以及修改数据的语句,例如INSERT,UPDATE,DELETE,TRUNCATE和COPY FROM。准备,执行和如果包含的命令也记录EXPLAIN ANALYZE语句是适当的类型。
要记录连接和断开连接,请添加postgresql.conf
:
log_connections=on
log_disconnections=on
简短回答-数据库标志
如果在本地安装了PostgreSQL或我们可以访问服务器容器,则可以使用以上答案中提供的解决方案。但是,在Google Cloud中,无法从实例直接访问此文件。
[我发现可以通过设置此链接中给定的各种参数-PostgreSQL configuration parameters作为数据库标志来在Google Cloud SQL实例上实现。
注意:不支持所有参数,因此请在下面的Google官方文档中进行验证。