【发布时间】:2014-12-12 01:34:54
【问题描述】:
可以使用 postgres_fdw 通过 ssh 隧道连接吗?
数据库只能从数据库服务器访问,我需要从另一个远程服务器加入。数据库服务器使用 SSH 密钥登录。
如果可以,请问怎么做?
【问题讨论】:
-
你能解决这个问题吗?
-
很遗憾没有。
可以使用 postgres_fdw 通过 ssh 隧道连接吗?
数据库只能从数据库服务器访问,我需要从另一个远程服务器加入。数据库服务器使用 SSH 密钥登录。
如果可以,请问怎么做?
【问题讨论】:
是的,这是可能的。我为 mysql_fdw 解决了这样的问题;
我使用 autossh 进行端口转发。使用 autossh,您可以始终保持连接。
在 Postgres 服务器上运行命令:
autossh -L 127.0.0.1:3306:mysql_ip:3306 root@mysql_ip -N -i .ssh/id_rsa.mysql
测试从 Postgres 到 Mysql 的 autossh 访问。
在 Postgres 服务器上运行命令;
mysql --host=127.0.0.1 --port=3306 -u mysqldbuser -p
最后不同的部分是;
CREATE SERVER mysql_server FOREIGN DATA WRAPPER mysql_fdw OPTIONS (host '127.0.0.1', port '3306');
其他的都一样。
【讨论】: