是否可以使用postgres_fdw通过ssh隧道进行连接?
数据库只能从数据库服务器访问,我需要从另一个远程服务器加入。DB服务器使用SSH密钥登录。
如果可能的话,请怎么办?
是有可能的。我为mysql_fdw解决了这个问题;
我使用autosh进行端口转发。使用autosh,您可以随时保持连接。
在Postgres服务器上运行命令:
autossh -L 127.0.0.1:3306:mysql_ip:3306 root@mysql_ip -N -i .ssh/id_rsa.mysql
测试Postgres对Mysql的自动sh访问。
在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');
其他事情都是一样的。