无法从谷歌应用程序引擎上的NestJS项目访问谷歌云SQL上的PostgreSQL

无法从谷歌应用程序引擎上的NestJS项目访问谷歌云SQL上的PostgreSQL,postgresql,google-app-engine,nestjs,typeorm,Postgresql,Google App Engine,Nestjs,Typeorm,这是我关于堆栈溢出的第一个问题,所以当我的信息不足时请原谅 问题 我正在努力从Google App Engine上的NestJS连接CloudSQL上的PostgreSQL。 当我尝试在本地环境中使用该应用程序时,该程序可以工作,但当它在Google App Engine中进行生产时,它就不工作了 因为我挣扎了好几天,所以我决定在这里询问一个很棒的社区 我的环境 Node.js:v10.19.0 NestJS:6.10.5 打字 PostgreSQL:11.5.1 我的app.yaml 其他

这是我关于堆栈溢出的第一个问题,所以当我的信息不足时请原谅

问题 我正在努力从Google App Engine上的NestJS连接CloudSQL上的PostgreSQL。 当我尝试在本地环境中使用该应用程序时,该程序可以工作,但当它在Google App Engine中进行生产时,它就不工作了

因为我挣扎了好几天,所以我决定在这里询问一个很棒的社区

我的环境
  • Node.js:v10.19.0
  • NestJS:6.10.5
  • 打字
  • PostgreSQL:11.5.1
我的app.yaml 其他业务 GAE服务帐户 此外,我还将云SQL客户端授权添加到了我的GAE服务帐户(类似于此服务项目)_ID@gae-api-prod.google.com.iam.gserviceaccount.com)

我还添加了package.json,如下所示:

  "engines": {
    "node": "10.x.x"
  },
在typeorm选项中,我添加了额外的socketpath

extra: {
   socketPath: `/cloudsql/<INSTANCE_CONNECTION_NAME>/`,
            },
额外:{
socketPath:`/cloudsql/`,
},
我不明白是否应该设置此选项(我已经尝试了这两种方法)。
socketPath:`/cloudsql//.s.PGSQL.5432
或
socketPath:`/cloudsql/

根据GitHub中提供的示例

INSTANCE_CONNECTION_NAME环境变量不包括数据库名称作为参数

e、 g.我最棒的项目:us-central1:我的云sql实例
这可能导致代理无法解析实例的名称

根据GitHub中提供的示例

INSTANCE_CONNECTION_NAME环境变量不包括数据库名称作为参数

e、 g.我最棒的项目:us-central1:我的云sql实例
这可能导致代理无法解析实例的名称

为什么需要数据库\u主机:。您可以发布用于连接sql实例的代码吗?为什么需要数据库\u主机:。您可以发布您用于连接sql实例的代码吗?亲爱的Mario san,我已尝试按照您提到的方式连接数据库(不需要数据库名称),并且可以成功连接。亲爱的Mario san,我已尝试按照您提到的方式连接数据库(不需要数据库名称),并且可以成功连接。
  "engines": {
    "node": "10.x.x"
  },
extra: {
   socketPath: `/cloudsql/<INSTANCE_CONNECTION_NAME>/`,
            },
socketPath: `/cloudsql/<INSTANCE_CONNECTION_NAME>/.s.PGSQL.5432

or 

socketPath: `/cloudsql/<INSTANCE_CONNECTION_NAME>