无法连接到Heroku的postgre SQL数据库在本地
问题描述:
我试图连接到Heroku的postgre SQL数据库在本地这样,无法连接到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?
如何修复此错误并在本地连接到数据库?
答
有点儿艰难,我来缩小,但我可以设置这些步骤类似的东西:
如果你有一个“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 freeze> requirements.txt
希望有所帮助。