在psql命令上获取语法错误以连接到Redshift数据库

时间:2015-09-23 16:56:17

标签: python postgresql amazon-ec2 psql

我通过SSH连接到EC2机器,并尝试运行python脚本连接到Redshift数据库。

我使用的命令是

psql "host=clusterhost user=admin dbname=databasename port=1234"

我知道它有效,因为如果我将它复制并粘贴到命令行中,它就可以了。我也在shell脚本中使用了相同的命令,并且有效。所以我不确定为什么它不使用Python脚本。我是否需要添加其他内容才能使其正常工作?

这是我得到的错误输出:

File "test.py", line 3
psql "host=clusterhost user=admin dbname=databasename port=1234"
                                                               ^
SyntaxError: invalid syntax

1 个答案:

答案 0 :(得分:0)

psql command line tool不是Python命令。您需要在命令行上运行它。

您可以使用subprocess module

从 Python脚本作为子流程运行它
import subprocess

subprocess.call(('psql', 'host=clusterhost user=admin dbname=databasename port=1234'))