所以,我使用Windows通过Navicat等工具连接到远程Postgres数据库。我试图使用Python(2.7)和SQLAlchemy(0.9)来实现相同的功能,但没有成功。
所以,我的Navicat设置如下:
我尝试在PuTTY中设置隧道,连接到服务器,保持连接打开并尝试使用IP和端口,但根本没有成功。由于我有这个公钥和密码,我不确定是否还有足够的内容,所以我想知道是否可以使用Python和SQLAlchemy从Windows机器连接到这个数据库(这个美丽的PuTTY应用程序也是如此,当然)以任何方式? 谢谢!
答案 0 :(得分:5)
您可以将服务器和端口传递给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')