在heroku/dash中连接到本地postgresql时出现问题

在heroku/dash中连接到本地postgresql时出现问题,heroku,plotly-dash,heroku-postgres,Heroku,Plotly Dash,Heroku Postgres,我通过dash/plotly创建了一个小应用程序,并将其部署到heroku。破折号/绘声绘色的局部效果很好。heroku应用程序正确启动,但我无法从本地数据库生成任何数据 使用“heroku logs--tail”命令,我可以看到与数据库的连接被拒绝: sqlalchemy.exc.OperationalError: (psycopg2.OperationalError) could not connect to server: Connection refused Is the server

我通过dash/plotly创建了一个小应用程序,并将其部署到heroku。破折号/绘声绘色的局部效果很好。heroku应用程序正确启动,但我无法从本地数据库生成任何数据

使用“heroku logs--tail”命令,我可以看到与数据库的连接被拒绝:

sqlalchemy.exc.OperationalError: (psycopg2.OperationalError) could not connect to server: Connection refused
Is the server running on host "localhost" (127.0.0.1) and accepting
TCP/IP connections on port 5432?
该计划如下所示:

 import dash
 import dash_table
 import dash_core_components as dcc
 import dash_html_components as html
 from dash.dependencies import Output, Input, State
 import plotly.graph_objects as go
 import psycopg2
 from sqlalchemy import create_engine
 import os

app = dash.Dash(__name__)
server = app.server
DATABASE_URL = os.environ['DATABASE_URI']
db = create_engine(DATABASE_URL)

def get_data():
    df = pd.read_sql_query("SELECT * FROM mytable", con=db)
    return df.iloc[0][0] #<- just an example

app.layout = (...)

if __name__ == '__main__':
    app.run_server(debug=False)
给出错误消息后,感觉这个DATABASE_URI变量使用正确(它识别localhost/port 5432),但是我应该将这个配置变量添加到我的环境(mac OS)中吗?还是我的代码缺少一些声明?我确实在heroku中安装了postgresql插件,但我认为这在这里没有用,因为数据库是本地的

编辑:如果我使用以下命令,我会从日志中得到相同的错误(但这次应用程序甚至不会启动):

DATABASE_URL = os.environ['DATABASE_URI']
db = psycopg2.connect(DATABASE_URL, sslmode='require')

实际上,问题是:不使用heroku posgres附加组件,是否可以在heroku上使用外部本地数据库?从我的搜索结果来看,我不能。
DATABASE_URL = os.environ['DATABASE_URI']
db = psycopg2.connect(DATABASE_URL, sslmode='require')