将节点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 连接名分到上面的命令中,即可成功连接这两个服务。
我在 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 连接名分到上面的命令中,即可成功连接这两个服务。