使用pygresql操作postgresql

关于pygresql的使用这里就不多介绍了。 这里想要说的是用pygresql插入有bytea字段的数据库表中应该注意的一些问题

关于bytea在postgresql的文档中有详细的说明,pygresql中使用的话看起来好像调用一下escape_bytea函数就可以了,但是,在实验中发现直接做是不可以的。通过看pygresql的_pg模块的源代码以及反复的实验,刚才通过下面的方法解决了问题。 至于问题产生的原因以及真正解决的方法,要再看源代码,继续试验了。

patch=re.compile("\\\\")
data=pgdb.escape_bytea(data)
data=patch.sub("\\\\\\\\",data)



掌握python的扩展还是很有必要的,希望能看懂_pg模块的实现,并以此来初步掌握python的扩展。