加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-13 16:24:10 所属栏目:百科 来源:网络整理
导读:更新 我的意思是每个数据库可以有多个日志文件吗?可能不是,但我很好奇是否有任何可能与 Postgresql一样开箱即用,或者如果您需要第三方产品或构建自己的应用程序来执行此操作. 我从另一个thread看到你可以这样做: ALTER DATABASE your_database_name SET lo
更新
我的意思是每个数据库可以有多个日志文件吗?可能不是,但我很好奇是否有任何可能与 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>‘

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读