【问题标题】:connect node js to postgresql (google cloud platform)将节点js连接到postgresql(谷歌云平台)
【发布时间】:2022-01-10 12:28:16
【问题描述】:

我有一个在 gcp(云运行)中运行的 node.js 项目和一个 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 以便创建套接字...

【问题讨论】:

  • 您从哪里连接? GCP 不是产品,所以请更具体
  • 我的节点服务在云端运行
  • 您是否已经查看过文档? cloud.google.com/sql/docs/postgres/connect-run
  • 如果以上评论对您有帮助,请告诉我们。
  • 嗯,是的,我在提出问题之前已经看过这些文档,我觉得出于某种原因它们对我来说太复杂了,当我阅读它们时我可能已经筋疲力尽了,但基本上我只是没有不知道在哪些资源上添加哪些规则?例如,查看了该服务,那里的搜索中没有“cloudsql”角色...

标签: node.js postgresql google-cloud-platform database-connection


【解决方案1】:

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

gcloud run services update SERVICE_NAME \
--add-cloudsql-instances=INSTANCE_CONNECTION_NAME

将您的 Cloud Run 服务名称和 Cloud SQL 连接名称输入到上面的命令中以成功连接这两个服务。

【讨论】:

  • 谢谢!我错过了这个命令
猜你喜欢
  • 2020-12-27
  • 2021-01-25
  • 1970-01-01
  • 1970-01-01
  • 2019-11-30
  • 2015-08-17
  • 2017-04-11
  • 2021-10-05
  • 2020-06-02
相关资源
最近更新 更多