我正在用 Go 构建一个应用程序,并使用 Google App Engine 进行部署。
我已经在 Google Cloud 上设置了一个 PostgreSQL 实例,启用了 API,并使用本地计算机上的 SQL 代理(从本地 PSequel 客户端和我的应用程序)成功连接到它。
gcloud app deploy但是,当我这样做时,我收到此错误:
ERROR: (gcloud.app.deploy) Error Response: [9]
Application startup error:
panic: dial unix /cloudsql/sapling:europe-west1:sapling/.s.PGSQL.5432: connect: no such file or directory
我尝试将 Postgres 实例从版本 11 Beta 降级到 9.6。还尝试过使用这个驱动程序https://github.com/broady/gae-postgres,这看起来很有希望,但我无法在 Flex 环境中工作。
应用程序.yaml
runtime: go
#Here we select the AppEngine Flex environment which performs a lot of the backend preparation for us including the ability to scale give the demand
env: flex
env_variables:
POSTGRES_CONNECTION: "user=postgres password=thisisntmypwd dbname=postgres host=/cloudsql/sapling:europe-west1:sapling"
manual_scaling:
instances: 1
#Select resource size
resources:
cpu: 1
memory_gb: 0.5
disk_size_gb: 10
beta_settings:
cloud_sql_instances: sapling:europe-west1:sapling=tcp:5432
配置/db.go
package config
import (
"database/sql"
"fmt"
_ "github.com/lib/pq"
"os"
)
var Db *sql.DB
//Set up connection to the database
func init() {
var err error
datastoreName := os.Getenv("POSTGRES_CONNECTION")
Db, err = sql.Open(
"postgres",
datastoreName,
)
if err != nil {
panic(err)
}
err = Db.Ping()
if err != nil {
panic(err)
}
fmt.Println("Connected to database")
}
婷婷同学_
相关分类