如何记录PostgreSQL查询?

如何记录PostgreSQL查询?

如何启用PostgreSQL 8.3执行的所有SQL的日志记录?

编辑(更多信息) 我更改了这些行:

log_directory = 'pg_log'                 
   log_filename = 'postgresql-%Y-%m-%d_%H%M%S.log'log_statement = 'all'

并重新启动PostgreSQL服务...但没有创建日志...我正在使用Windows Server 2003。

有任何想法吗?


江户川乱折腾
浏览 1066回答 3
3回答

森栏

在您的data/postgresql.conf文件中,将log_statement设置更改为'all'。编辑查看您的新信息,我会说可能还有一些其他设置需要验证:确保你已打开log_destination变量确保你打开 logging_collector还要确保log_directory目录中已存在该data目录,并且postgres用户可以写入该目录

芜湖不芜

编辑您的/etc/postgresql/9.3/main/postgresql.conf,并按如下方式更改行。注意:如果找不到该postgresql.conf文件,则只需键入$locate postgresql.conf终端即可#log_directory = 'pg_log' 至 log_directory = 'pg_log'#log_filename = 'postgresql-%Y-%m-%d_%H%M%S.log' 至 log_filename = 'postgresql-%Y-%m-%d_%H%M%S.log'#log_statement = 'none' 至 log_statement = 'all'#logging_collector = off 至 logging_collector = on可选:SELECT set_config('log_statement', 'all', true);sudo /etc/init.d/postgresql restart 要么 sudo service postgresql restartpostgresql中的fire查询 select 2+2查找当前登录 /var/lib/pgsql/9.2/data/pg_log/日志文件往往会在一段时间内增长很多,并且可能会杀死您的计算机。为了您的安全,请编写一个bash脚本,该脚本将删除日志并重新启动postgresql服务器。

偶然的你

SELECT set_config('log_statement', 'all', true);具有相应的用户权限可以在连接后使用上面的查询。这将影响日志记录,直到会话结束。
打开App,查看更多内容
随时随地看视频慕课网APP