2016-09-06 133 views
0

我試圖連接到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? 

如何修復此錯誤並在本地連接到數據庫?

回答

0

有點兒艱難,我來縮小,但我可以設置這些步驟類似的東西:

如果你有一個「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

希望有所幫助。

相關問題