我有一个在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中连接一个节点项目和一个postgresqldb?!非常感谢的帮助
更新:我看了这个视频https://www.youtube.com/watch?v=cBrn5IM4mA8&ab_channel=yt上的GoogleCloudTech,它显示了你可以用套接字连接,但没有显示如何将云运行实例连接到云sql,以便创建套接字。。。
您可以按照Node.js的代码示例,并在适当的变量(用户、密码等(中使用sub,以允许您的Cloud Run实例通过Unix套接字连接到您的Cloud SQL实例。然后通过运行更新您的云运行服务
gcloud run services update SERVICE_NAME
--add-cloudsql-instances=INSTANCE_CONNECTION_NAME
将您的Cloud Run服务名称和Cloud SQL连接名称代入上面的命令中,即可成功连接这两个服务。