Postgres 以编程方式打开 log_statement
我想打开修改数据库的所有 SQL 语句的日志记录。我可以通过在配置文件中设置 log_statement 标志来在我自己的计算机上获得该功能,但需要在用户的计算机上启用它。如何从程序代码中启用它? (如果重要的话,我将 Python 与 psycopg2 一起使用。)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
可以通过以下方式打开修改数据库的 SQL 语句的日志记录:
这需要超级用户访问权限。
请查看以下文档链接以了解更多详细信息:
Turning on logging of SQL statements that modify the database can be achieved by:
This requires superuser access rights.
Check hereafter links to documentation for more details:
“它需要在用户的计算机上启用”这句话确实令人困惑......我假设您的意思是“从用户(客户端)端”。
在 Postgresql 中,一些服务器运行时参数可以从连接,但仅来自超级用户 - 并且仅适用于不需要重新启动服务器的设置。
我不确定这是否包括许多日志选项。您可以尝试使用以下内容:
其中
log_XXX
将被相应的 日志记录设置,以及'false
' 为您要设置的值。如果这不起作用,我想你运气不好。
The "it needs to be enabled on the user's machine" phrase is confusing, indeed... I assume you mean "from the user (client) side".
In Postgresql some server run-time parameters can be changed from a connection, but only from a superuser - and only for those settings that do not require a server restart.
I'm not sure if that includes the many log options. You might try with something like:
where
log_XXX
is to be replaced by the respective logging setting, and'false
' by the value you want to set.If that does not work, I guess you are out of luck.