在Windows上使用psycopg2我收到了不需要的调试消息

时间:2013-07-31 21:04:38

标签: python windows command-line psycopg2

everybuddy。

我已经从网站http://www.stickpeople.com/projects/python/win-psycopg/中找到的psycopg2-2.5.1.win32-py2.6-pg9.2.4-release.exe软件包中安装了psycopg2。 我可以导入它并连接到数据库,但是当我在命令行上运行我的脚本(标准和Cygwin)时,我会将不需要的消息打印到stderr。

例如:

conn = psycopg2.connect(host="42.42.42.42", port=5432, database="myDB", user="myUser", password="********")
if conn is None:
    sys.exit("Connection failed")
print "Connection successful"

打印以下内容:

DEBUG:  CommitTransaction
DEBUG:  name: unnamed; blockState:       STARTED; state: INPROGR, xid/subid/cid: 0/1/0, nestlvl: 1, children:
Connection successful

我一直无法关闭这些消息。我在谷歌搜索但找不到任何相关内容,我也尝试更改标准日志记录模块的配置,以防其中一些被使用,但仍无济于事。

有人知道如何阻止此消息吗?

提前致谢!

2 个答案:

答案 0 :(得分:1)

看起来这个构建是使用PSYCOPG_DEBUG标志设置的,在查看http://www.stickpeople.com/projects/python/win-psycopg/处的表后不应该是发布版本的情况(注意最后一列Debug Build (--define PSYCOPG_DEBUG)) 。但是,您似乎设置了PSYCOPG_DEBUG环境变量。如果是这种情况,那么取消设置应该会阻止发出这些调试消息。

来自psycopg2.txt

  

创建调试版本

     

如果出现问题,可以将Psycopg配置为发出详细的调试   消息,对诊断和报告非常有用   错误。为了创建调试包:

     
      
  • 下载并解压缩Psycopg源包。

  •   
  • 编辑“setup.cfg”文件,将“PSYCOPG_DEBUG”标志添加到“define”选项中。

  •   
  • 编译并安装包。

  •   
  • 设置“PSYCOPG_DEBUG”变量:

         

    $ export PSYCOPG_DEBUG = 1

  •   
  • 运行您的程序(确保导入的“psycopg2”软件包是您刚刚编译的软件包而不是系统软件包):您将执行   在stdout上印有大量的信息。

  •   

答案 1 :(得分:0)

这些消息来自Postgres本身。第二个是DEBUG3 模块backend/access/transam/xact.c中的消息。我看看 您postgresql.conf中的日志记录设置。