是否可以在Postgresql中为特定数据库设置单独的日志文件?

前端之家收集整理的这篇文章主要介绍了是否可以在Postgresql中为特定数据库设置单独的日志文件?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
更新
我的意思是每个数据库可以有多个日志文件吗?可能不是,但我很好奇是否有任何可能与 Postgresql一样开箱即用,或者如果您需要第三方产品或构建自己的应用程序来执行此操作.

我从另一个thread看到你可以这样做:

ALTER DATABASE your_database_name
SET log_statement =’all’;

我正在查看在线文档,我找到了logging链接

有:

log_filename(string)
启用logging_collector时,此参数设置创建的日志文件文件名.该值被视为strftime模式,因此%-escapes可用于指定时变文件名. (请注意,如果存在任何与时区相关的%-escape,则计算在log_timezone指定的区域中完成.)支持的%-escape类似于Open Group的strftime规范中列出的那些.请注意,系统的strftime不是直接使用的,因此特定于平台的(非标准)扩展不起作用.默认值为postgresql-%Y-%m-%d_%H%M%S.log.

如果指定不带转义的文件名,则应计划使用日志轮换实用程序以避免最终填满整个磁盘.在8.4之前的版本中,如果没有%转义存在,Postgresql会追加新日志文件创建时间的纪元,但现在不再是这样了.
如果在log_destination中启用了CSV格式输出,则.csv将附加到带时间戳的日志文件名,以创建CSV格式输出文件名. (如果log_filename以.log结尾,则替换后缀.)

此参数只能在postgresql.conf文件或服务器命令行中设置.

Boo,有没有办法只为服务器上的某个特定数据库设置日志记录?

您可以设置全局log_statement = none.然后为特定的数据库

ALTER DATABASE my_db_name set log_statement =’all’

我在全局配置中也有这个,所以日志文件显示了db名称用户.log_line_prefix =’< %m%d%u>‘

猜你在找的Postgre SQL相关文章