web-dev-qa-db-ja.com

Psycopg2とは正確には何ですか?

この質問は、私が学校向けに書いているレポートに対するものです。技術的には、Psycopg2とは何ですか? このチュートリアル では、「アダプタ」と「ドライバ」の両方を参照しています

Psycopg2は、DB API 2.0準拠のPostgreSQLドライバーであり、積極的に開発されています。マルチスレッドアプリケーション用に設計されており、独自の接続プールを管理します。 adapterの他の興味深い機能は、PostgreSQL配列データ型を使用している場合、Psycopgがそのデータ型を使用して結果をPythonリストに自動的に変換することです。

それはPythonにimportedされているので、ライブラリだったのではないでしょうか?

ライブラリ、ドライバー、アダプターの違いは何ですか?

8
Celeritas

psycopg2はCで記述された libpq のラッパーであり、 Python DB-API 互換APIをPythonに公開します。 =プログラム。これはlibpq関数を呼び出すCのPythonオブジェクトを実装します。それをロードするための薄いラッパーPythonモジュールラッパーがあり、純粋なPythonで記述しやすいインターフェース機能の一部を提供します。

外部データベースに接続するためにDB-APIを実装するものはすべて、データベースドライバーまたはデータベースアダプターと呼ぶことができます。 2つはかなり交換可能です。すべてのDB-API実装はPythonモジュールです。Pythonモジュールはプログラミング言語ライブラリであり、再利用可能なコードのコレクションです。一部はまた、C共有ライブラリは、cPython実行可能ファイルにリンクされるコンパイル済みのCコードです。

9
Craig Ringer