-1

私は Postgresql 9.1 サーバーを持っており、Python でいくつかの関数を書きたいと思っています。

plpyまたはの2 つの方法がありますpsycopg2。私にとって、plpy で関数を書くことは悪夢のようなもので、多くの「準備」と「実行」メソッドが... より快適に使用できますpsycopg2が、効率が気になります。

サーバーでpsycopg2を使用するのは正しいですか?

4

2 に答える 2

4

それらは2つの異なるものです。plpy (PL/Python) は PLpgSQL のようなストアド プロシージャ言語であり、psycopg2 は Python コードが PostgreSQL データベースにアクセスできるようにするクライアント ライブラリです。PL/Python では、データベースに接続してから、データベースから関数を呼び出す必要があります。psycopg2 では、Python コードを記述してデータベースを呼び出します。PostgreSQL 自体から実行する Python 関数を作成するという特定の要件がない限り、pysocpg2 を使用してください。

于 2012-08-07T18:23:22.727 に答える
3

私にとって、plpyで関数を書くことは悪夢のようなものです

あなたはすでに決心しています。pl/python を使用している場合でも、コードのバグは言語またはその環境に起因します。しばらくすると、pl/python コードを放棄して、いつも望んでいた方法で再実装できるようになります*

その優れた点は、ジムが上で述べたように、2 つのインターフェースがまったく異なることを行うことです。一方は単一のトランザクション内でデータベース内で実行され、もう一方は通常のクライアント コードとして外部で実行されます。2 つの言語のユース ケースに重複はほとんどありません。どちらが「良い」か「悪い」かを考えているうちに、なんとなくそれを見落としてしまいますが。

*私たちは皆、プログラミングに対する偏見を持っていますが、それらを大胆に述べて質問を始めることにあまり意味があるかどうかはわかりません。

于 2012-08-07T19:48:22.873 に答える