3

我们正在实施一个大学项目:Java 中的拼车服务。

我们需要解决一个与“如何管理 postgres 服务器”相关的问题:PostgreSQL 数据库配置在名为“golem”(130.136.4.sth)的实验室服务器中,只能通过同一子网(130.136.4.0)中的终端访问。我们有四个帐户(我们的),通过我们可以建立到主机的 ssh 连接。

是否可以通过 SSH 对 JAVA 中的 Postgres DB 进行 SQL 查询?

谢谢 :) 戴维德

4

3 回答 3

4

如果这只是为了开发,你可以使用 ssh 端口转发来访问数据库,就像它是本地安装的一样。如何启用端口转发取决于您使用的客户端软件,例如 openssh 有一个命令行开关(-L):

ssh user@host -L localport:remotehost:remoteport

此命令将使remoteporton remotehost(尽管只能通过访问)在您的计算机上host可用。localport

于 2012-06-12T18:29:50.610 回答
2

看看其他建议的答案,因为它们似乎更容易完成您的需求。

但是,如果您真的需要为您的实验室作业使用 Java 实现命令提交,您可以查看此处的 JSch(Java 安全通道)库:http ://www.jcraft.com/jsch/示例在此处http://www.jcraft.com/jsch/examples/

有了它,您可以提交 ssh 命令并通过 Java API 执行任何类型的操作

于 2012-06-12T18:39:48.450 回答
1

如果您运行“ssh”,然后运行该命令在远程主机上执行的任何命令。因此,您应该能够通过 ssh 以批处理模式运行预烘焙查询。

考虑进行密钥生成和密钥交换以启用无密码 ssh 执行。

示例(这只是将目录列表转储到您的终端):

ssh me@mybox ls
于 2012-06-12T18:26:29.280 回答