如何使应用程序在另一台机器上工作



我使用Java创建了一个应用程序,该应用程序使用PostgreSQL数据库存储数据。

然而,在我完成了应用程序的抛光并将其编译成一个罐子之后;上传到我朋友的测试环境,它不再工作了!

我该如何解决这个问题?

第页。S.:对不起,我的英语不好

如果我正确理解您的问题,那么您已经开发了一个应用程序,并希望与多个用户共享该应用程序。您的应用程序连接到PostgreSQL数据库,但由于用户没有数据库,他们在执行应用程序时会出错。

要解决上述问题,您需要确定每个用户是否需要自己的数据库——在这种情况下,使用PostgreSQL安装是使用应用程序的先决条件。

如果是这种情况,我建议编写一些SQL脚本来设置数据库,并向用户提供一个自述文件,解释如何执行脚本,而不是将安装程序捆绑到应用程序中。

如果您的用户共享数据库,请通过互联网/网络或使用Heroku、亚马逊AWS RDS服务或EnterpriseDB的云服务(基于亚马逊AWS)等服务进行安装。

如果你能提供更多关于你使用哪个选项的细节,我相信你会得到更具体的帮助。如果没有,希望上面的一般建议会有所帮助。

如何连接到未对互联网开放的Postgres数据库:

确保您的postresdb侦听localhost。它可能已经做到了,但仍然:

查看内部

/etc/postgresql/9.1/main/postgresql.conf

对于线路

listen_addresses='localhost'

你想要的下一个文件是

/etc/postgresql/9.1/main/pg_hba.conf

寻找线路

local    all    all    trust

这允许访问localhost上所有数据库上的所有用户角色。

现在,你需要打开一条从应用程序所在地到数据库服务器的隧道。假设您的数据库监听默认端口5432,则执行

ssh -v -L 5432:127.0.0.1:5432 your_user@your_db_server

如果运行Windows,请在cygwin中执行此操作,或在Putty中执行相应操作。

现在,您的应用程序可以连接到localhost:5432上的数据库,即

jdbc:postgresql://localhost:5432/your_db

希望这能有所帮助。

相关内容

最新更新