2024-04-28 20:26:05 发布
网友
我看到了很多针对python的postgresql模块,比如pygresql、pypgsql、psyco。其中大多数是符合PythonDBAPI2.0的,有些已经不再积极开发了。 你推荐哪个模块?为什么?
以我的经验,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看起来不错,有一种更直接的方法可以用这个库查询数据库。但我不知道这个有多稳定。
以我的经验,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看起来不错,有一种更直接的方法可以用这个库查询数据库。但我不知道这个有多稳定。
相关问题 更多 >
编程相关推荐