我正在开始一些新项目,想知道 pg8000 是否被认为是生产项目的不错选择?
显然 Python 和 PostgreSQL 是成熟的产品,但我对 pg8000 的成熟度和性能都很担心。我的数据库访问会受到影响还是可以接受?
所以,请在回答我的问题时有一定的自由度。 pg8000准备好了吗?在编写以数据库为中心的程序时,使用 Python DBAPI 2.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
并简单地尝试一下。如果所有驱动程序都能正常工作并且性能良好,那么请离开这些驱动程序。如果其中一个驱动程序无法工作,或者性能不佳,请在您的代码中对其进行注释并禁用它。对于超过 2 个驱动程序,我会更改示例中的代码并创建某种具有驱动程序和连接功能的字典。
关于performance - 新项目 Python 3x PostgreSQL 9x 和 pg8000 1x DBAPI?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3598917/