PyGreSQL与psycopg2的比较

13

这两个API有什么区别呢?哪一个在使用Python DB API时更快、更可靠?

更新: 我注意到Django有两个用于PostgreSQL的驱动程序。第一个是psycopg2。 第二个是什么?是pygresql吗?


1
Django的第二个PostgreSQL驱动程序被称为postgresql,但实际上它是psychopg1 - 因此在Django中您可以选择使用psychopg的版本1或版本2。 - stw_dev
5个回答

5
就此而言,Django使用psycopg2。

Django中有两个psql驱动程序,最受欢迎的是psycopg2,但第二个驱动程序是什么?它是pygresql驱动程序吗? - maxp

4

"PyGreSQL只使用Python编写,易于部署但速度较慢。"

PyGreSQL还包含一个C编码模块。我没有进行速度测试,但它们不太可能有很大的区别,因为真正的工作将在数据库服务器内部发生。


1
你不能在机器上安装其他的postgres库(例如pg_config)而不运行“pygresql”,因此它不是“纯Python”。 - Joseph Lust

2

Psycopg2文档很少,但示例目录中的代码非常有用。
此外,它是线程安全级别2,这意味着多个线程可以共享模块和连接,但不共享游标。
Python DBI PEP


2

许可证可能会成为您的问题。PyGreSQL是MIT许可证,而Psycopg2是GPL许可证。

只要您通过正常方式从Python访问psycopg2,没有内部API和直接的C调用,这不应该给您带来任何麻烦,并且您可以在任何许可证下发布您的代码 - 但我不是律师。


8
psycopg2采用LGPL许可证,而非GPL许可证。 - Nick Zalutskiy

0

psycopg2部分是用C语言编写的,因此您可以期望获得更好的性能,但另一方面,安装可能会有些困难。PyGreSQL仅使用Python编写,易于部署但速度较慢。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接