Python 通过SQLAlchemy连接到远程Postgres服务器

Python 通过SQLAlchemy连接到远程Postgres服务器,python,postgresql,sqlalchemy,Python,Postgresql,Sqlalchemy,我试图使用SQLAlchemy向远程Postgres服务器发送一些命令,但每次都收到一个错误 请注意,我可以使用SSH用户名和密码连接到远程Postgres以登录到服务器。为此,我使用了本地终端PuTTY和WinSCP,因此问题似乎出在我编写的Python代码中 创建postgres引擎以连接到数据库 引擎=创建引擎'postgres://server_username:server_password@服务器名称:端口/数据库' 带发动机。连接为接头: ex=conn.executeSELECT

我试图使用SQLAlchemy向远程Postgres服务器发送一些命令,但每次都收到一个错误

请注意,我可以使用SSH用户名和密码连接到远程Postgres以登录到服务器。为此,我使用了本地终端PuTTY和WinSCP,因此问题似乎出在我编写的Python代码中

创建postgres引擎以连接到数据库 引擎=创建引擎'postgres://server_username:server_password@服务器名称:端口/数据库' 带发动机。连接为接头: ex=conn.executeSELECT版本; 控制室不需要关闭,但保留以防万一 printex 运行上述代码会产生以下错误:

sqlalchemy.exc.OperationalError: (psycopg2.OperationalError) SSL SYSCALL error: Connection reset by peer (0x00002746/10054)
expected authentication request from server, but received S
我还尝试添加SSL验证参数,如下所示

创建引擎的postgres://server_username:server_password@服务器名称:端口/数据库?sslmode=verify full' 它返回了错误

sqlalchemy.exc.OperationalError: (psycopg2.OperationalError) root certificate file "C:\Users\aris.pavlides\AppData\Roaming/postgresql/root.crt" does not exist
Either provide the file or change sslmode to disable server certificate verification.
在这一点上,我没有任何损失,所以我完全禁用了证书验证

创建引擎的postgres://server_username:server_password@服务器名称:端口/数据库?sslmode=disable' 它返回了初始错误消息


您对如何修改代码以使其正常工作有何想法?

SSH连接不同于Postgresql连接和SSL。您的服务器是否接受您正在使用的Postgresql端口上的连接,或者您是否计划使用SSH隧道?@IljaEverilä我假设服务器不接受Postgres端口5432上的连接,因为在我使用它时,短暂停顿后,我收到消息:sqlalchemy.exc.OperationalError:psycopg2.OperationalError无法连接到服务器:连接超时服务器是否在主机服务器上运行?服务器是否在端口5432上接受TCP/IP连接?SSH连接不同于Postgresql连接和SSL。您的服务器是否接受您正在使用的Postgresql端口上的连接,或者您是否计划使用SSH隧道?@IljaEverilä我假设服务器不接受Postgres端口5432上的连接,因为在我使用它时,暂停片刻后,我收到消息:sqlalchemy.exc.OperationalError:psycopg2.OperationalError无法连接到服务器:连接超时服务器是否在主机服务器上运行?服务器是否在端口5432上接受TCP/IP连接?