可以使用 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');
其他的都是一样的。