如何将Amazon Redshift连接到python

vih*_*tti 9 python amazon-web-services amazon-redshift

这是我的python代码,我想将我的Amazon Redshift数据库连接到Python,但它在主机中显示错误.

谁能告诉我正确的语法?我是否正确传递了所有参数?

con=psycopg2.connect("dbname = pg_table_def, host=redshifttest-icp.cooqucvshoum.us-west-2.redshift.amazonaws.com, port= 5439, user=me, password= secret")
Run Code Online (Sandbox Code Playgroud)

这是错误:

OperationalError:无法翻译主机名"redshift://redshifttest-xyz.cooqucvshoum.us-west-2.redshift.amazonaws.com",以解决:未知主机

Joh*_*ein 24

您似乎希望从Python代码运行Amazon Redshift查询.

您想要使用的参数是:

  • dbname:这是您在Database name创建集群时在字段中输入的数据库的名称.
  • user:这是您在Master user name创建群集时在字段中输入的.
  • 密码:这是您在Master user password创建群集时在字段中输入的.
  • host:这是Redshift管理控制台中提供的端点(最后没有端口):redshifttest-xyz.cooqucvshoum.us-west-2.redshift.amazonaws.com
  • 港口: 5439

例如:

con=psycopg2.connect("dbname=sales host=redshifttest-xyz.cooqucvshoum.us-west-2.redshift.amazonaws.com port=5439 user=master password=secret")
Run Code Online (Sandbox Code Playgroud)

  • 啊! 是逗号。我的例子错了。参见 [The psycopg2 模块内容](http://initd.org/psycopg/docs/module.html),有两种格式——一种是不带逗号的长字符串,另一种是用逗号分隔的单个参数。所以,从你的字符串中删除逗号,看看会发生什么。 (2认同)