psycopg2を使用してpsql dbで複数のクエリを実行する際に問題があります。例:psycopg2は複数のクエリを実行できません
#!/usr/bin/env python
#-*- coding: utf-8 -*-
import psycopg2
from psycopg2.extras import RealDictCursor
def CreateUser(user, mySchema):
conn = psycopg2.connect("dbname='postgres' user='root' password='somePassword' host='localhost'")
cur = conn.cursor()
cur.execute("""create user %s""" % (user))
conn.commit()
cur.close()
conn.close()
CreateSchema(user, mySchema)
def CreateSchema(user, mySchema):
conn = psycopg2.connect("dbname='postgres' user='root' password='somePassword' host='localhost'")
cur = conn.cursor()
cur.execute("""create schema %s authorization %s """ % (user,mySchema))
conn.commit()
cur.close()
conn.close()
def FetchUserInput():
userInput = raw_input("UserName")
mySchema = raw_input("SchemaName")
CreateUser(userInput, mySchema)
FetchUserInput()
この場合、2番目のクエリは、以前作成したユーザーが存在しないというエラーで失敗します。 CreateUser関数のみを実行すると正常に動作します。 psqlで手動で実行するとうまくいきます。
As私がCreateSchema関数内で2番目の接続を開いたときにデータベースで最初のコミットが実行されない場合は意味がありません。
私は間違っていますか?
ああ、イエス・キリストを存在する場合、スキーマを作成します。どうも。脳のおなら – py9