繁体   English   中英

无法在本地连接到Heroku Postgre SQL数据库

[英]Unable to connect to Heroku postgre SQL database locally

我正在尝试像这样在本地连接到Heroku postgre SQL数据库,

from flask import Flask
import sys
import psycopg2
import urlparse

urlparse.uses_netloc.append("postgres")
url = urlparse.urlparse("postgres://url")

conn = psycopg2.connect(
    database=url.path[1:],
    user=url.username,
    password=url.password,
    host=url.hostname,
    port=url.port
)

但是经过长时间的停顿之后,我收到以下错误消息,

psycopg2.OperationalError: could not connect to server: Connection timed out
    Is the server running on host "URL" (IP) and accepting
    TCP/IP connections on port 5432?

如何解决此错误并在本地连接数据库?

Kinda很难让我缩小范围,但是我可以通过以下步骤设置类似的内容:

如果您有一个“ server.py”,请确保将其放在文件顶部:

from dotenv import load_dotenv, find_dotenv
import os

load_dotenv(find_dotenv())
db = pg.DB(
  dbname=os.environ.get('DBNAME'),
  host=os.environ.get('DBHOST'),
  port=int(os.environ.get('DBPORT')),
  user=os.environ.get('DBUSER'),
  passwd=os.environ.get('DBPASSWORD')
)

将以下内容转储到Procfile中(完全像这样拼写Procfile)

web: gunicorn -b 0.0.0.0:$PORT -w 4 server:app

最后,您需要一个requirements.txt文件,其中列出了您已安装的所有Python模块。 您可以使用以下命令执行此操作:pip Frozen> requirements.txt

希望能有所帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM