如何将 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 脚本的主要内容,如果未能解决你的问题,请参考以下文章