Linux 如何将红移数据库连接到ec2实例上运行的bash脚本

Linux 如何将红移数据库连接到ec2实例上运行的bash脚本,linux,bash,amazon-web-services,amazon-ec2,amazon-redshift,Linux,Bash,Amazon Web Services,Amazon Ec2,Amazon Redshift,我有几个sql查询,我想对AmazonRedhshift运行它们,基本脚本将在我的ec2实例上,并从那里触发。如何提供到数据库的连接并运行一堆sql脚本?请参考最简单的方法是在ec2实例上安装postgres,然后使用psql命令行工具连接到Redshift 安装postgres(yum和apt-get,为您的Linux类型选择合适的一个): 下面是我的一个bash脚本中的一行代码。查看psql手册页,了解所有连接选项和方法 PGPASSWORD="$RS_password"

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

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

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

下面是我的一个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。

-当我在google上搜索“redshift SQL from shell”时,第一个结果实际上是我想在脚本中使用相同的方法。使用java.jar文件并在那里初始化表单。如果我需要的话,我肯定会发布更多的查询。非常感谢您的反馈
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; }