【问题标题】:I am not able to create table from SQL Workbench in Redshift whereas I am able to create table using Python from Jupyter我无法从 Redshift 中的 SQL Workbench 创建表,而我可以使用 Jupyter 中的 Python 创建表
【发布时间】:2017-07-14 06:19:02
【问题描述】:

我是这个论坛的新手,但我是这个论坛的狂热用户。

我想在 Redshift 中以特定模式创建一个表,但无法从 SQL Workbench 执行此操作,但同时,如果我从 Python 发送相同的查询,则同一个表正在更新。

有人可以帮我解决这个问题吗?

SQL 代码如下:-

CREATE TABLE 模式名.表名 ( 一个浮点数(53), b 浮点数(53) );

Python 代码如下:-

df = pd.DataFrame(np.random.randn(10,5),columns=['a','b','c','d','e'])
print(df)

ONN_STR = "postgresql+psycopg2://redshift URL" 
red_engine =create_engine(CONN_STR)


df.to_redshift(table_name="table_name", schema ='schema_name',                   #engine=red_engine,s3_bucket="",s3_keypath="",                 if_exists='replace',index=False)

请指导我在 SQL Workbench 中哪里做错了?

【问题讨论】:

  • 您能否提供更多有关在 SQL Workbench 中运行 create 语句时发生的情况的详细信息,例如有错误信息吗?
  • 是的,每当我尝试通过 SQL Workbench 创建表时,我都会收到 - 错误:模式 rsds_gpa 1 语句的权限被拒绝。但同样的操作正在通过我的 Python 代码执行。
  • 这对我来说似乎是一个非常明显的错误 - 听起来您在 SQL Workbench 中连接的用户与在 Python 中的用户不同,并且 SQL Workbench 用户没有足够的权限来创建指定架构中的表。
  • @Nathan 我正在通过相同的登录凭据访问 SQL Workbench,但它仍然不允许我这样做

标签: python mysql sql amazon-redshift sql-workbench-j


【解决方案1】:

在最后一条语句中使用以下代码:

df.to_sql("table_name", connectionname, index=False ,if_exists="replace")

【讨论】:

  • 问题是关于为什么查询in SQL Workbench 不起作用。 python 代码显然工作正常。
  • SQL Workbench /J.. 连接具有与之关联的架构(数据库)。所以我们看不到除了默认的其他模式表。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多