首页 > 解决方案 > 连接到 Heroku PostgreSQL 的 Python 问题 - SSL 问题

问题描述

我正在尝试通过 Python 创建与 Heroku PostgreSQL 数据库的连接。我正在使用带有 Python 3.6.8 和 PostgreSQL 9.6 的 Windows10。

我从“ http://andyfiedler.com/2016/10/connecting-to-heroku-postgres-in-python ”中获取了这段代码

import psycopg2

import subprocess

proc = subprocess.Popen('heroku config:get DATABASE_URL -a heroku_app', stdout=subprocess.PIPE, shell=True)
db_url = proc.stdout.read().decode('utf-8').strip() + '?sslmode=require'
heroku_conn = psycopg2.connect(db_url)

当我运行该代码时,我收到错误:

OperationalError:无法创建 SSL 上下文:没有这样的过程

四处搜索表明我需要使用“--with-openssl”选项安装 PostgreSQL。或者,使用 SSL 编译。

如何在 Windows10 中执行此操作?或者,有没有其他方法可以让它发挥作用?谢谢!

标签: pythonpostgresqlheroku

解决方案


PostgreSQL 的客户端库名为“libpq”,可选择支持 SSL。您需要将连接到 PostgreSQL 的程序,以便在构建程序时启用该支持。

您可以获得适用于 Windows 的官方 PostgreSQL 软件包


推荐阅读