Python PostgreSQL模块。哪个最好?

2024-04-28 20:26:05 发布

您现在位置:Python中文网/ 问答频道 /正文

我看到了很多针对python的postgresql模块,比如pygresql、pypgsql、psyco。其中大多数是符合PythonDBAPI2.0的,有些已经不再积极开发了。 你推荐哪个模块?为什么?


Tags: 模块postgresqlpsycopygresqlpypgsql
3条回答

以我的经验,psycopg2是最常用的库。正如您所说,它符合DB API 2.0,wich提供了一个可靠的接口。

对于那些觉得标准API有点过于冗长和难以使用的人,我制作了一个小库,可能会有帮助:

https://github.com/hugollm/rebel

psycopg2似乎是最受欢迎的。我从来没有遇到过任何麻烦。实际上PostgreSQL也有一个纯Python接口,叫做bpgsql。我不推荐它胜过psycopg2,但它最近已经足够支持Django了,如果您不能编译C模块,它会很有用。

我建议Psycopg不要Psycopg2,因为第一个看起来更黑一些。至少以我的经验来看。我有一个24/7运行的应用程序,有时我从Psycopg2得到随机内存崩溃(两次释放或损坏错误)。由于不是Python错误而是C错误,所以我无法快速或轻松地进行调试。我刚换了Pyscopg,之后就没有撞车。

另外,正如在另一篇文章中所说,bpgsql似乎是一个很好的选择。因为不需要编译,所以它稳定且易于使用。唯一不好的一面是库不是线程安全的。

Pygresql看起来不错,有一种更直接的方法可以用这个库查询数据库。但我不知道这个有多稳定。

相关问题 更多 >