【问题标题】:Is there a way to connect to a Cloud SQL instance using psql and run a command?有没有办法使用 psql 连接到 Cloud SQL 实例并运行命令?
【发布时间】:2018-09-06 16:09:52
【问题描述】:

用于访问 Cloud SQL 实例的 psql 实用程序的工作方式似乎与原始 PostgreSQL psql 客户端不同。

我不确定,但似乎只能使用 psql 连接到实例。我无法找到可用于 Cloud SQL 的所有 psql 参数,所以我想知道是否可以在 CLI 中运行类似:

psql "sslmode=disable dbname=postgres user=postgres hostaddr=[INSTANCE_IP] command=[COMMAND]"。

这将帮助我自动运行一些脚本。有人可以确认这是否可以做到吗?

【问题讨论】:

    标签: google-cloud-platform psql google-cloud-sql


    【解决方案1】:

    是的,您可以连接using SSLwithout encryption

    【讨论】:

    • 是的,我可以使用 psql 进行连接,但是我无法使用 -c 参数进行连接和运行命令,所以我想知道是否可以使用 Cloud SQL 进行连接。
    • 对不起,我误解了你的询问,是的,你可以这样做psql "sslmode=disable dbname=postgres user=postgres hostaddr=[INSTANCE_IP]" -c '\x' -c 'SELECT * FROM pg_catalog.pg_tables;'
    • 我尝试了您显示的方式,但是 psql 忽略了引号后的参数,然后我尝试删除 conninfo 字符串并且能够连接它。 sslmode 参数不能以这种方式指定,但它认为无论如何它都会尝试使用 SSL 证书。我不确定这会带来什么安全隐患。
    • 我所做的步骤是:创建一个新的 PostgreSQL 实例,将authorization 设置为 0.0.0.0/0 用于测试目的,执行上述命令,我从查询中得到信息,没有问题。从 Google Cloud Shell 中尝试过也很成功。
    猜你喜欢
    • 2015-12-25
    • 1970-01-01
    • 1970-01-01
    • 2019-10-28
    • 2011-09-07
    • 1970-01-01
    • 2021-08-01
    • 2018-07-08
    • 2021-05-06
    相关资源
    最近更新 更多