【发布时间】:2019-07-25 22:19:06
【问题描述】:
我正在尝试使用使用 psycopg2 连接到 PostgreSql 的 Python 运行查询。我能够连接,但无法运行以“grant select on ...”开头的权限查询
我已尝试执行常规的“从列限制 1 中选择 *”以查看是否建立了连接以及我是否能够进行常规查询。我已经尝试过“向用户授予选择视图”但没有工作。
permissions = "grant select on view_activities to username;"
try:
cur.execute(permissions)
contents = "The permissions have been run"
message = twilioCli.messages.create(body = contents, from_=twil, to = me)
except:
contents = "The permissions have failed"
message = twilioCli.messages.create(body = contents, from_=twil, to = me)
预期结果是收到一条说明“权限已运行”的文本消息,这表明此查询已正常运行。但是,我得到的是第二个结果“权限失败”,这表明查询没有正确运行。我的理论是 postgres 无法运行 Python 的“grant select...”语法。
【问题讨论】:
-
我过去曾使用 psycopg2 运行过类似的查询,您是否可以尝试禁用异常处理或仅打印引发的确切执行,然后编辑您的答案(也可以在下面标记我的用户名时发表评论)这样我就知道了)。一旦您收到异常消息,我将能够提供帮助。
-
@Yankee 我打印出异常,我相信它说“psycopg2.ProgrammingError: no results to fetch”。似乎没有返回任何内容,因此行一无所获。这就是破坏它的原因吗?查询不必总是返回一些东西,因为我们可以创建/插入/更新表而不必返回行。不知道如何让这个授予权限查询运行
标签: python sql postgresql amazon-redshift navicat