我正在开始一些新的项目,想知道pg8000是否被认为是一个生产项目的好选择?
很明显,Python和PostgreSQL是成熟的产品,但我担心pg8000在成熟度和性能方面都会出现问题。我的数据库访问会受到影响还是可以接受?
所以,请你在回答我的问题时留点余地。pg8000准备好了吗?在编写以数据库为中心的程序时,使用PythonDBAPI2.0规范进行完全访问会有问题吗?
我知道像这样的问题总是被问到,但我确实找了,找不到任何与pg8000有关的最新信息。显然,考虑到相关技术的发布,几个月后的任何答案都不会是最新的。
最佳答案
我认为你应该试着让你的程序驱动“独立”。它应该可以与任何PostgreSQL DBAPI 2.0驱动程序一起工作。唯一的区别在于导入部分和建立数据库连接。这可能看起来像:
use_pgdb = 0
try:
import pgdb
use_pgdb = 1
except:
try:
import psycopg2
except:
raise exceptions.ImportError('No PostgreSQL library, install psycopg2 or PyGres!')
if use_pgdb:
_CONN = pgdb.connect(connect_string)
else:
_CONN = psycopg2.connect(dsn)
添加到这个“链”的驱动程序
pg8000
和简单的尝试。如果所有的司机都能工作并且表现良好,那就离开那些司机。如果其中一个驱动程序无法工作,或者性能不佳,请在代码中对其进行注释并禁用它。对于两个以上的驱动程序,我会修改示例中的代码,并创建带有驱动程序和连接函数的字典。关于performance - 新项目Python 3x PostgreSQL 9x和pg8000 1x DBAPI?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3598917/