如何将 redshift 数据库连接到在 ec2 实例上运行的 bash 脚本

Posted

技术标签:

【中文标题】如何将 redshift 数据库连接到在 ec2 实例上运行的 bash 脚本【英文标题】:how to connect redshift database to a bash script running on ec2 instance 【发布时间】:2021-05-20 10:04:54 【问题描述】:

我有几个 sql 查询,我想针对 amazon redhshift 运行它们,基本脚本将在我的 ec2 实例上并从那里触发。如何提供与数据库的连接并运行一堆 sql 脚本?请指导

【问题讨论】:

docs.aws.amazon.com/redshift/latest/mgmt/… - 当我用谷歌搜索“redshift sql from shell”时的第一个结果 【参考方案1】:

最简单的方法是在 ec2 实例上安装 postgres,然后使用 psql 命令行工具连接到 Redshift。

安装 postgres(yum 和 apt-get,为您的 Linux 类型选择合适的):

sudo apt-get install postgresql postgresql-contrib
sudo yum install postgresql postgresql-contrib

这是我的一个 bash 脚本中的一行代码。查看 psql 手册页了解所有连接选项和方法。

PGPASSWORD="$RS_password" psql -a -v ON_ERROR_STOP=1 -h "$RS_DNS" -v schema=public -p "$RS_port_no" -U "$RS_user" -d "$RS_db" -f /tmp/math_$$.SQL  ||  echo psql command 1 failed ; exit 1; 

还有一个 -c 选项可以在命令行上传递 SQL。

【讨论】:

我实际上正在考虑在气流中使用相同的方法。实际使用 java.jar 文件并在那里启动表单。如果需要,我肯定会发布更多查询。非常感谢您的反馈

以上是关于如何将 redshift 数据库连接到在 ec2 实例上运行的 bash 脚本的主要内容,如果未能解决你的问题,请参考以下文章

从 Rackspace 连接到 Redshift

如何连接到 Redshift 中的私有集群?

如何使用堡垒主机通过 SSH 连接到 Redshift

如何将aws上的ec2实例连接到我公司的***

如何将 Cloud9 (python) 连接到 VPC 中的 Redshift?

ec2 作为堡垒主机及其性能