You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

QT 5.15通过QODBC连接Postgres 9.6时如何禁用日志文件生成?

问题描述

基于Linux平台的QT 5.15应用,通过QSqlDatabase使用QODBC驱动连接Postgres 9.6数据库时,应用目录下会自动生成名为app-process-id.log的日志文件,日志内容如下:

conn=0x78be4c043a50, PGAPI_DriverConnect( in)='DRIVER={psqlodbcw.so};Server=localhost;Port=5432;Database=TEST_DB;Uid=postgres;Pwd=1;Debug=0;FileUsage=1;Trace=0;CommLog=0;MyLog=0;', fDriverCompletion=0

修改Postgres配置文件无法解决该问题,怀疑日志由ODBC驱动生成,需要禁用该日志文件的生成。

解决方法
  • 调整ODBC连接字符串参数
    该日志由PostgreSQL ODBC驱动的FileUsage参数控制,当前连接字符串中FileUsage=1会触发驱动生成相关文件。将其修改为FileUsage=0即可禁用该日志:

    DRIVER={psqlodbcw.so};Server=localhost;Port=5432;Database=TEST_DB;Uid=postgres;Pwd=1;Debug=0;FileUsage=0;Trace=0;CommLog=0;MyLog=0;
    
  • 设置环境变量强制禁用
    如果调整连接字符串后仍生效,可通过设置环境变量PGODBC_NO_FILE_USAGE=1强制驱动关闭文件使用功能。可以在启动应用前执行:

    export PGODBC_NO_FILE_USAGE=1
    ./你的QT应用程序名
    

    或者将该环境变量添加到应用的启动脚本中。

  • 检查驱动版本
    若上述方法无效,可能是使用的psqlodbcw.so版本存在参数兼容问题,建议升级到与Postgres 9.6匹配的最新ODBC驱动版本(注意保持版本兼容性)。

内容的提问来源于stack exchange,提问作者Sergey

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.05 01:51:07