2016-06-28 5 views
0

psycopg2を使用してユーザのパスワードを更新すると、正常に実行されたように見えますが、パスワードは変更されません。psycopg2を使用してユーザパスワードを変更できない

conn = psycopg2.connect("dbname='my_db' user='my_user' host='localhost' password='dbpass'") 

cur = conn.cursor() 

update_password_query = """ALTER USER my_user WITH PASSWORD %(password)s""" 
cur.execute(update_password_query, {"password": new_password}) 

実行文はNoneを返し、成功したクエリのために期待されている:

はここで私が使用しているコードです。私は変更が固執してもらうために実行した後

conn.commit() 

を行うために必要なよう

答えて

0

が見えます。ドキュメントhttp://initd.org/psycopg/docs/connection.htmlから

(コミット) は、データベースに保留中のトランザクションをコミットします。

デフォルトでは、Psycopgは最初のコマンドを実行する前にトランザクションを開きます.commit()が呼び出されないと、データ操作の効果は失われます。

接続は「自動コミット」モードでも設定できます。トランザクションは自動的に開きません。コマンドはすぐに有効になります。

またUse python to execute line in postgresql

を見ます
関連する問題