我在Django中有一个网络应用程序,该应用程序使用Postgres数据库。一切都与预期的连接良好,应用程序运行正常。
该应用程序的一项功能是允许用户连接到他们自己的 Postgres数据库并从中查询数据。要求是用户提供其凭据,应用程序必须连接并查询某些数据。
使用 psycopg2 作为Postgres驱动程序,此功能可以在本地正常工作,并且已通过多个外部Postgres数据库(即该应用程序使用的数据库除外)进行了测试。查询结果将在1-5秒内返回。
但是,当部署在Heroku上并使用相同的数据库进行测试时,连接将永远不会建立并且请求会超时。
我尝试使用Celery和后台进程,但仍然无法建立连接。
创建此连接和查询数据库需要什么?除了 psycopg2 ,我还需要在Heroku上安装其他库吗?
创建连接的代码如下,然后再次在本地完全正常工作:
cnx = psycopg2.connect(host=request_body['hostname'],
database=request_body['dbname'],
user=request_body['username'],
password=request_body['password'],
port=request_body['port'])
请告知。谢谢!