【问题标题】:How to connect PostgreSQL database to Google Cloud Compute Engine?如何将 PostgreSQL 数据库连接到 Google Cloud Compute Engine?
【发布时间】:2019-09-04 10:20:32
【问题描述】:

我正在尝试通过 psycopg2 将我的 Cloud SQL PostgreSQL 数据库连接到我的 Compute Engine 实例。我的连接字符串如下:

con = psycopg2.connect(
                dbname=config('DATABASE'),
                user=config('USER'),
                password=config('PASSWORD'),
                host=config('HOST'),
                port=config('PORT')
            )

使用端口 5432 和 postgresql 数据库的公共 IP 地址。数据库、用户和密码都正确。 当我通过计算实例运行此代码时,出现以下错误

Traceback (most recent call last):
  File "main.py", line 16, in <module>
    bot.add_cog(Profile(bot))
  File "/home/username/appname/Profile.py", line 22, in __init__
    port=config('PORT')
  File "/home/username/.local/lib/python3.7/site- 
packages/psycopg2/__init__.py", line 126, in connect
    conn = _connect(dsn, connection_factory=connection_factory, **kwasync)
psycopg2.OperationalError: FATAL:  password authentication failed for user 
"mygcloudusername"
FATAL:  password authentication failed for user "mygcloudusername"

由于某种原因,它似乎试图通过我的 gcloud 用户名作为用户进行连接,即使在连接字符串中指定了正确的用户。我在这里哪里出错了?如何正确连接?

【问题讨论】:

  • Postgres 是否部署在 Cloud SQL 上?如果没有,在哪里托管?

标签: linux postgresql google-cloud-platform psycopg2 gcloud


【解决方案1】:

您能否验证 CloudSQL API 是否已启用[1]? 作为信息,这里是文档[2],用于使用推荐的配置和设置创建 PostgreSQL 实例。

我还推荐有关“从外部应用程序连接到 CloudSQL”的文档 [3]。这是一个用python编写的代码示例[4]

【讨论】:

    猜你喜欢
    • 2018-08-15
    • 2020-05-08
    • 2021-05-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-01
    • 2023-03-30
    • 2020-12-25
    相关资源
    最近更新 更多