【问题标题】:psycopg2 does not execute PostgreSQL functionpsycopg2 不执行 PostgreSQL 函数
【发布时间】:2011-11-13 11:43:36
【问题描述】:

我正在尝试从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)。

【问题讨论】:

    标签: python postgresql psycopg2


    【解决方案1】:

    在关闭连接之前尝试提交:

    cur.close()
    conn.commit()
    conn.close()
    

    来自psycopg2 documentation

    请注意,关闭连接而不先提交更改 将导致任何挂起的更改被丢弃,就好像 ROLLBACK 是 执行(除非选择了不同的隔离级别:请参阅 set_isolation_level())。

    【讨论】:

      猜你喜欢
      • 2014-06-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多