Postgres 以编程方式打开 log_statement

rwa*_*ace 2 postgresql logging psycopg2

我想打开修改数据库的所有 SQL 语句的日志记录。我可以通过在配置文件中设置 log_statement 标志来在我自己的计算机上获得该功能,但需要在用户的计算机上启用它。如何从程序代码中启用它?(如果重要的话,我将 Python 与 psycopg2 一起使用。)

Pat*_*ini 9

打开修改数据库的 SQL 语句的日志记录可以通过以下方式实现:

ALTER SYSTEM SET log_statement TO 'mod';

-- Make it effective by triggering configuration reload (no server restart required).
SELECT pg_reload_conf();
-- To make sure the modification is not limited to the current session scope
-- it is better to log out from postgresql and log back in.

-- Check value of log_statement configuration, expected: mod
SELECT * FROM pg_settings WHERE name = 'log_statement';
Run Code Online (Sandbox Code Playgroud)

这需要超级用户访问权限。

检查以下文档链接以获取更多详细信息: