【发布时间】:2015-12-23 12:28:37
【问题描述】:
我正在尝试在 heroku 服务器上部署我的 django 应用程序,我按照该网站 https://devcenter.heroku.com/articles/getting-started-with-python#introduction 的说明进行操作。它运行良好,直到“heroku open”命令。当我来到需要托管我的数据库的部分时使用“heroku run python manage.py syncdb”命令,它无法显示消息“OperationalError:无法连接到服务器:连接被拒绝 服务器是否在主机“localhost”(127.0.0.1)上运行并接受 端口 5432 上的 TCP/IP 连接?”。我尝试了很多修复,包括此处建议的修复 Deploying Django app's local postgres database to heroku? 和 http://www.cyberciti.biz/tips/postgres-allow-remote-access-tcp-connection.html。我尝试了所有解决方案,包括编辑“listen_address”='*' 和 tcpip_socket='true' postgresql.conf 并将 pg_hba.conf 中的 ipv4 和 v6 值编辑为 托管所有所有 127.0.0.1 255.255.0.1 信任 托管所有 10.0.0.99/32 md5 托管所有所有 0.0.0.0/0 .
但是它们都不起作用。我猜是因为 heroku 无法连接到我的本地 postgres 服务器。这很奇怪,因为我可以通过 pgadmin 访问 postgres 服务器。
而且在 django settings.py 中也是这样的
数据库 = { '默认': { '引擎': 'django.db.backends.postgresql_psycopg2', 'NAME': 'django_test', '用户':'postgres', '密码': '******', 'HOST': 'localhost', # 或者你的数据库所在的 IP 地址 '端口':'5432', } } 我需要改变这个并使用heroku的数据库设置吗??
【问题讨论】:
-
所以 postgres 服务器位于 heroku 服务器上,对吗?
-
我的本地系统上没有
-
但是如果我给我在heroku上创建的postgres db的服务器url(以“postgres//xxxxxxxxxxxxxx”开头,它说不能翻译地址
标签: django postgresql heroku django-database django-deployment