数据库
首页 > 数据库> > 使用带有公钥和密码的SSH隧道连接到SQLAlchemy的远程PostgreSQL数据库,所有这些都来自Windows机器

使用带有公钥和密码的SSH隧道连接到SQLAlchemy的远程PostgreSQL数据库,所有这些都来自Windows机器

作者:互联网

所以,我使用Windows通过Navicat等工具连接到远程Postgres数据库.我试图使用Python(2.7)和SQLAlchemy(0.9)来实现相同的功能,但没有成功.

所以,我的Navicat设置如下所示:

我尝试在PuTTY中设置隧道,连接到服务器,保持连接打开并尝试使用IP和端口,但根本没有成功.因为我有这个公钥和密码,所以我不确定是否已经足够了,所以我想知道是否有可能以任何方式使用Python和SQLAlchemy(当然还有这个漂亮的PuTTY应用程序)从Windows机器连接到这个数据库?
谢谢!

解决方法:

您可以将服务器和端口传递给create_engine()语句,ala:

create_engine('postgres://username:password@server:port/database')

http://docs.sqlalchemy.org/en/rel_0_9/dialects/postgresql.html

因此,假设您已首先建立到远程主机的SSH隧道,并将端口转发本地端口1111到远程服务器的端口5432(这是默认的postgres端口),您的连接字符串将类似于:

create_engine('postgres://username:password@localhost:1111/database')

标签:python,postgresql,sqlalchemy,ssh,ssh-tunnel
来源: https://codeday.me/bug/20190830/1769209.html