如何设置我的网络应用程序数据库以在另一台机器上使用 postgres 数据库?

How to set up my web app database to use a postgres db in another machine?

所以我在我的网络应用程序中使用带有 next.js 的 prisma,我需要为我的 postgres 数据库提供一个数据库 url。但是,我想要访问的数据库位于另一台我必须使用 ssh 隧道的机器上。对不起,如果我到处都是,我对此还是陌生的,而且我还在学习。下面是我需要修改的。

DATABASE_URL='postgresql://<user>:<pass>@<db-host>:<db-port>/<db-name>'

有人愿意help/explain吗?谢谢。

首先,您需要创建隧道。您可以找到许多指导您如何操作的指南,但作为示例,我将以一种方式粘贴:

ssh -L 5432:DBHOST:5432 USER@PROXY -N

DBHOST 替换为数据库机器 name/address,将 USER 替换为 ssh 用户,并将 PROXY 替换为隧道连接机器的 name/address .

可以使用 AutoSSH 等工具以更稳健的方式处理隧道。

隧道启动后,在您发布的数据库 url 中将 <db-host> 替换为 localhost,将 <db-port> 替换为 5432