Redshift查询不适用于Psycopg2

时间:2019-03-25 16:17:41

标签: python amazon-redshift psycopg2

我正在创建一个Python脚本来与Redshift上的模式权限(和相对表)进行交互。正如其他StackOverflow帖子中所建议的那样,我正在使用psycopg2库。

当我尝试执行一些简单的--registry=https://sencha.myget.org/F/community/npm/查询时,我没有问题:我可以执行并看到没有问题的结果。

例如,当我尝试创建新架构或授予​​/撤消权限时,就会出现问题。这种查询看起来不会产生任何效果。

在这里,我展示了一个非常简单的示例,其中我试图创建一个新的模式:

SELECT FROM

但是,当我查看Redshift数据库时,没有看到任何名为conn_string = "dbname='{}' port='{}' host='{}' user='{}' password='{}'".format(DB_NAME, DB_PORT, DB_HOST, DB_USER, DB_PWD) con = psycopg2.connect(conn_string) sql = "CREATE SCHEMA new_schema" cur = con.cursor() cur.execute(sql) 的新模式。当我尝试运行一些权限授予/吊销查询时,也会发生相同的行为。

有人知道发生了什么事吗?

1 个答案:

答案 0 :(得分:1)

您必须提交交易。

con = psycopg2.connect(conn_string)

sql = "CREATE SCHEMA new_schema"
cur = con.cursor()
cur.execute(sql)
con.commit()