我在一个共享的bluehost设备上运行。奇怪的是我的网站在网上运行得很好。我可以把django/admin/site打开。但是,我不能运行manage.py migrate
,也不能通过manage.py shell
对数据库进行任何查询。以下是我得到的错误:
File "/home2/univetg1/python3/lib/python3.5/site-packages/django/db/backends/postgresql_psycopg2/base.py", line 172, in get_new_connection
connection = Database.connect(**conn_params)
File "/home2/univetg1/python3/lib/python3.5/site-packages/psycopg2/__init__.py", line 164, in connect
conn = _connect(dsn, connection_factory=connection_factory, async=async)
django.db.utils.OperationalError: could not connect to server: No such file or directory
Is the server running locally and accepting
connections on Unix domain socket "/tmp/.s.PGSQL.5432"?
以下是我在中的数据库设置设置.py公司名称:
^{pr2}$这很奇怪,因为我一直没有和我的设置.py文件什么的,直到现在一切都很好。在
如果出现以下错误:
则服务器是:
unix_socket_directories
路径,因此它不会监听/tmp
中的套接字我们知道服务器正在运行,因为您的Django站点正在工作。所以这可能是连接信息的问题。假设Django实际使用
settings.py
中的数据,那么它也必须位于端口5432上。在所以我的猜测是它使用了不同的
unix_socket_directories
。可能您在运行时在交互式控制台上链接到的libpq
与运行服务时链接到的不同。在您可以通过将主机指定为
localhost
来尝试通过TCP/IP进行连接。否则,请检查unix_socket_directories
在postgresql.conf
中设置了什么,并将其设置为您的HOST
。在您可能受到可以连接到DB的连接数的限制,或者在conf中增加这个值,或者终止一些现有的连接。在
我的另一个猜测是,您使用的django设置类型与您在生产流程中使用的类型不同。所以你应该检查你使用的是什么设置文件(它是指定的还是在ENV中)。在
相关问题 更多 >
编程相关推荐