Psycopg2 究竟是什么?

Cel*_*tas 10 postgresql python

这个问题是针对我正在为学校写的报告。从技术上讲,什么是 Psycopg2?在本教程中,他们将其称为“适配器”和“驱动程序”

Psycopg2 是一个积极开发的符合 DB API 2.0 的 PostgreSQL驱动程序。它是为多线程应用程序设计的,并管理自己的连接池。适配器的其他有趣功能是,如果您使用 PostgreSQL 数组数据类型,Psycopg 会自动将使用该数据类型的结果转换为 Python 列表。

既然它被import编入了 Python,我会认为它是一个库吗?

库、驱动程序和适配器之间有什么区别?

Cra*_*ger 10

psycopg2是一个libpq用 C 编写的围绕 的包装器,用于向 Python 程序公开Python DB-API兼容的 API。它在 C 中实现了调用libpq函数的Python 对象。它有一个围绕它的薄 Python 模块包装器来加载它并提供一些更容易用纯 Python 编写的接口功能。

任何实现 DB-API 以连接到外部数据库的东西都可以合理地称为数据库驱动程序数据库适配器。两者几乎可以互换。任何 DB-API 实现都必须是 Python 模块。Python 模块是编程语言库,因为它们是可重用代码的集合。有些也是 C 共享库,因为它们是编译后的 C 代码,这些代码链接到 cPython 可执行文件中。