这个问题是针对我正在为学校写的报告。从技术上讲,什么是 Psycopg2?在本教程中,他们将其称为“适配器”和“驱动程序”
Psycopg2 是一个积极开发的符合 DB API 2.0 的 PostgreSQL驱动程序。它专为多线程应用程序而设计,并管理自己的连接池。该适配器的其他有趣特性是,如果您使用 PostgreSQL 数组数据类型,Psycopg 会自动将使用该数据类型的结果转换为 Python 列表。
既然它被import
编入 Python,我会客串它是一个库吗?
库、驱动程序和适配器之间有什么区别?
psycopg2
libpq
是一个用 C 编写的包装器,用于向 Python 程序公开与Python DB-API兼容的 API。它在 C 中实现调用libpq
函数的 Python 对象。它有一个薄的 Python 模块包装器来加载它并提供一些更容易用纯 Python 编写的接口功能。任何实现 DB-API 以连接到外部数据库的东西都可以合理地称为数据库驱动程序或数据库适配器。两者几乎可以互换。任何 DB-API 实现都必须是 Python 模块。Python 模块是编程语言库,因为它们是可重用代码的集合。有些也是 C 共享库,因为它们是编译后的 C 代码,链接到 cPython 可执行文件。