从应用引擎实例连接到 Google Cloud SQL



我想在Google App Engine灵活环境中运行一个灵丹妙药应用程序。

我还有一个在谷歌云SQL上运行的postgresql服务器。

我能够在 docker 容器内部署应用程序。问题是我找不到如何配置与 postgresql 服务器的连接。

据我了解,应用程序引擎实例运行云SQL代理,但我在实例中不断收到以下错误:[错误]Postgrex.Protocol (#PID<0.232.0>( 连接失败: ** (DBConnection.ConnectionError( TCP connect (localhost:5432(: 连接被拒绝 - :econndeny

我在使用凤凰/灵药应用程序时遇到了同样的错误,我正在尝试从容器引擎转移到应用程序引擎灵活环境中,只是无法弄清楚使用什么作为主机名。

在应用程序引擎中的PHP应用程序中,我可以将:/cloudsql/projectname:region:dbname用于同一数据库,但是对于Elixir 来说似乎并非如此

我还尝试直接使用云 sql 实例的 IP 地址,但这也不起作用。

在我的应用程序中,我有

env_variables:
  MIX_ENV: staging
  port: 8080
  DB_ENV_POSTGRES_HOST: :/cloudsql/projectname:region:dbame
  DB_ENV_POSTGRES_USER: userman
  DB_ENV_POSTGRES_PASSWORD: password

conf/staging.exs我有

config :guidebooks_api, GuidebooksApi.Repo,
  adapter: Ecto.Adapters.Postgres,
  username: System.get_env("DB_ENV_POSTGRES_USER") || "postgres",
  password: System.get_env("DB_ENV_POSTGRES_PASSWORD") || "postgres",
  hostname: System.get_env("DB_ENV_POSTGRES_HOST") || "localhost",
  database: "databasename",
  pool_size: 10,
  types: GuidebooksApi.PostgresTypes

相关内容

  • 没有找到相关文章

最新更新