这是我的场景。我已经设置了一个在 Google SQL 云中运行的 Postgres DB 实例。它已启动并正在运行,如果我将本地 IP 列入白名单,我可以直接连接而不会出现问题。
然后我部署了一个 docker 容器(postGrest),它是一个连接到 postgres 数据库的 Web 服务器。当我在 Google Cloud Run 上配置它时,它确实有一个下拉选项,我可以在其中指定数据库连接,它说,在幕后,它为此连接配置 Cloud SQL 代理。
容器允许传入环境变量以指定哪个服务器等。一个必需的参数是 postgred 实例的 DB_URI。在本地运行时,它看起来像这样:
postgres://authenticator:mysecretpassword@localhost:5432/testdb
当我尝试在云版本上配置它时,我尝试使用 IP 127.0.0.1(谷歌云 SQL 代理文档说这是您通过代理连接的方式)。这没有用。
然后我尝试使用分配给 postgres 数据库的公共 IP ......这也不起作用。
有谁知道如何使用这种 DB_URI 格式指定正确的连接字符串?