Yon*_*aor 5 postgresql google-app-engine elixir google-cloud-sql
我想在谷歌应用程序引擎灵活的环境中运行一个elixir应用程序.
我还有一个在谷歌云SQL上运行的postgresql服务器.
我能够在docker容器中部署应用程序.问题是我找不到如何配置与postgresql服务器的连接.
据我所知,应用程序引擎实例运行云SQL代理但我在实例中不断收到以下错误:[错误] Postgrex.Protocol(#PID <0.232.0>)无法连接:**(DBConnection.ConnectionError )tcp connect(localhost:5432):连接被拒绝 - :econnrefused
我在使用 phoenix/elixir 应用程序时遇到了同样的错误,我试图将其从容器引擎移出并进入应用程序引擎灵活的环境,只是无法弄清楚使用什么作为主机名。
在我的应用程序引擎中的 php 应用程序中,我只能使用:/cloudsql/projectname:region:dbname相同的数据库,但它似乎不适用于 elixir
我还尝试直接使用云sql实例的IP地址,但这也不起作用。
在我的 app.yaml 中我有
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
Run Code Online (Sandbox Code Playgroud)
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
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
673 次 |
| 最近记录: |