【问题标题】:Getting syntax error on psql command to connect to a Redshift database在 psql 命令上出现语法错误以连接到 Redshift 数据库
【发布时间】:2015-12-21 02:35:21
【问题描述】:

我通过 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

【问题讨论】:

  • 为什么你认为它可以在 Python 脚本中工作?这不是 Python 代码。
  • 您实际上想在脚本中做什么?

标签: python postgresql amazon-ec2 psql


【解决方案1】:

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

您可以使用subprocess module:

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

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

【讨论】:

    猜你喜欢
    • 2020-08-05
    • 1970-01-01
    • 2013-11-19
    • 2014-10-18
    • 2020-08-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多