我正试图从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
的其他查询工作(SELECT, INSERT
)。
答案 0 :(得分:16)
在关闭连接之前尝试提交:
cur.close()
conn.commit()
conn.close()
请注意,先关闭连接而不提交更改 将导致任何挂起的更改被丢弃,就像ROLLBACK一样 执行(除非选择了不同的隔离级别:请参阅 set_isolation_level())。