複数のスレッド間でpsycopg2接続を共有しようとしています。ドキュメントで言及したように、私は新しいスレッドで使用するたびに共有接続から新しいカーソルオブジェクトを作成することでこれをやっています。実行した後Psycopg2同時実行の問題
def delete(conn):
while True:
conn.commit()
def test(conn):
cur = conn.cursor()
thread.start_new_thread(delete,(conn,))
i = 1
while True:
cur.execute("INSERT INTO mas(taru,s) values (2,%s)",(i,))
print i
i = i +1
conn.commit()
、私はここで何が起こっている
1
2
...
98
99
Traceback (most recent call last):
File "postgres_test_send.py", line 44, in <module>
cur.execute("INSERT INTO mas(taru,s) values (2,%s)",(i,))
psycopg2.InternalError: SET TRANSACTION ISOLATION LEVEL must be called before any query
、のような出力を得ますか?
インデントを修正してください。最初にこのコメントのすぐ上にある「編集」リンクをクリックします。次に、コードを正しく入力します。次にすべてを選択して、入力ボックスの上部に表示される '{}'ボタンを押します。これは、すべての行を4つのスペースでインデントし、正しい書式のコードを生成します。私はあなたのためにそれをするだろうが、私は正しいインデントが何であるかは分からない。 – senderle
チップをありがとう。私はコードを修正した – Phani