performance - 新项目 Python 3x PostgreSQL 9x 和 pg8000 1x DBAPI?

标签 performance postgresql python-3.x python-db-api

我正在开始一些新项目,想知道 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/

相关文章:

java - 将子类转换为真正的高性能父类(super class)

postgresql - PostgreSQL 模式的命名空间版本以实现向后兼容性?

java - HQL diff 2 以天为单位的日期

postgresql - PostgreSQL-将数据从松散类型的登台表移动到强类型的最终表-并捕获错误

python - 通过python计算文本文件中的单词

Python argparse : Mutually exclusive group where one or the other are required

python - Tkinter 如何绑定(bind)到 shift+tab

SQL:有效地将增量数字附加到字符串,避免重复

visual-studio-2008 - Visual Studio 数据集设计器保存速度非常慢

mysql索引速度