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
我一直无法关闭这些消息。我在谷歌搜索但找不到任何相关内容,我也尝试更改标准日志记录模块的配置,以防其中一些被使用,但仍无济于事。
有人知道如何阻止此消息吗?
提前致谢!
答案 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
中的日志记录设置。