将节点js连接到postgresql(google云平台)

connect node js to postgresql (google cloud platform)

我在 gcp(云 运行)中有一个 node.js 项目 运行ning 和一个 postgresql 数据库, 当 运行 在本地连接 node.js 项目时,我设法建立了连接 当 运行在 gcp 上使用它时,它不会创建我的池,我无法查询东西

这是我创建池的节点代码

  try {
    pool = new Pool({
      user: "postgres",
      host: "local_ip or public_ip i tried both",
      database: "postgres",
      password: "enter_password",
      port: "5432"
    });
  }
  catch (err) {
    console.log("Failed to start pool", err)
  }

为了能够让连接在我的本地机器上工作,我必须将我的 ip 添加到 gcp 上的 postgresql 的连接部分 我尝试添加

的结果
nslookup my-node.server-url

但它没有用,然后我尝试添加一个内部 ip 并使用它,但它也失败了,你如何在 gcp 中将节点项目与 postgresql db 连接?! 非常感谢您的帮助

更新:我在 yt 上观看了这个视频 https://www.youtube.com/watch?v=cBrn5IM4mA8&ab_channel=GoogleCloudTech,它显示您可以连接套接字,但没有显示如何将云 运行 实例连接到云 sql 以便创建套接字...

您可以按照 Node.js 的代码示例 here 并在适当的变量(用户、密码等)中进行子操作,以允许您的 Cloud 运行 实例连接到您的通过 Unix 套接字的云 SQL 实例。然后通过 运行:

更新您的 Cloud 运行 服务
gcloud run services update SERVICE_NAME \
--add-cloudsql-instances=INSTANCE_CONNECTION_NAME

将你的Cloud 运行 服务名和Cloud SQL 连接名分到上面的命令中,即可成功连接这两个服务。