我尝试从psycopg2
调用函数,如下所示:
conn = psycopg2.connect(host="name.host.ex", user="username", password="secret")
cur = conn.cursor()
cur.callproc("f_do_action", ["aaa", "bbb"])
cur.close()
conn.close()
当从
psql
调用此函数时,一切正常,但使用psycopg2
似乎什么都没有发生。我也不例外。它只是不调用实际数据库上的函数。还有来自
psycopg2
work(SELECT, INSERT
)的其他查询。 最佳答案
请在关闭连接之前尝试提交:
cur.close()
conn.commit()
conn.close()
从psycopg2 documentation开始:
请注意,在不先提交更改的情况下关闭连接
将导致放弃任何挂起的更改,如同回滚是
执行(除非选择了不同的隔离级别:请参见
设置_isolation_level())。
关于python - psycopg2不执行PostgreSQL函数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8111278/